arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
PATCH 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
This allows for more flexible and standardized boot across multiple platforms. Remove most redundant legacy boot environment.
---
include/configs/wandboard.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
include/configs/wandboard.h +18 -0
@@ -95,6 +95,7 @@"fdtfile=undefined\0" \"fdt_high=0xffffffff\0" \"initrd_high=0xffffffff\0" \ +"fdt_addr_r=0x18000000\0" \"fdt_addr=0x18000000\0" \"boot_fdt=try\0" \"ip_dyn=yes\0" \
@@ -199,9 +200,23 @@"setenv fdtfile imx6dl-wandboard-revb1.dtb; fi; " \"if test $fdtfile = undefined; then " \"echo WARNING: Could not determine dtb to use; fi; \0" \ + "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ + "pxe_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ +"ramdisk_addr_r=0x13000000\0" \ +"ramdiskaddr=0x13000000\0" \ + "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ + BOOTENV + +#define BOOT_TARGET_DEVICES (func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ + func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na)#define CONFIG_BOOTCOMMAND \ "run findfdt; " \ + "run distro_bootcmd; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "if run loadbootscript; then " \ "run bootscript; " \
@@ -213,6 +228,9 @@"fi; " \ "else run netboot; fi" +#include <config_distro_defaults.h> +#include <config_distro_bootcmd.h> +/* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
Signature · 1 line
2.1.4
PATCH 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 2 lines · Vagrant Cascadian
This allows for more flexible and standardized boot across multiple platforms. Remove most redundant legacy boot environment.
Er, Bad commit message, this patch doesn't actually "Remove most redundant legacy boot environment" at all. Leftovers from an earlier attempt.
live well,
vagrant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151027/3c3a78ab/attachment.sig>
PATCH 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 7 lines · Vagrant Cascadian
Quoted 2 lines · Vagrant Cascadian
This allows for more flexible and standardized boot across multiple platforms. Remove most redundant legacy boot environment.
Er, Bad commit message, this patch doesn't actually "Remove most redundant legacy boot environment" at all. Leftovers from an earlier attempt.
LOL, this was my complain a minute ago ;-)
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
In reply to Vagrant CascadianQuoted 5 lines · Vagrant Cascadian
This allows for more flexible and standardized boot across multiple platforms. Remove most redundant legacy boot environment.
Cc Otavio Salvador <[email protected]>Signed-off-by Vagrant Cascadian <[email protected]>
You need to remove the old environment script which is now duplicated. Can you prepare a v2?
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
This allows for more flexible and standardized boot across multiple platforms.
Remove redundant legacy boot environment.
---
Changes in v2:
- Remove redundant legacy boot environment.
Cc: Otavio Salvador <[email protected]>
include/configs/wandboard.h | 80 ++++++++++----------------------------------- 1 file changed, 18 insertions(+), 62 deletions(-)
include/configs/wandboard.h +18 -62
@@ -88,19 +88,15 @@#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_EXTRA_ENV_SETTINGS \ - "script=boot.scr\0" \ - "image=zImage\0" \ "console=ttymxc0\0" \ "splashpos=m,m\0" \ "fdtfile=undefined\0" \ "fdt_high=0xffffffff\0" \ "initrd_high=0xffffffff\0" \ + "fdt_addr_r=0x18000000\0" \ "fdt_addr=0x18000000\0" \ - "boot_fdt=try\0" \ "ip_dyn=yes\0" \ "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ - "mmcpart=1\0" \ - "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ "update_sd_firmware_filename=u-boot.imx\0" \ "update_sd_firmware=" \ "if test ${ip_dyn} = yes; then " \
@@ -115,8 +111,6 @@"mmc write ${loadaddr} 0x2 ${fw_sz}; " \"fi; " \"fi\0" \ -"mmcargs=setenv bootargs console=${console},${baudrate} " \ -"root=${mmcroot}; run videoargs\0" \"videoargs=" \"setenv nextcon 0; " \"if hdmidet; then " \
@@ -143,51 +137,6 @@"echo '- no FWBADAPT-7WVGA-LCD-F07A-0102 display';" \"fi; " \"setenv bootargs ${bootargs} ${fbmem}\0" \ -"loadbootscript=" \ -"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ -"bootscript=echo Running bootscript from mmc ...; " \ -"source\0" \ -"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ -"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdtfile}\0" \ -"mmcboot=echo Booting from mmc ...; " \ -"run mmcargs; " \ -"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ -"if run loadfdt; then " \ -"bootz ${loadaddr} - ${fdt_addr}; " \ -"else " \ -"if test ${boot_fdt} = try; then " \ -"bootz; " \ -"else " \ -"echo WARN: Cannot load the DT; " \ -"fi; " \ -"fi; " \ -"else " \ -"bootz; " \ -"fi;\0" \ -"netargs=setenv bootargs console=${console},${baudrate} " \ -"root=/dev/nfs " \ -"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ -"netboot=echo Booting from net ...; " \ -"run netargs; " \ -"if test ${ip_dyn} = yes; then " \ -"setenv get_cmd dhcp; " \ -"else " \ -"setenv get_cmd tftp; " \ -"fi; " \ -"${get_cmd} ${image}; " \ -"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ -"if ${get_cmd} ${fdt_addr} ${fdtfile}; then " \ -"bootz ${loadaddr} - ${fdt_addr}; " \ -"else " \ -"if test ${boot_fdt} = try; then " \ -"bootz; " \ -"else " \ -"echo WARN: Cannot load the DT; " \ -"fi; " \ -"fi; " \ -"else " \ -"bootz; " \ -"fi;\0" \"findfdt=" \"if test $board_name = C1 && test $board_rev = MX6Q ; then " \"setenv fdtfile imx6q-wandboard.dtb; fi; " \
@@ -199,19 +148,26 @@"setenv fdtfile imx6dl-wandboard-revb1.dtb; fi; " \"if test $fdtfile = undefined; then " \"echo WARNING: Could not determine dtb to use; fi; \0" \ + "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ + "pxe_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ +"ramdisk_addr_r=0x13000000\0" \ +"ramdiskaddr=0x13000000\0" \ + "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ + BOOTENV + +#define BOOT_TARGET_DEVICES (func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ + func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na)#define CONFIG_BOOTCOMMAND \ "run findfdt; " \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ - "else " \ - "if run loadimage; then " \ - "run mmcboot; " \ - "else run netboot; " \ - "fi; " \ - "fi; " \ - "else run netboot; fi" + "run distro_bootcmd" + +#include <config_distro_defaults.h> +#include <config_distro_bootcmd.h> /* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1
Signature · 1 line
2.1.4
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Hi Vagrant,
include/configs/wandboard.h line 163
Quoted 6 lines · Vagrant Cascadian
include/configs/wandboard.h +6
-0+#define BOOT_TARGET_DEVICES (func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ + func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na)
I never used config_distro_bootcmd, so let me ask you: is there a TFTP variant for func() as well?
In the current script we can switch from TFTP/DHCP very easily.
Also, how can do we switch from booting the rootfs from mmc versus NFS mount?
Regards,
Fabio Estevam
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 10 lines · Fabio Estevam
include/configs/wandboard.h line 163
Quoted 6 lines · Vagrant Cascadian
include/configs/wandboard.h +6
-0+#define BOOT_TARGET_DEVICES (func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ + func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na)
Quoted 2 lines
I never used
config_distro_bootcmd, so let me ask you: is there a TFTP variant forfunc()as well?
Both PXE and DHCP download an extlinux-style config (or boot script) via TFTP, which then decides what kernel, initrd, dtb, etc. to load. Other boot methods work similarly, loading from local media.
Quoted 1 line
In the current script we can switch from TFTP/DHCP very easily.
You can override the default boot order by changing the boot_targets variable.
Quoted 1 line
Also, how can do we switch from booting the rootfs from mmc versus NFS mount?
That would be defined in the extlinux-style config or boot script.
So, it doesn't exactly replicate the prior functionality, though it provides similar methods.
This is why I originally proposed to make it fallback to the old behavior, then you could set boot_targets to empty and still have the old style booting; but opinions may differ on all this. :)
Mostly, I'm seeking to standardize on a common configuration for as many boards as we can in Debian (and ideally in upstream u-boot, to minimize long-term maintenance), so that various supported boards at least behave similarly by default.
A lot of goals and functionality is documented reasonably well in doc/README.distro.
live well,
vagrant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151027/3a2b0d9c/attachment.sig>
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 36 lines · Vagrant Cascadian
Quoted 10 lines · Fabio Estevam
include/configs/wandboard.h line 163
Quoted 6 lines · Vagrant Cascadian
include/configs/wandboard.h +6
-0+#define BOOT_TARGET_DEVICES (func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ + func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na)Quoted 2 lines
I never used
config_distro_bootcmd, so let me ask you: is there a TFTP variant forfunc()as well?Both PXE and DHCP download an extlinux-style config (or boot script) via TFTP, which then decides what kernel, initrd, dtb, etc. to load. Other boot methods work similarly, loading from local media.
Quoted 1 line
In the current script we can switch from TFTP/DHCP very easily.
You can override the default boot order by changing the
boot_targetsvariable.Quoted 1 line
Also, how can do we switch from booting the rootfs from mmc versus NFS mount?
That would be defined in the extlinux-style config or boot script.
So, it doesn't exactly replicate the prior functionality, though it provides similar methods.
This is why I originally proposed to make it fallback to the old behavior, then you could set
boot_targetsto empty and still have the old style booting; but opinions may differ on all this. :)
Quoted 7 lines
Mostly, I'm seeking to standardize on a common configuration for as many boards as we can in Debian (and ideally in upstream u-boot, to minimize long-term maintenance), so that various supported boards at least behave similarly by default.
A lot of goals and functionality is documented reasonably well in doc/README.distro.
Agreed and I think for community and reference boards the distro environment provides some benefits as standardization and flexibility.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
In reply to Vagrant CascadianQuoted 3 lines · Vagrant Cascadian
This is why I originally proposed to make it fallback to the old behavior, then you could set
boot_targetsto empty and still have the old style booting; but opinions may differ on all this. :)
Making it fallback to the old behavior would be a nice transition IMHO.
Otavio, what do you think?
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 9 lines · Fabio Estevam
Quoted 3 lines · Vagrant Cascadian
This is why I originally proposed to make it fallback to the old behavior, then you could set
boot_targetsto empty and still have the old style booting; but opinions may differ on all this. :)Making it fallback to the old behavior would be a nice transition IMHO.
Otavio, what do you think?
Yes and no; to be honest, the Yocto Project does not support the old behavior but we should.
I think we ought to convert and work to properly support it, the fallback should not be supported.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 3 lines · Karsten Merker
if the legacy environment gets removed anyway, I would like to propose changing the console variable to "console=ttymxc0,115200" to bring it in line with the other boards using
distro_bootcmd.
I am fine with this change.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH v2 1/1 arm: imx: Switch Wandboard to use config_distro_bootcmd.h.
Quoted 6 lines · Otavio Salvador
Quoted 3 lines · Karsten Merker
if the legacy environment gets removed anyway, I would like to propose changing the console variable to "console=ttymxc0,115200" to bring it in line with the other boards using
distro_bootcmd.I am fine with this change.
ok - I'll fix it by applying.
Applied to u-boot-imx, thanks !
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================