summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Opaniuk <igor.opaniuk@toradex.com>2020-10-28 17:44:21 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2020-11-23 19:59:12 +0100
commit898dad05ecf2bd64915aae77699c56df374e045a (patch)
treeab1230dcc3b2bdae99f1f91bebf2df59f781956f
parent4a7563fb02c2bbec576fdd8d5d7ba8fb3944de0a (diff)
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 <igor.opaniuk@toradex.com> (cherry picked from commit 53c1940c958e566522a5cfd65c8a628819e8b970)
-rw-r--r--recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in23
1 files changed, 14 insertions, 9 deletions
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}'