Hello ...When i try to build the 'u-boot.img' i get always the error message '../u-boot-04.06.00.03/am335x/tools/mkimage: cannot execute binary file' and the file 'u-boot.img' will not build.Did someone knows what's happen here?I start the 'u-boot' make in 'Ubuntu 10.4 LT' in a VMWare ....
Hi,
2388.mkimage.txt
Can you attach the log ?
I have attached the mkimage tool rename it to mkimage and try replacing this.
Thx,
--Prabhakar Lad
Martin,
Did you source the environment-setup script before doing the make. You should not do that. If your prompt says linux-devkit then you have sourced the script and should open a new terminal window to do this build.
Chase
Hi Martin,
If you add all your variables in a file/script then you have to source the file
$ source script.sh
Mostly environment variables we place in ~/.bashrc file, which will automatically exported while restarting the terminal/shell.
Regards
AnilKumar
Please mark this Forum post as answered via the Verify Answer button below if it helps answer your question. Thanks!
Thx for your answer.
When i try your 'mkimage' i was able to start this file onthe linux host system. When i build the 'U-Boot' there will also build a new 'mkimage' and this 'mkimage' is not startable on the linux host sytem. When i try to start 'mkimage' i got the messsage 'bash: ./mkimage: cannot execute binary file'
It look like that the build mkimage is a arm programm and not for the linux host system ...
Here is the 'build.log' ...
7585.build.log
Thx
Martin
Did you do
sudo apt-get install uboot-mkimage? The setup.sh script installs that package for you.
Yes ...'uboot-mkimage' is installed (Version: 0.4build1) ...
Have you created any folders or files in side u-boot source, apart from the release package?
Have you modified any makefiles/scripts?
Can you try building the u-boot from u-boot source folder (release package)?
Another option is to go to the top-level of the SDK and type "make u-boot". That should build u-boot and has been verified in system test.
copy the mkimage executable to a folder say bin in your home directory,
and in your .bashrc file add the statement export PATH=$PATH:<directory>/bin
and restart your machine and try building later, this should solve your issue.
Hi Lad ,
i have now change the entrys like '$(obj)tools/makimage' in the makefiles with 'mkimage'. In this case the 'mkimage' under '/usr/bin/mkimage' will be take for build the 'u-boot'.
The following files will build now : u-boot.bin, u-boot.img, u-boot.lds, u-boot.map, uboot.srec
But now i got this message:
gcc/arm-arago-linux-gnueabi/4.5.3 -lgcc -Map u-boot-spl.map -o u-boot-splarm-arago-linux-gnueabi-objcopy --gap-fill=0xff -O binary /home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/spl/u-boot-spl /home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/spl/u-boot-spl.binmkimage -T omapimage \ -a 0x402F0400 -d /home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/spl/u-boot-spl.bin /home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/MLOInvalid Image Type - valid names are: filesystem, firmware, kernel, multi, ramdisk, script, standalone, flat_dtUsage: mkimage -l image -l ==> list image header information mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image -A ==> set architecture to 'arch' -O ==> set operating system to 'os' -T ==> set image type to 'type' -C ==> set compression type 'comp' -a ==> set load address to 'addr' (hex) -e ==> set entry point to 'ep' (hex) -n ==> set image name to 'name' -d ==> use image data from 'datafile' -x ==> set XIP (execute in place)make[2]: *** [/home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/MLO] Error 1make[2]: Leaving directory `/home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/spl'make[1]: *** [/home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/spl/u-boot-spl.bin] Error 2make[1]: Leaving directory `/home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03'make: *** [am335x_evm] Error 2
What's wrong ? I do all the steps like describe to build the u-boot but without success ....
You don't need to change the Makefile, this mkimage tool gets build every time you build the u-boot. Once its build you just copy it to your /usr/bin.
Are you trying to build the SPL ? I got it succesfully built..
here are the following commands what i did.
$> make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- clean distclean
$> make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- am335x_evm_config
$> make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
And this created a SPL and u-boot for me I have used the upstream denx branch for building it.
Can you reply to this post?
http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/791/p/181233/653356.aspx#653356
I think you have modified the makefile inside the u-boot folder.
My build log shows
tools/mkimage -A arm -T firmware -C none \
But in your boot log shows extra "am335x"
/home/user/AM335X-LINUX-PSP-04.06.00.03/src/u-boot/u-boot-04.06.00.03/am335x/tools/mkimage -A arm -T firmware -C none \
Better use the release package instead of modified one.