Jump to content
  • 0

U-boot.elf For Zybo Zynq





I tried to compile u-boot.elf with the instructions provided in the ZYBO-Embedded_Linux_Hands-on_Tutorial.pdf but without success.  Some system setups are missing.  I think some information are not updated ....


Therefore, if it is possible, I would like to know if you can provide me the u-boot.elf compiled for the Zynq Zybo eval board.


Thank you

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

Upon inspecting the Vivado 2014.4's output log after generating Bitstream  . . .



Processing options...
Creating bitmap...
Creating bitstream...
Writing bitstream ./system_wrapper.bit...
INFO: [Vivado 12-1842] Bitgen Completed Successfully.




Which correlates to zybo_base_system/source/vivado/hw/zybo_bsd/zybo_bsd.sdk/system_wrapper_hw_platform_0/system_wrapper.bit


Apparently, system.bit has been updated to system_wrapper.bit in Vivado 2014.4

Link to comment
Share on other sites



I would recommend that you make your own u-boot because otherwise you will not learn anything new about embedded linux. On the other hand you are right, there is some information missing and apparently the pdf is not up to date. A similar topic has been opened on this forum, which contains a more detailed description of the problem.



Apparently the tutorial on indestructibles is being updated, as far as I understand. in order to simplify you search, two of the most common issues are:


1) There is no zynq_zybo_config in u-boot

Sol: When you download u-boot from Digilentinc git you must use the master-next branch 


2) Although you have the master-next version of u-boot you still can't find zynq_ZYBO_config

Sol: you have to use lower case when you write zybo, the correct name is zynq_zybo_config


As a general notice, when you are attempting to configure u-boot for a specific board, in this case Zybo, you can search in u-boot_folder/include/configs for a header file which must have the same name as the configuration file you are trying to make; in this case you are configuring zynq_zybo_config therefor there must be a zynq_zybo.h.


If you are encountering other issues which are not mentioned in the tutorial on indestructible, other then the ones mentioned in the forum link which I have provided or other then the ones I mentioned, please provide a detailed description of the problem you encounter.The less vague you are the more specific help you are likely to get ... and people will be more inclined to help.

Link to comment
Share on other sites



Thank you for this detailed answer.  You're right about it is better to compile the uboot by myself. 


I have an another question.   When I send the command "make CROSS_COMPILE=arm-xilinx-linux-gnueabi- ", I see this error message:


make CROSS_COMPILE=arm-xilinx-linux-gnueabi-
Generating include/autoconf.mk
include/common.h:21:20: fatal error: config.h: No such file or directory
 #include <config.h>
My system environment is windows, and I use cygwin with make. Do I need to include CPATH variables in my windows environment variables ?  If yes, which variables do I need ? I have tried to add the include folder in the CPATH, but after config.h is found by the compiler, there are new missing files. Maybe it should be better to use a VM with linux ?
Thank you
Link to comment
Share on other sites

Yeah.... well I've never used cygwin so I can't help you with this. I'm using a VM for the u-boot and kernel files and the making of the devicetree while using Vivado or EDK in Windows, seams easier for me. The other alternative was to implement a dual boot on my PC and work in Linux only... not particularly keen on this.


Regarding the CROSS_COMPILE, I use the generic arm compiler and it seams to be working well.... CROSS_COMPILE=arm-linux-gnueabi- . This dose not require me to install SDK or Vivado on my VM.


I can't remember seeing that particular error before. Did you configure the u-boot before you try to build it? (I presume you did, but better safe then sorry)

Link to comment
Share on other sites

One thing to consider is whether you need u-boot at all. It does not add much value compared to what the first stage boot loader does.


For example, you can boot Linux without using u-boot:



We took that route because it reduces the number of board-specific binaries we need to maintain.

Link to comment
Share on other sites

Adding clearification . . .


Using "git clone https://github.com/DigilentInc/u-boot-Digilent-Dev.git" and performing "make CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zybo_config" provided the following falure:
make: *** No rule to make target `zynq_zybo_config'.  Stop.
make: *** [zynq_zybo_config] Error 1


However, using "git clone -b master-next https://github.com/DigilentInc/u-boot-Digilent-Dev.git" and perfoming "make CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zybo_config" was successful.

Link to comment
Share on other sites

Using Xilinx Software Development Kit Release Version: 2014.4, attempting to create Zynq Boot Image, but where is system.bit?


Following the tutorial: "Click Add to add the system.bit file found at /zybo_base_system/source/vivado/hw/zybo_bsd/zybo_bsd.sdk/SDK/SDK_Export/hw_platform_0/"


I am unable to locate system.bit.  Please see search of my working directory ( ie myStuff/Xilinx/digilent_zybo_tutorial/working/zybo_base_system/ )


$ find . -name "system.bit"


The closest I could find,  was the following . . . .


zybo_base_system/source/vivado/hw/zybo_bsd/zybo_bsd.sdk/system_wrapper_hw_platform_0 $ ls -1

Assistance please ? ? ?

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...