diff options
author | Igor Opaniuk <igor.opaniuk@toradex.com> | 2020-09-03 18:05:12 +0300 |
---|---|---|
committer | Igor Opaniuk <igor.opaniuk@gmail.com> | 2020-09-07 14:05:34 +0300 |
commit | 58ceae1199d540d9cf04f13addd39e3ede0b462d (patch) | |
tree | 880789511e1296488b25dd852bf490dc229de8d1 /recipes-bsp | |
parent | f41e59ffc05aaa49315253cfc1ca7cf5fe9eb2c8 (diff) |
boot.cmd: add support Image.gz boot image
1. Provide information about kernel image format instead of using
that information from U-Boot env.
2. Unpack kernel image before calling boot cmd, in case
Image.gz is used.
Relates-to: ELB-1372
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Diffstat (limited to 'recipes-bsp')
-rw-r--r-- | recipes-bsp/u-boot/u-boot-distro-boot/boot.cmd.in | 15 |
1 files changed, 12 insertions, 3 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 db4d317..ad79e05 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 @@ -18,7 +18,16 @@ else fi test -n ${m4boot} || env set m4boot ';' test -n ${fdtfile} || env set fdtfile $fdt_file -test -n ${kernel_image} || env set kernel_image ${boot_file} + +env set kernel_image @@KERNEL_IMAGETYPE@@ +if test ${kernel_image} = "Image.gz" +then + env set kernel_addr_load ${loadaddr} + env set bootcmd_unzip 'unzip $kernel_addr_load $kernel_addr_r' +else + env set kernel_addr_load ${kernel_addr_r} + env set bootcmd_unzip ';' +fi env set overlays_file "overlays.txt" env set load_overlay 'load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} ${overlays_file}; env import -t ${loadaddr} ${filesize}' @@ -26,9 +35,9 @@ env set apply_overlays 'fdt addr ${fdt_addr_r} && fdt resize 0x20000 && for over env set uuid_set 'part uuid ${devtype} ${devnum}:2 uuid' env set emmcargs_set 'env set emmcargs root=PARTUUID=${uuid} ro rootfstype=ext4 rootwait' env set bootcmd_args 'env set bootargs ${defargs} ${emmcargs} ${setupargs} ${vidargs} ${tdxargs}' -env set bootcmd_kernel 'load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${kernel_image}' +env set bootcmd_kernel 'load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_load} ${kernel_image}' env set bootcmd_dtb 'load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile} && if test -e ${devtype} ${devnum}:${distro_bootpart} ${overlays_file}; then run load_overlay && run apply_overlays || true;fi || true' env set bootcmd_boot '@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr_r}' -env set bootcmd_run 'run m4boot; run bootcmd_dtb && run uuid_set && run emmcargs_set && run bootcmd_args && run bootcmd_kernel && run bootcmd_boot' +env set bootcmd_run 'run m4boot; run bootcmd_dtb && run uuid_set && run emmcargs_set && run bootcmd_args && run bootcmd_kernel && run bootcmd_unzip && run bootcmd_boot' run bootcmd_run |