[U-Boot] [PATCH v2 2/2] lsxl: rework boot scripts
Albert ARIBAUD
albert.u.boot at aribaud.net
Sun May 25 15:14:41 CEST 2014
Hi Michael,
On Tue, 1 Apr 2014 20:09:14 +0200, Michael Walle <michael at walle.cc>
wrote:
> Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
> blob loading to all existing boot scripts, dtb filenames were taken from
> vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
> a kernel and a ramdisk. Make this the default boot script. This should also
> restore the behaviour of the original bootloader.
>
> Cc: Prafulla Wadaskar <prafulla at marvell.com>
> Cc: Tom Rini <trini at ti.com>
> Signed-off-by: Michael Walle <michael at walle.cc>
> ---
> Changes v2:
> - use CONFIG_CMD_FS_GENERIC and load commands (suggested by Tom Rini)
> - use loadaddresses at offsets 8MB and 16MB, leaving ~8MB for the kernel
> please note that the kernel is copied to 0x8000 anyway.
> ---
> include/configs/lsxl.h | 40 +++++++++++++++++++++++++++++++---------
> 1 file changed, 31 insertions(+), 9 deletions(-)
>
> diff --git a/include/configs/lsxl.h b/include/configs/lsxl.h
> index 4ad5eb8..45794a1 100644
> --- a/include/configs/lsxl.h
> +++ b/include/configs/lsxl.h
> @@ -65,6 +65,7 @@
> #define CONFIG_CMD_SF
> #define CONFIG_CMD_SPI
> #define CONFIG_CMD_USB
> +#define CONFIG_CMD_FS_GENERIC
>
> #define CONFIG_DOS_PARTITION
> #define CONFIG_EFI_PARTITION
> @@ -108,20 +109,41 @@
> #define CONFIG_LOADADDR 0x00800000
> #define CONFIG_BOOTCOMMAND "run bootcmd_${bootsource}"
> #define CONFIG_BOOTARGS "console=ttyS0,115200 root=/dev/sda2"
> +
> +#if defined(CONFIG_LSXHL)
> +#define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
> +#elif defined(CONFIG_LSCHLV2)
> +#define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
> +#else
> +#error "Unsupported board"
> +#endif
> +
> #define CONFIG_EXTRA_ENV_SETTINGS \
> - "bootsource=hdd\0" \
> + "bootsource=legacy\0" \
> "hdpart=0:1\0" \
> - "bootcmd_net=bootp 0x00100000 uImage " \
> - "&& tftpboot 0x00800000 uInitrd " \
> + "kernel_addr=0x00800000\0" \
> + "ramdisk_addr=0x01000000\0" \
> + "fdt_addr=0x01ff0000\0" \
> + "bootcmd_legacy=ide reset " \
> + "&& load ide ${hdpart} 0x00100000 /uImage.buffalo " \
> + "&& load ide ${hdpart} 0x00800000 /initrd.buffalo " \
> "&& bootm 0x00100000 0x00800000\0" \
> + "bootcmd_net=bootp ${kernel_addr} uImage " \
> + "&& tftpboot ${ramdisk_addr} uInitrd " \
> + "&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " " \
> + "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
> "bootcmd_hdd=ide reset " \
> - "&& ext2load ide ${hdpart} 0x00100000 /uImage " \
> - "&& ext2load ide ${hdpart} 0x00800000 /uInitrd " \
> - "&& bootm 0x00100000 0x00800000\0" \
> + "&& load ide ${hdpart} ${kernel_addr} /uImage " \
> + "&& load ide ${hdpart} ${ramdisk_addr} /uInitrd " \
> + "&& load ide ${hdpart} ${fdt_addr} " \
> + "/" CONFIG_FDTFILE " " \
> + "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
> "bootcmd_usb=usb start " \
> - "&& fatload usb 0:1 0x00100000 /uImage " \
> - "&& fatload usb 0:1 0x00800000 /uInitrd " \
> - "&& bootm 0x00100000 0x00800000\0" \
> + "&& load usb 0:1 ${kernel_addr} /uImage " \
> + "&& load usb 0:1 ${ramdisk_addr} /uInitrd " \
> + "&& load usb 0:1 ${fdt_addr} " \
> + "/" CONFIG_FDTFILE " " \
> + "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
> "bootcmd_rescue=run config_nc_dhcp; run nc\0" \
> "eraseenv=sf probe 0 " \
> "&& sf erase " __stringify(CONFIG_ENV_OFFSET) \
Applied to u-boot-arm/master, thanks!
Amicalement,
--
Albert.
More information about the U-Boot
mailing list