Skip to content

Instantly share code, notes, and snippets.

@uditagarwal97
Last active March 8, 2017 13:52
Show Gist options
  • Save uditagarwal97/e9d66c1fa766398aa762c61a1b36c2f4 to your computer and use it in GitHub Desktop.
Save uditagarwal97/e9d66c1fa766398aa762c61a1b36c2f4 to your computer and use it in GitHub Desktop.
u-Boot Cross Compilation for ARM335x
-----------------------------------OS--------------------------------------------------------------
uka_in@madaari:~$ uname -a
Linux madaari 4.4.0-64-generic #85~14.04.1-Ubuntu SMP Mon Feb 20 12:10:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
----------------------------------arm-linux-gnueabihf-gcc Version----------------------------------
uka_in@madaari:~$ ${CC}gcc --version #toolchain used : gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
---------------------------------U-Boot Cross compilation logs-------------------------------------------
uka_in@madaari:~$ cd u-boot
uka_in@madaari:~/u-boot$ ls
0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch config.mk examples MAKEALL net System.map u-boot.lds
api CREDITS fs Makefile post test u-boot.map
arch disk include mkconfig README tools u-boot.srec
board doc Kbuild MLO scripts u-boot
boards.cfg drivers lib MLO.byteswap snapshot.commit u-boot.bin
common dts Licenses nand_spl spl u-boot.img
uka_in@madaari:~/u-boot$ make ARCH=arm CROSS_COMPILE=${CC} distclean
uka_in@madaari:~/u-boot$ make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_config
Configuring for am335x_evm - Board: am335x_evm, Options: SERIAL1,CONS_INDEX=1,NAND
uka_in@madaari:~/u-boot$ make ARCH=arm CROSS_COMPILE=${CC}
GEN include/autoconf.mk.dep
GEN include/autoconf.mk
CHK include/config/uboot.release
UPD include/config/uboot.release
CHK include/generated/version_autogenerated.h
UPD include/generated/version_autogenerated.h
CHK include/generated/timestamp_autogenerated.h
UPD include/generated/timestamp_autogenerated.h
HOSTCC scripts/basic/fixdep
CC lib/asm-offsets.s
GEN include/generated/generic-asm-offsets.h
CC arch/arm/lib/asm-offsets.s
GEN include/generated/asm-offsets.h
HOSTCC tools/aisimage.o
HOSTCC tools/crc32.o
HOSTCC tools/default_image.o
HOSTCC tools/dumpimage.o
HOSTCC tools/env_embedded.o
HOSTCC tools/envcrc.o
HOSTCC tools/fdt.o
HOSTCC tools/fdt_ro.o
HOSTCC tools/fdt_rw.o
HOSTCC tools/fdt_strerror.o
HOSTCC tools/fdt_wip.o
HOSTCC tools/fit_image.o
HOSTCC tools/image-fit.o
HOSTCC tools/image-host.o
HOSTCC tools/image.o
HOSTCC tools/imagetool.o
HOSTCC tools/imximage.o
HOSTCC tools/kwbimage.o
HOSTCC tools/md5.o
HOSTCC tools/mkenvimage.o
HOSTCC tools/mkimage.o
HOSTCC tools/mxsimage.o
HOSTCC tools/omapimage.o
HOSTCC tools/os_support.o
HOSTCC tools/pblimage.o
HOSTCC tools/sha1.o
HOSTCC tools/ublimage.o
HOSTLD tools/envcrc
HOSTCC tools/gen_eth_addr
HOSTCC tools/img2srec
HOSTLD tools/mkenvimage
HOSTLD tools/dumpimage
HOSTLD tools/mkimage
HOSTCC tools/proftool
LD arch/arm/cpu/built-in.o
CC arch/arm/cpu/armv7/cache_v7.o
CC arch/arm/cpu/armv7/cpu.o
CC arch/arm/cpu/armv7/syslib.o
CC arch/arm/cpu/armv7/omap-common/reset.o
CC arch/arm/cpu/armv7/omap-common/timer.o
CC arch/arm/cpu/armv7/omap-common/utils.o
CC arch/arm/cpu/armv7/omap-common/boot-common.o
AS arch/arm/cpu/armv7/omap-common/lowlevel_init.o
LD arch/arm/cpu/armv7/omap-common/built-in.o
LD arch/arm/cpu/armv7/built-in.o
AS arch/arm/cpu/armv7/start.o
CC arch/arm/cpu/armv7/am33xx/clock_am33xx.o
CC arch/arm/cpu/armv7/am33xx/clock.o
CC arch/arm/cpu/armv7/am33xx/sys_info.o
CC arch/arm/cpu/armv7/am33xx/mem.o
CC arch/arm/cpu/armv7/am33xx/ddr.o
CC arch/arm/cpu/armv7/am33xx/emif4.o
CC arch/arm/cpu/armv7/am33xx/board.o
CC arch/arm/cpu/armv7/am33xx/mux.o
LD arch/arm/cpu/armv7/am33xx/built-in.o
AS arch/arm/lib/crt0.o
AS arch/arm/lib/relocate.o
CC arch/arm/lib/board.o
CC arch/arm/lib/bootm-fdt.o
CC arch/arm/lib/bootm.o
CC arch/arm/lib/sections.o
CC arch/arm/lib/interrupts.o
CC arch/arm/lib/reset.o
CC arch/arm/lib/cache.o
CC arch/arm/lib/cache-cp15.o
LD arch/arm/lib/built-in.o
AR arch/arm/lib/lib.a
CC arch/arm/lib/eabi_compat.o
CC board/ti/am335x/board.o
LD board/ti/am335x/built-in.o
CC common/main.o
CC common/command.o
CC common/exports.o
CC common/hash.o
CC common/hush.o
CC common/s_record.o
CC common/xyzModem.o
CC common/cmd_disk.o
CC common/cmd_boot.o
CC common/cmd_bootm.o
CC common/cmd_help.o
CC common/cmd_version.o
CC common/env_attr.o
CC common/env_callback.o
CC common/env_flags.o
CC common/env_nand.o
CC common/cmd_source.o
CC common/cmd_bdinfo.o
CC common/cmd_console.o
CC common/cmd_echo.o
CC common/cmd_eeprom.o
CC common/cmd_exit.o
CC common/cmd_ext4.o
CC common/cmd_ext2.o
CC common/cmd_fat.o
CC common/cmd_fdt.o
CC common/fdt_support.o
CC common/cmd_fs.o
CC common/cmd_gpio.o
CC common/cmd_i2c.o
CC common/cmd_itest.o
CC common/cmd_load.o
CC common/cmd_mem.o
CC common/miiphyutil.o
CC common/cmd_mii.o
CC common/cmd_mdio.o
CC common/cmd_misc.o
CC common/cmd_mmc.o
CC common/cmd_mtdparts.o
CC common/cmd_nand.o
CC common/cmd_net.o
CC common/cmd_part.o
CC common/cmd_pcmcia.o
CC common/cmd_sf.o
CC common/cmd_spi.o
CC common/cmd_test.o
CC common/cmd_usb.o
CC common/usb.o
CC common/usb_hub.o
CC common/usb_storage.o
CC common/cmd_ximg.o
CC common/cmd_spl.o
CC common/flash.o
CC common/splash.o
CC common/cmd_dfu.o
CC common/cmd_gpt.o
CC common/cmd_nvedit.o
CC common/env_common.o
CC common/console.o
CC common/dlmalloc.o
CC common/image.o
CC common/image-fdt.o
CC common/memsize.o
CC common/stdio.o
LD common/built-in.o
CC disk/part.o
CC disk/part_dos.o
CC disk/part_efi.o
LD disk/built-in.o
LD drivers/block/built-in.o
CC drivers/bootcount/bootcount.o
CC drivers/bootcount/bootcount_davinci.o
LD drivers/bootcount/built-in.o
LD drivers/crypto/built-in.o
CC drivers/dfu/dfu.o
CC drivers/dfu/dfu_mmc.o
CC drivers/dfu/dfu_nand.o
CC drivers/dfu/dfu_ram.o
LD drivers/dfu/built-in.o
LD drivers/hwmon/built-in.o
LD drivers/misc/built-in.o
CC drivers/pcmcia/rpx_pcmcia.o
CC drivers/pcmcia/tqm8xx_pcmcia.o
LD drivers/pcmcia/built-in.o
CC drivers/rtc/date.o
LD drivers/rtc/built-in.o
LD drivers/sound/built-in.o
LD drivers/tpm/built-in.o
LD drivers/twserial/built-in.o
LD drivers/video/built-in.o
CC drivers/watchdog/omap_wdt.o
LD drivers/watchdog/built-in.o
LD drivers/built-in.o
LD drivers/dma/built-in.o
CC drivers/gpio/omap_gpio.o
LD drivers/gpio/built-in.o
CC drivers/i2c/i2c_core.o
CC drivers/i2c/omap24xx_i2c.o
LD drivers/i2c/built-in.o
CC drivers/input/input.o
LD drivers/input/built-in.o
CC drivers/mmc/mmc.o
CC drivers/mmc/omap_hsmmc.o
CC drivers/mmc/mmc_write.o
LD drivers/mmc/built-in.o
CC drivers/mtd/mtdcore.o
LD drivers/mtd/built-in.o
CC drivers/mtd/nand/nand.o
CC drivers/mtd/nand/nand_bbt.o
CC drivers/mtd/nand/nand_ids.o
CC drivers/mtd/nand/nand_util.o
CC drivers/mtd/nand/nand_ecc.o
CC drivers/mtd/nand/nand_base.o
CC drivers/mtd/nand/omap_gpmc.o
CC drivers/mtd/nand/omap_elm.o
LD drivers/mtd/nand/built-in.o
LD drivers/mtd/onenand/built-in.o
CC drivers/mtd/spi/sf.o
CC drivers/mtd/spi/sf_params.o
CC drivers/mtd/spi/sf_probe.o
CC drivers/mtd/spi/sf_ops.o
LD drivers/mtd/spi/built-in.o
CC drivers/net/cpsw.o
LD drivers/net/built-in.o
CC drivers/net/phy/phy.o
CC drivers/net/phy/smsc.o
LD drivers/net/phy/built-in.o
LD drivers/pci/built-in.o
LD drivers/power/built-in.o
LD drivers/power/battery/built-in.o
LD drivers/power/fuel_gauge/built-in.o
LD drivers/power/mfd/built-in.o
CC drivers/power/pmic/pmic_tps65217.o
CC drivers/power/pmic/pmic_tps65910.o
LD drivers/power/pmic/built-in.o
CC drivers/serial/serial.o
CC drivers/serial/ns16550.o
CC drivers/serial/serial_ns16550.o
LD drivers/serial/built-in.o
CC drivers/spi/spi.o
CC drivers/spi/omap3_spi.o
LD drivers/spi/built-in.o
LD drivers/usb/eth/built-in.o
CC drivers/usb/gadget/epautoconf.o
CC drivers/usb/gadget/config.o
CC drivers/usb/gadget/usbstring.o
CC drivers/usb/gadget/g_dnl.o
CC drivers/usb/gadget/f_dfu.o
CC drivers/usb/gadget/ether.o
CC drivers/usb/gadget/rndis.o
LD drivers/usb/gadget/built-in.o
LD drivers/usb/host/built-in.o
CC drivers/usb/musb-new/musb_gadget.o
CC drivers/usb/musb-new/musb_gadget_ep0.o
CC drivers/usb/musb-new/musb_core.o
CC drivers/usb/musb-new/musb_uboot.o
CC drivers/usb/musb-new/musb_host.o
CC drivers/usb/musb-new/musb_dsps.o
LD drivers/usb/musb-new/built-in.o
LD drivers/usb/musb/built-in.o
LD drivers/usb/phy/built-in.o
LD drivers/usb/ulpi/built-in.o
CC fs/fs.o
CC fs/ext4/ext4fs.o
CC fs/ext4/ext4_common.o
CC fs/ext4/dev.o
LD fs/ext4/built-in.o
CC fs/fat/fat_write.o
CC fs/fat/file.o
LD fs/fat/built-in.o
LD fs/built-in.o
CC lib/zlib/zlib.o
LD lib/zlib/built-in.o
CC lib/crc7.o
CC lib/crc8.o
CC lib/crc16.o
CC lib/gunzip.o
CC lib/initcall.o
CC lib/lmb.o
CC lib/ldiv.o
CC lib/net_utils.o
CC lib/qsort.o
CC lib/strmhz.o
CC lib/hashtable.o
CC lib/errno.o
CC lib/display_options.o
CC lib/crc32.o
CC lib/ctype.o
CC lib/div64.o
CC lib/hang.o
CC lib/linux_string.o
CC lib/string.o
CC lib/time.o
CC lib/uuid.o
CC lib/vsprintf.o
LD lib/built-in.o
CC lib/libfdt/fdt.o
CC lib/libfdt/fdt_ro.o
CC lib/libfdt/fdt_rw.o
CC lib/libfdt/fdt_strerror.o
CC lib/libfdt/fdt_sw.o
CC lib/libfdt/fdt_wip.o
CC lib/libfdt/fdt_empty_tree.o
LD lib/libfdt/built-in.o
CC net/arp.o
CC net/bootp.o
CC net/eth.o
CC net/net.o
CC net/nfs.o
CC net/ping.o
CC net/tftp.o
LD net/built-in.o
LD test/built-in.o
LD test/dm/built-in.o
CC examples/standalone/stubs.o
LD examples/standalone/libstubs.o
CC examples/standalone/hello_world.o
LD examples/standalone/hello_world
OBJCOPY examples/standalone/hello_world.srec
OBJCOPY examples/standalone/hello_world.bin
LDS u-boot.lds
LD u-boot
OBJCOPY u-boot.bin
MKIMAGE u-boot.img
OBJCOPY u-boot.srec
GEN include/spl-autoconf.mk
AS spl/arch/arm/lib/crt0.o
CC spl/arch/arm/lib/spl.o
CC spl/arch/arm/lib/sections.o
CC spl/arch/arm/lib/interrupts.o
CC spl/arch/arm/lib/reset.o
CC spl/arch/arm/lib/cache.o
CC spl/arch/arm/lib/cache-cp15.o
LD spl/arch/arm/lib/built-in.o
AR spl/arch/arm/lib/lib.a
CC spl/arch/arm/lib/eabi_compat.o
CC spl/arch/arm/cpu/armv7/cache_v7.o
CC spl/arch/arm/cpu/armv7/cpu.o
CC spl/arch/arm/cpu/armv7/syslib.o
AS spl/arch/arm/cpu/armv7/lowlevel_init.o
CC spl/arch/arm/cpu/armv7/omap-common/reset.o
CC spl/arch/arm/cpu/armv7/omap-common/timer.o
CC spl/arch/arm/cpu/armv7/omap-common/utils.o
CC spl/arch/arm/cpu/armv7/omap-common/boot-common.o
AS spl/arch/arm/cpu/armv7/omap-common/lowlevel_init.o
LD spl/arch/arm/cpu/armv7/omap-common/built-in.o
LD spl/arch/arm/cpu/armv7/built-in.o
AS spl/arch/arm/cpu/armv7/start.o
CC spl/arch/arm/cpu/armv7/am33xx/clock_am33xx.o
CC spl/arch/arm/cpu/armv7/am33xx/clock.o
CC spl/arch/arm/cpu/armv7/am33xx/sys_info.o
CC spl/arch/arm/cpu/armv7/am33xx/mem.o
CC spl/arch/arm/cpu/armv7/am33xx/ddr.o
CC spl/arch/arm/cpu/armv7/am33xx/emif4.o
CC spl/arch/arm/cpu/armv7/am33xx/board.o
CC spl/arch/arm/cpu/armv7/am33xx/mux.o
LD spl/arch/arm/cpu/armv7/am33xx/built-in.o
CC spl/board/ti/am335x/mux.o
CC spl/board/ti/am335x/board.o
LD spl/board/ti/am335x/built-in.o
CC spl/common/spl/spl.o
CC spl/common/spl/spl_ymodem.o
CC spl/common/spl/spl_nand.o
CC spl/common/spl/spl_net.o
CC spl/common/spl/spl_mmc.o
CC spl/common/spl/spl_fat.o
LD spl/common/spl/built-in.o
CC spl/common/xyzModem.o
CC spl/common/miiphyutil.o
CC spl/common/env_attr.o
CC spl/common/env_flags.o
CC spl/common/env_callback.o
CC spl/common/env_nowhere.o
CC spl/common/cmd_nvedit.o
CC spl/common/env_common.o
CC spl/common/console.o
CC spl/common/dlmalloc.o
CC spl/common/image.o
CC spl/common/image-fdt.o
CC spl/common/memsize.o
CC spl/common/stdio.o
LD spl/common/built-in.o
CC spl/disk/part.o
CC spl/disk/part_dos.o
CC spl/disk/part_efi.o
LD spl/disk/built-in.o
CC spl/drivers/i2c/i2c_core.o
CC spl/drivers/i2c/omap24xx_i2c.o
LD spl/drivers/i2c/built-in.o
CC spl/drivers/gpio/omap_gpio.o
LD spl/drivers/gpio/built-in.o
CC spl/drivers/mmc/mmc.o
CC spl/drivers/mmc/omap_hsmmc.o
LD spl/drivers/mmc/built-in.o
CC spl/drivers/serial/serial.o
CC spl/drivers/serial/ns16550.o
CC spl/drivers/serial/serial_ns16550.o
LD spl/drivers/serial/built-in.o
CC spl/drivers/mtd/spi/spi_spl_load.o
CC spl/drivers/mtd/spi/sf.o
CC spl/drivers/mtd/spi/sf_params.o
CC spl/drivers/mtd/spi/sf_probe.o
CC spl/drivers/mtd/spi/sf_ops.o
LD spl/drivers/mtd/spi/built-in.o
CC spl/drivers/spi/spi.o
CC spl/drivers/spi/omap3_spi.o
LD spl/drivers/spi/built-in.o
CC spl/fs/fat/fat_write.o
LD spl/fs/fat/built-in.o
LD spl/fs/built-in.o
CC spl/lib/crc16.o
CC spl/lib/net_utils.o
CC spl/lib/hashtable.o
CC spl/lib/errno.o
CC spl/lib/display_options.o
CC spl/lib/crc32.o
CC spl/lib/ctype.o
CC spl/lib/div64.o
CC spl/lib/hang.o
CC spl/lib/linux_string.o
CC spl/lib/string.o
CC spl/lib/time.o
CC spl/lib/uuid.o
CC spl/lib/vsprintf.o
LD spl/lib/built-in.o
LD spl/drivers/power/built-in.o
CC spl/drivers/power/pmic/pmic_tps65217.o
CC spl/drivers/power/pmic/pmic_tps65910.o
LD spl/drivers/power/pmic/built-in.o
CC spl/drivers/mtd/nand/am335x_spl_bch.o
CC spl/drivers/mtd/nand/nand_ecc.o
CC spl/drivers/mtd/nand/nand_base.o
CC spl/drivers/mtd/nand/omap_gpmc.o
CC spl/drivers/mtd/nand/omap_elm.o
LD spl/drivers/mtd/nand/built-in.o
CC spl/net/arp.o
CC spl/net/bootp.o
CC spl/net/eth.o
CC spl/net/net.o
CC spl/net/tftp.o
LD spl/net/built-in.o
CC spl/drivers/usb/musb-new/musb_gadget.o
CC spl/drivers/usb/musb-new/musb_gadget_ep0.o
CC spl/drivers/usb/musb-new/musb_core.o
CC spl/drivers/usb/musb-new/musb_uboot.o
CC spl/drivers/usb/musb-new/musb_host.o
CC spl/drivers/usb/musb-new/musb_dsps.o
LD spl/drivers/usb/musb-new/built-in.o
CC spl/drivers/watchdog/omap_wdt.o
LD spl/drivers/watchdog/built-in.o
LD spl/arch/arm/cpu/built-in.o
LDS spl/u-boot-spl.lds
LD spl/u-boot-spl
OBJCOPY spl/u-boot-spl.bin
MKIMAGE MLO
MKIMAGE MLO.byteswap
uka_in@madaari:~/u-boot$ ls
0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch config.mk examples MAKEALL net System.map u-boot.lds
api CREDITS fs Makefile post test u-boot.map
arch disk include mkconfig README tools u-boot.srec
board doc Kbuild MLO scripts u-boot
boards.cfg drivers lib MLO.byteswap snapshot.commit u-boot.bin
common dts Licenses nand_spl spl u-boot.img
uka_in@madaari:~/u-boot$
-----------------------------------------------GUIDES FOLLOWED---------------------------------------------------------
http://stackoverflow.com/questions/28564692/set-up-beagleboard-emulator-with-qemu-in-ubuntu
http://dumb-looks-free.blogspot.in/2014/05/beaglebone-black-bbb-cross-compile_28.html
http://derekmolloy.ie/beaglebone/setting-up-eclipse-on-the-beaglebone-for-c-development/
------------------------------------------------ERRORS Encountered-------------------------------------------------------
1)autoreconf: not found during installation of linaro-qemu
sol: http://askubuntu.com/questions/265471/autoreconf-not-found-error-during-making-qemu-1-4-0/490839
https://groups.google.com/forum/#!topic/beagleboard-gsoc/TV0rs4p5NUk
2)ERROR while loading library libz on X64 arch
sol: http://askubuntu.com/questions/659697/error-while-loading-shared-library-libz-so-1-while-cross-compiling-for-arm-linux
sudo apt-get install zlib1g:i386
3)Syntax error: word unexpected (expecting ")")", while executing files on BBB
sol: In my case there was a problem with the tool chain i used, then i switched to linaro and it worked like a charm.
4)http://stackoverflow.com/questions/3949161/no-such-file-or-directory-but-it-exists
5)fatal error: linux/compiler-gcc5.h: No such file or directory
soln: http://unix.stackexchange.com/questions/275515/linux-compiler-gcc5-h-no-such-file-or-directory
I simply switched to linaro toolchain arm-linux-gnueabihf 4.8.2014, and it's resolved
6)http://askubuntu.com/questions/107230/what-happened-to-the-ia32-libs-package (for x64 arch)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment