From 53c1940c958e566522a5cfd65c8a628819e8b970 Mon Sep 17 00:00:00 2001 From: Igor Opaniuk Date: Wed, 28 Oct 2020 17:44:21 +0200 Subject: boot.cmd.in: support properly dhcp boot 1. Move invocation of $setup when $load_cmd is properly set. This helps to load hdp firmware from all supported boot sources, not only from internal emmc 2. Set proper dhcpargs if we boot via DHCP Signed-off-by: Igor Opaniuk --- recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'recipes-bsp') diff --git a/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in b/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in index 52bb845..160a40c 100644 --- a/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in +++ b/recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in @@ -32,12 +32,6 @@ if test ${devtype} = "ubi"; then exit fi -if test -n ${setup}; then - run setup -else - env set setupargs 'console=${console},${baudrate} console=tty1 consoleblank=0' -fi - test -n ${m4boot} || env set m4boot ';' test -n ${fdtfile} || env set fdtfile ${fdt_file} test -n ${boot_part} || env set boot_part ${distro_bootpart} @@ -54,6 +48,12 @@ test ${boot_devtype} = "usb" && env set load_cmd 'load ${boot_devtype} ${boot_de test ${boot_devtype} = "tftp" && env set load_cmd 'tftp' test ${boot_devtype} = "dhcp" && env set load_cmd 'dhcp' +if test -n ${setup}; then + run setup +else + env set setupargs 'console=${console},${baudrate} console=tty1 consoleblank=0' +fi + if test ${kernel_image} = "Image.gz" then env set kernel_addr_load ${loadaddr} @@ -70,9 +70,14 @@ env set set_load_overlays_file 'env set load_overlays_file "${load_cmd} \\${load env set set_apply_overlays 'env set apply_overlays "for overlay_file in \\${fdt_overlays}; do echo Applying Overlay: \\${overlay_file} && ${load_cmd} \\${loadaddr} \\${overlay_file} && fdt apply \\${loadaddr}; env set overlay_file; done; true"' # Set static commands -env set uuid_set 'part uuid ${root_devtype} ${root_devnum}:${root_part} uuid' -env set emmcargs_set 'run uuid_set && env set rootfsargs root=PARTUUID=${uuid} ro rootwait' -env set bootcmd_args 'run emmcargs_set && env set bootargs ${defargs} ${rootfsargs} ${setupargs} ${vidargs} ${tdxargs}' +if test ${devtype} = "dhcp"; then + env set rootfsargs_set 'env set rootfsargs "root=/dev/nfs ip=dhcp nfsroot=${rootpath}"' +else + env set uuid_set 'part uuid ${root_devtype} ${root_devnum}:${root_part} uuid' + env set rootfsargs_set 'run uuid_set && env set rootfsargs root=PARTUUID=${uuid} ro rootwait' +fi + +env set bootcmd_args 'run rootfsargs_set && env set bootargs ${defargs} ${rootfsargs} ${setupargs} ${vidargs} ${tdxargs}' env set fdt_resize 'fdt addr ${fdt_addr_r} && fdt resize 0x20000' env set bootcmd_overlays 'run load_overlays_file && run fdt_resize && run apply_overlays' env set bootcmd_boot '@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr_r}' -- cgit v1.2.3