Message ID | 1444036039-9104-3-git-send-email-guillaume.gardet@free.fr |
---|---|
State | Superseded |
Delegated to: | Minkyu Kang |
Headers | show |
On Mon, 2015-10-05 at 11:07 +0200, Guillaume GARDET wrote: > Add boot script (boot.scr) support. If no boot script are > found, it boots as usual. Instead of extending the specialized boot script, it would belovely to see the odroid board switch to distro boot commands for a more standardized boot sequence. For reference, if you need an example how to add that while staying backwards compatible see my patchset for am335x boards which did something like that: http://lists.denx.de/pipermail/u-boot/2015-August/225656.html > Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> > Cc: Przemyslaw Marczak <p.marczak@samsung.com> > Cc: Minkyu Kang <mk7.kang@samsung.com> > > --- > include/configs/odroid.h | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/include/configs/odroid.h b/include/configs/odroid.h > index e45b00e..f79847b 100644 > --- a/include/configs/odroid.h > +++ b/include/configs/odroid.h > @@ -108,6 +108,8 @@ > * 2. ROOT: - > */ > #define CONFIG_EXTRA_ENV_SETTINGS \ > + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} > ${scriptaddr} " \ > + "boot.scr\0" \ > "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} > ${kerneladdr} " \ > "${kernelname}\0" \ > "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} > ${initrdaddr} " \ > @@ -129,6 +131,9 @@ > "kernel_args=" \ > "setenv bootargs > root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ > " rootwait ${console} ${opts}\0" \ > + "boot_script=" \ > + "run loadbootscript;" \ > + "source ${scriptaddr}\0" \ > "boot_fit=" \ > "setenv kerneladdr 0x42000000;" \ > "setenv kernelname Image.itb;" \ > @@ -152,6 +157,9 @@ > "run kernel_args;" \ > "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" > \ > "autoboot=" \ > + "if test -e mmc 0 boot.scr; then; " \ > + "run boot_script; " \ > + "fi; " \ > "if test -e mmc 0 Image.itb; then; " \ > "run boot_fit;" \ > "elif test -e mmc 0 zImage; then; " \ > @@ -171,6 +179,7 @@ > "consoleoff=set console console=ram; save; reset\0" \ > "initrdname=uInitrd\0" \ > "initrdaddr=42000000\0" \ > + "scriptaddr=0x42000000\0" \ > "fdtaddr=40800000\0" > > /* I2C */
Le 05/10/2015 11:13, Sjoerd Simons a écrit : > On Mon, 2015-10-05 at 11:07 +0200, Guillaume GARDET wrote: >> Add boot script (boot.scr) support. If no boot script are >> found, it boots as usual. > Instead of extending the specialized boot script, it would belovely to > see the odroid board switch to distro boot commands for a more > standardized boot sequence. This would be a better solution but also a much bigger work. Morevover, the backward compatibility will be harder to verify. So, for now, I will stick with this patch. But if you want to do it, please do it. :) Guillaume > > For reference, if you need an example how to add that while staying > backwards compatible see my patchset for am335x boards which did > something like that: > > http://lists.denx.de/pipermail/u-boot/2015-August/225656.html > >> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >> Cc: Przemyslaw Marczak <p.marczak@samsung.com> >> Cc: Minkyu Kang <mk7.kang@samsung.com> >> >> --- >> include/configs/odroid.h | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/include/configs/odroid.h b/include/configs/odroid.h >> index e45b00e..f79847b 100644 >> --- a/include/configs/odroid.h >> +++ b/include/configs/odroid.h >> @@ -108,6 +108,8 @@ >> * 2. ROOT: - >> */ >> #define CONFIG_EXTRA_ENV_SETTINGS \ >> + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} >> ${scriptaddr} " \ >> + "boot.scr\0" \ >> "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} >> ${kerneladdr} " \ >> "${kernelname}\0" \ >> "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} >> ${initrdaddr} " \ >> @@ -129,6 +131,9 @@ >> "kernel_args=" \ >> "setenv bootargs >> root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ >> " rootwait ${console} ${opts}\0" \ >> + "boot_script=" \ >> + "run loadbootscript;" \ >> + "source ${scriptaddr}\0" \ >> "boot_fit=" \ >> "setenv kerneladdr 0x42000000;" \ >> "setenv kernelname Image.itb;" \ >> @@ -152,6 +157,9 @@ >> "run kernel_args;" \ >> "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" >> \ >> "autoboot=" \ >> + "if test -e mmc 0 boot.scr; then; " \ >> + "run boot_script; " \ >> + "fi; " \ >> "if test -e mmc 0 Image.itb; then; " \ >> "run boot_fit;" \ >> "elif test -e mmc 0 zImage; then; " \ >> @@ -171,6 +179,7 @@ >> "consoleoff=set console console=ram; save; reset\0" \ >> "initrdname=uInitrd\0" \ >> "initrdaddr=42000000\0" \ >> + "scriptaddr=0x42000000\0" \ >> "fdtaddr=40800000\0" >> >> /* I2C */
Hi Sjoerd, On 10/05/2015 11:13 AM, Sjoerd Simons wrote: > On Mon, 2015-10-05 at 11:07 +0200, Guillaume GARDET wrote: >> Add boot script (boot.scr) support. If no boot script are >> found, it boots as usual. > > Instead of extending the specialized boot script, it would belovely to > see the odroid board switch to distro boot commands for a more > standardized boot sequence. > > For reference, if you need an example how to add that while staying > backwards compatible see my patchset for am335x boards which did > something like that: > > http://lists.denx.de/pipermail/u-boot/2015-August/225656.html > You're right. I will move it some day as it is in XU3, but for now I have some other things to do, so I prefer accept this patch. It's only few lines. >> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >> Cc: Przemyslaw Marczak <p.marczak@samsung.com> >> Cc: Minkyu Kang <mk7.kang@samsung.com> >> >> --- >> include/configs/odroid.h | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/include/configs/odroid.h b/include/configs/odroid.h >> index e45b00e..f79847b 100644 >> --- a/include/configs/odroid.h >> +++ b/include/configs/odroid.h >> @@ -108,6 +108,8 @@ >> * 2. ROOT: - >> */ >> #define CONFIG_EXTRA_ENV_SETTINGS \ >> + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} >> ${scriptaddr} " \ >> + "boot.scr\0" \ >> "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} >> ${kerneladdr} " \ >> "${kernelname}\0" \ >> "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} >> ${initrdaddr} " \ >> @@ -129,6 +131,9 @@ >> "kernel_args=" \ >> "setenv bootargs >> root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ >> " rootwait ${console} ${opts}\0" \ >> + "boot_script=" \ >> + "run loadbootscript;" \ >> + "source ${scriptaddr}\0" \ >> "boot_fit=" \ >> "setenv kerneladdr 0x42000000;" \ >> "setenv kernelname Image.itb;" \ >> @@ -152,6 +157,9 @@ >> "run kernel_args;" \ >> "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" >> \ >> "autoboot=" \ >> + "if test -e mmc 0 boot.scr; then; " \ >> + "run boot_script; " \ >> + "fi; " \ >> "if test -e mmc 0 Image.itb; then; " \ >> "run boot_fit;" \ >> "elif test -e mmc 0 zImage; then; " \ >> @@ -171,6 +179,7 @@ >> "consoleoff=set console console=ram; save; reset\0" \ >> "initrdname=uInitrd\0" \ >> "initrdaddr=42000000\0" \ >> + "scriptaddr=0x42000000\0" \ >> "fdtaddr=40800000\0" >> >> /* I2C */ > Best regards,
Hello Guillaume, On 10/05/2015 11:07 AM, Guillaume GARDET wrote: > Add boot script (boot.scr) support. If no boot script are > found, it boots as usual. > > Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> > Cc: Przemyslaw Marczak <p.marczak@samsung.com> > Cc: Minkyu Kang <mk7.kang@samsung.com> > > --- > include/configs/odroid.h | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/include/configs/odroid.h b/include/configs/odroid.h > index e45b00e..f79847b 100644 > --- a/include/configs/odroid.h > +++ b/include/configs/odroid.h > @@ -108,6 +108,8 @@ > * 2. ROOT: - > */ > #define CONFIG_EXTRA_ENV_SETTINGS \ > + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \ > + "boot.scr\0" \ > "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \ > "${kernelname}\0" \ > "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \ > @@ -129,6 +131,9 @@ > "kernel_args=" \ > "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ > " rootwait ${console} ${opts}\0" \ > + "boot_script=" \ > + "run loadbootscript;" \ > + "source ${scriptaddr}\0" \ > "boot_fit=" \ > "setenv kerneladdr 0x42000000;" \ > "setenv kernelname Image.itb;" \ > @@ -152,6 +157,9 @@ > "run kernel_args;" \ > "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \ > "autoboot=" \ > + "if test -e mmc 0 boot.scr; then; " \ > + "run boot_script; " \ > + "fi; " \ Why you not use "elif"? Last time I gave you the correct version: "if test -e mmc 0 boot.scr; then; " \ "run bootscript; " \ "elif test -e mmc 0 Image.itb; then; " \ > "if test -e mmc 0 Image.itb; then; " \ > "run boot_fit;" \ > "elif test -e mmc 0 zImage; then; " \ > @@ -171,6 +179,7 @@ > "consoleoff=set console console=ram; save; reset\0" \ > "initrdname=uInitrd\0" \ > "initrdaddr=42000000\0" \ > + "scriptaddr=0x42000000\0" \ > "fdtaddr=40800000\0" > > /* I2C */ > Best regards
Le 09/10/2015 12:24, Przemyslaw Marczak a écrit : > Hello Guillaume, > > On 10/05/2015 11:07 AM, Guillaume GARDET wrote: >> Add boot script (boot.scr) support. If no boot script are >> found, it boots as usual. >> >> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >> Cc: Przemyslaw Marczak <p.marczak@samsung.com> >> Cc: Minkyu Kang <mk7.kang@samsung.com> >> >> --- >> include/configs/odroid.h | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/include/configs/odroid.h b/include/configs/odroid.h >> index e45b00e..f79847b 100644 >> --- a/include/configs/odroid.h >> +++ b/include/configs/odroid.h >> @@ -108,6 +108,8 @@ >> * 2. ROOT: - >> */ >> #define CONFIG_EXTRA_ENV_SETTINGS \ >> + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \ >> + "boot.scr\0" \ >> "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \ >> "${kernelname}\0" \ >> "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \ >> @@ -129,6 +131,9 @@ >> "kernel_args=" \ >> "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ >> " rootwait ${console} ${opts}\0" \ >> + "boot_script=" \ >> + "run loadbootscript;" \ >> + "source ${scriptaddr}\0" \ >> "boot_fit=" \ >> "setenv kerneladdr 0x42000000;" \ >> "setenv kernelname Image.itb;" \ >> @@ -152,6 +157,9 @@ >> "run kernel_args;" \ >> "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \ >> "autoboot=" \ >> + "if test -e mmc 0 boot.scr; then; " \ >> + "run boot_script; " \ >> + "fi; " \ > > Why you not use "elif"? Last time I gave you the correct version: > > "if test -e mmc 0 boot.scr; then; " \ > "run bootscript; " \ > "elif test -e mmc 0 Image.itb; then; " \ Because, if boot script fails, then it allows to try to boot kernel directly. If you prefer the 'elif' version, I am fine with it. If 'elif' version is preferred, would you be ok to modify it directly (faster) or would you like a V3? Guillaume > >> "if test -e mmc 0 Image.itb; then; " \ >> "run boot_fit;" \ >> "elif test -e mmc 0 zImage; then; " \ >> @@ -171,6 +179,7 @@ >> "consoleoff=set console console=ram; save; reset\0" \ >> "initrdname=uInitrd\0" \ >> "initrdaddr=42000000\0" \ >> + "scriptaddr=0x42000000\0" \ >> "fdtaddr=40800000\0" >> >> /* I2C */ >> > > Best regards
Hello, On 10/09/2015 01:59 PM, Guillaume Gardet wrote: > > > Le 09/10/2015 12:24, Przemyslaw Marczak a écrit : >> Hello Guillaume, >> >> On 10/05/2015 11:07 AM, Guillaume GARDET wrote: >>> Add boot script (boot.scr) support. If no boot script are >>> found, it boots as usual. >>> >>> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >>> Cc: Przemyslaw Marczak <p.marczak@samsung.com> >>> Cc: Minkyu Kang <mk7.kang@samsung.com> >>> >>> --- >>> include/configs/odroid.h | 9 +++++++++ >>> 1 file changed, 9 insertions(+) >>> >>> diff --git a/include/configs/odroid.h b/include/configs/odroid.h >>> index e45b00e..f79847b 100644 >>> --- a/include/configs/odroid.h >>> +++ b/include/configs/odroid.h >>> @@ -108,6 +108,8 @@ >>> * 2. ROOT: - >>> */ >>> #define CONFIG_EXTRA_ENV_SETTINGS \ >>> + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} >>> ${scriptaddr} " \ >>> + "boot.scr\0" \ >>> "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} >>> " \ >>> "${kernelname}\0" \ >>> "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} >>> " \ >>> @@ -129,6 +131,9 @@ >>> "kernel_args=" \ >>> "setenv bootargs >>> root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ >>> " rootwait ${console} ${opts}\0" \ >>> + "boot_script=" \ >>> + "run loadbootscript;" \ >>> + "source ${scriptaddr}\0" \ >>> "boot_fit=" \ >>> "setenv kerneladdr 0x42000000;" \ >>> "setenv kernelname Image.itb;" \ >>> @@ -152,6 +157,9 @@ >>> "run kernel_args;" \ >>> "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \ >>> "autoboot=" \ >>> + "if test -e mmc 0 boot.scr; then; " \ >>> + "run boot_script; " \ >>> + "fi; " \ >> >> Why you not use "elif"? Last time I gave you the correct version: >> >> "if test -e mmc 0 boot.scr; then; " \ >> "run bootscript; " \ >> "elif test -e mmc 0 Image.itb; then; " \ > > Because, if boot script fails, then it allows to try to boot kernel > directly. > If you prefer the 'elif' version, I am fine with it. I think, that only one boot path should be chosen at each boot. Even if boot script will fail, it means, that the boot path was found, and loading uImage directly is not preferred - since maybe something can be missing then. If user wants boot from script, then he puts it to disk, if not then he can choose one of supported image type, but not all at a time. > > If 'elif' version is preferred, would you be ok to modify it directly > (faster) or would you like a V3? > > > Guillaume > I suggested that version to you in last review. I would like to apply locally the patch and test, if can compile with no error/warning, make test of run the board and test of booting the kernel. And after positive test sequence, your patch will be acked, and then can be taken by Minkyu. So yes, please send the correct version. > > >> >>> "if test -e mmc 0 Image.itb; then; " \ >>> "run boot_fit;" \ >>> "elif test -e mmc 0 zImage; then; " \ >>> @@ -171,6 +179,7 @@ >>> "consoleoff=set console console=ram; save; reset\0" \ >>> "initrdname=uInitrd\0" \ >>> "initrdaddr=42000000\0" \ >>> + "scriptaddr=0x42000000\0" \ >>> "fdtaddr=40800000\0" >>> >>> /* I2C */ >>> >> >> Best regards > > Best regards
diff --git a/include/configs/odroid.h b/include/configs/odroid.h index e45b00e..f79847b 100644 --- a/include/configs/odroid.h +++ b/include/configs/odroid.h @@ -108,6 +108,8 @@ * 2. ROOT: - */ #define CONFIG_EXTRA_ENV_SETTINGS \ + "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \ + "boot.scr\0" \ "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \ "${kernelname}\0" \ "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \ @@ -129,6 +131,9 @@ "kernel_args=" \ "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \ " rootwait ${console} ${opts}\0" \ + "boot_script=" \ + "run loadbootscript;" \ + "source ${scriptaddr}\0" \ "boot_fit=" \ "setenv kerneladdr 0x42000000;" \ "setenv kernelname Image.itb;" \ @@ -152,6 +157,9 @@ "run kernel_args;" \ "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \ "autoboot=" \ + "if test -e mmc 0 boot.scr; then; " \ + "run boot_script; " \ + "fi; " \ "if test -e mmc 0 Image.itb; then; " \ "run boot_fit;" \ "elif test -e mmc 0 zImage; then; " \ @@ -171,6 +179,7 @@ "consoleoff=set console console=ram; save; reset\0" \ "initrdname=uInitrd\0" \ "initrdaddr=42000000\0" \ + "scriptaddr=0x42000000\0" \ "fdtaddr=40800000\0" /* I2C */
Add boot script (boot.scr) support. If no boot script are found, it boots as usual. Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> --- include/configs/odroid.h | 9 +++++++++ 1 file changed, 9 insertions(+)