900719_FOCE : xFOCE - Embedded Linux - Build u-boot (Phytec325x) This page last changed on Aug 16, 2012 by headley. Phytex LPC3250 uses u-boot with its own stage-1 bootloader. Here's how to build u-boot image Build U-boot =================== • Get the u-boot-2009.03.tar.bz2 source code from ftp://ftp.denx.de/pub/u-boot/u-boot-2009.03.tar.bz2 site. • Untar the u-boot the sources.
    $ cd ../uboot
    $ tar -xjf ../downloads/u-boot-2009.03.tar.bz2
• Build u-boot
    $ cd projects/u-boot/u-boot-2009.03
    $ make phy3250_config (or use ea3250_config for Embedded Artists boards, or fdi3250_config for Future Designs boards)
    Configuring for FIXME board...
    $ make
• Get the latest u-boot-2009.03 patch from the (lpclinux.com) downloads tab and place it in the patches directory. Note the u-boot patch filename may be different than shown here. • Untar the patch and apply the LPC32x0 uboot patch to the source code.
    $ cd ../downloads
    $ tar xf u-boot-lpc313x-2009.03.patch.tar.bz2
    $ cd ../u-boot/u-boot-2009.03
    $ patch -p1 < ../../downloads/u-boot-lpc32x0-2009.03.patch
• Prior to building u-boot, add the ELDK tool binaries to your path. From the bash shell:
    $ cd ../../../
    $ source eldk42/eldk_init arm
• Build u-boot
    $ cd projects/u-boot/u-boot-2009.03
    $ make phy3250_config (or use ea3250_config for Embedded Artists boards, or fdi3250_config for Future Designs boards)
    Configuring for FIXME board...
    $ make
• You can also build u-boot using the following command without modifying the environment.
    $ make ARCH=arm CROSS_COMPILE=<Toolchain path>/arm-linux-gnu distclean
    $ make phy3250_config
    $ make ARCH=arm CROSS_COMPILE=<Toolchain pat>/arm-linux-gnu-
• Once the build completes, the u-boot binary image for deployment can be found at
    uboot/u-boot-2009.03/u-boot.bin
======== A working u-boot config [will need to change IP addresses, etc. - it is possible to use DHCP] ======== To enter U-Boot, hit a key during the u-boot loader sequence. Useful commands: printenv setenv
    bootdelay=3
    baudrate=115200
    rootpath=/home/user/ltib/rootfs
    loadaddr=0x80100000
    nfsboot=setenv bootargs console=ttyS0,115200n8 root=/dev/nfs3 rw nfsroot=${serverip}:${rootpath} ip=${ipad
    dr} ethaddr=${ethaddr}
    ramdiskboot=setenv bootargs console=ttyS0,115200n8 root=/dev/ram0 rw ip=${ipaddr} ethaddr=${ethaddr}
    tftpstatickernel=tftpboot ${loadaddr} ${serverip}:${bootfile}
    tftpdhcpkernel=dhcp
    mtdkernel=nboot.jffs2 ${loadaddr} 0 0x00204000
    mtdkernelburn=nand erase 0x00204000 0x00400000;nand write.jffs2 ${loadaddr} 0x00204000 0x00400000
    rootfile=rootfs.jffs2
    rootloadaddr=0x82000000
    tftpstaticloadroot=tftpboot ${rootloadaddr} ${serverip}:${rootfile}
    tftpdhcploadroot=dhcp ${rootloadaddr} ${serverip}:${rootfile}
    ramdiskload=nand read.jffs2 ${rootloadaddr} 0x00604000 ${rootloadsize}
    bootargs=console=ttyS0,115200n8 root=/dev/nfs3 rw nfsroot=192.168.1.41:/home/user/ltib/rootfs ip=192.168.1
    .101 ethaddr=00:50:C2:A5:BB:A8
    autoload=no
    bootfile=uImage
    bootcmd=run mtdboot; run mtdkernel; bootm $(loadaddr)
    mtdboot=setenv bootargs console=ttyS0,115200n8 root=/dev/mtdblock4 rw rootfstype=jffs2 ip=134.89.11.120 in
    it=/sbin/init ethaddr=00:50:C2:A5:BB:A8
    mtdrootburn=nand erase 0x00604000 0x039FC000; nand write.jffs2 ${rootloadaddr} 0x00604000 ${rootloadsize}
    filesize=640000
    fileaddr=82000000
    gatewayip=134.89.10.1
    netmask=255.255.254.0
    ipaddr=134.89.11.120
    serverip=134.89.11.121
    rootloadsize=0x640000
    stdin=serial
    stdout=serial
    stderr=serial
    ethaddr=00:50:C2:A5:BB:A8

Document generated by Confluence on Feb 03, 2026 14:29