On Wed, Jul 31, 2013 at 6:01 PM, Rob Herring <robherri...@gmail.com> wrote: > 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}};
Guys, this is just silly.. Your using both uEnv.txt/boot.scr scripts by default, which you could use to "hide" all this extra stuff in a text file on the boot drive, that way mainline u-boot doesn't have to be patched for every little change. ;) I know it's bikeshedding, but most boards can be converted to just: #define CONFIG_BOOTCOMMAND \ "mmc dev ${mmcdev};" \ "if mmc rescan; then " \ "echo SD/MMC found on device ${mmcdev};" \ "if run loadbootenv; then " \ "run importbootenv;" \ "fi;" \ "if test -n $uenvcmd; then " \ "echo Running uenvcmd ...;" \ "run uenvcmd;" \ "fi;" \ "if run loadsomefailsafedefault; then " \ "run mmcboot;" \ "fi;" \ "fi;" #endif where: "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ "env import -t ${loadaddr} ${filesize}\0" \ Regards, -- Robert Nelson http://www.rcn-ee.com/ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot