Dennis, On Thu, Jul 25, 2013 at 4:13 PM, <dgilm...@fedoraproject.org> wrote: > From: Dennis Gilmore <den...@ausil.us> > > Signed-off-by: Dennis Gilmore <den...@ausil.us> > --- > include/configs/wandboard.h | 42 +++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 39 insertions(+), 3 deletions(-) > > diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h > index ee6bf21..a5052c5 100644 > --- a/include/configs/wandboard.h > +++ b/include/configs/wandboard.h > @@ -58,6 +58,8 @@ > #define CONFIG_LOADADDR 0x12000000 > #define CONFIG_SYS_TEXT_BASE 0x17800000 > > +#define CONFIG_SUPPORT_RAW_INITRD > + > /* MMC Configuration */ > #define CONFIG_FSL_ESDHC > #define CONFIG_FSL_USDHC > @@ -72,6 +74,14 @@ > #define CONFIG_CMD_FAT > #define CONFIG_DOS_PARTITION > > +/* PXE support */ > +#define CONFIG_BOOTP_PXE > +#define CONFIG_BOOTP_PXE_CLIENTARCH 0x100 > +#define CONFIG_BOOTP_VCI_STRING "U-boot.armv7.wandboard" > +#define CONFIG_CMD_PXE > +#define CONFIG_MENU > + > + > /* Ethernet Configuration */ > #define CONFIG_CMD_PING > #define CONFIG_CMD_DHCP > @@ -117,7 +127,32 @@ > "initrd_high=0xffffffff\0" \ > "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ > "fdt_addr=0x11000000\0" \ > + "pxefile_addr_r=0x12000000\0" \ > + "kernel_addr_r=0x13000000\0" \ > + "ramdisk_addr_r=0x32000000\0" \ > + "fdt_addr_r=0x11000000\0" \ > "boot_fdt=try\0" \ > + "bootcmd_setup=mmc rescan\0" \ > + "bootcmd_pxe=setenv bootfile \"\" ;dhcp; pxe get; pxe boot\0" \ > + "bootcmd_disk_scr=ext2load ${boot_ifc} ${bootdevice} ${scr_addr_r} > boot.scr && source ${scr_addr_r}\0" \ > + "bootcmd_disk_sysboot1=setenv bootfile /boot/extlinux/extlinux.conf; > sysboot ${boot_ifc} ${bootdevice} ext2\0" \ > + "bootcmd_disk_sysboot2=setenv bootfile /extlinux/extlinux.conf; > sysboot ${boot_ifc} ${bootdevice} ext2\0" \ > + "bootcmd_disk_uenv=ext2load ${boot_ifc} ${bootdevice} ${uenv_addr_r} > uEnv.txt; env import -t ${uenv_addr_r} ${filesize}; run bootcmd_uenv\0" \ > + "bootcmd_disk_kernel=ext2load ${boot_ifc} ${bootdevice} > ${kernel_addr_r} vmlinuz && ext2load ${boot_ifc} ${bootdevice} > ${ramdisk_addr_r} initrd.img && bootz ${kernel_addr_r} > ${ramdisk_addr_r}:${filesize} ${fdt_addr}\0" \ > + "bootcmd_disk=run bootcmd_disk_sysboot1; run bootcmd_disk_sysboot2; > run bootcmd_disk_uenv; run bootcmd_disk_scr; run bootcmd_disk_kernel\0" \ > + "bootcmd_sata=setenv boot_ifc scsi; scsi scan && run bootcmd_disk\0" \ > + "bootcmd_mmc=setenv boot_ifc mmc; mmc rescan && run bootcmd_disk\0" \ > + "bootcmd_default=run bootcmd_mmc; run bootcmd_sata; run > bootcmd_pxe\0" \
I really would not like to see this propagated to another board. I've completely redone the env for highbank based on what Stephen Warren did for Tegra. It would be good to come up with a common version rather than duplicating for each board. This is now what the env looks like for highbank in current firmware: kernel_boot=echo Trying kernel...; ${fs}load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}vmlinuz && ${fs}load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}initrd.img && bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr} script_boot=echo Trying script images...; for script in ${boot_scripts}; do ${fs}load ${devtype} ${devnum} ${script_addr} ${prefix}${script} && echo Executing ${prefix}${script}... && source ${script_addr}; done; env_boot=echo Trying environment file...; ${fs}load ${devtype} ${devnum} ${script_addr} ${prefix}uEnv.txt && Executing ${prefix}uEnv.txt... && env import -t ${script_addr} ${filesize}}; syslinux_boot=echo Trying syslinux boot menu...; sysboot ${devtype} ${devnum} ${fs} ${script_addr} ${prefix}extlinux/extlinux.conf scan_disk=echo Scanning ${devtype} ${devnum}...; for fs in ${boot_fstypes}; do for mode in ${boot_modes}; do for prefix in ${boot_prefixes}; do run ${mode}_boot; done; done; done; boot_targets=scsi pxe boot_fstypes=ext2 boot_prefixes=/ /boot/ boot_scripts=boot.scr.uimg boot.scr boot_modes=syslinux env script kernel init_scsi=scsi scan; setenv devtype scsi bootcmd_scsi=run scan_disk init_pxe=setenv bootfile "" bootcmd_pxe=dhcp; pxe get; pxe boot boot_iter=for target in ${boot_targets}; do run init_${target} && run bootcmd_${target}; done bootcmd0=run boot_iter bootcmd1=setenv boot_targets pxe; run boot_iter bootcmd2=setenv boot_targets scsi; run boot_iter bootcmd15=run bootcmd_setup; run bootcmd_mmc localcmd=run bootcmd2 devnum=0:auto bootargs=console=ttyAMA0 root=LABEL=rootfs nosplash bootdelay=2 bootretry=90 bootstopkey=s bootdelaykey=d netretry=once fdt_addr=0x1000 fdt_high=0xffffffff pxefile_addr_r=0x700000 kernel_addr_r=0x800000 ramdisk_addr_r=0x01000000 script_addr=0x100000 initrd_high=0xffffffff > + "bootcmd0=run bootcmd_setup; run bootcmd_default\0" \ > + "bootcmd1=run bootcmd_setup; run bootcmd_pxe; run bootcmd_default\0" \ > + "bootcmd2=run bootcmd_setup; run bootcmd_sata; run bootcmd_default\0" > \ > + "bootcmd15=run bootcmd_setup; run bootcmd_mmc; run bootcmd_default\0" > \ These are pretty much highbank specific. The number is based on IPMI bootdev numbering. Rob _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot