[U-Boot] [PATCH 0/4] ARM: sheevaplug: misc fixes

Hi,
The following patch series fixes a number of issues I noticed while updating a sheevaplug from 2013.10 to 2016.01:
Peter Korsgaard (4): ARM: sheevaplug: unbreak default environment ARM: sheevaplug: unbreak kernel bootargs / mtdparts command by dropping double mtdparts= ARM: sheevaplug: drop unneded 'usb start' from boot command ARM: sheevaplug: correct nand partition layout
-- Bye, Peter Korsgaard

Commit 1e3d640316 (ARM: sheevaplug: redefine MTDPARTS) changed the mtdparts part of the default environment, but dropped the trailing zero termination - So the definition of x_bootcmd_kernel becomes part of the x_bootargs variable.
Fix it by reintroducing the zero termination.
Signed-off-by: Peter Korsgaard peter@korsgaard.com --- include/configs/sheevaplug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h index ebc3d64..7d773a8 100644 --- a/include/configs/sheevaplug.h +++ b/include/configs/sheevaplug.h @@ -65,7 +65,7 @@ #define CONFIG_MTDPARTS \ "mtdparts=orion_nand:512K(uboot)," \ "512K(env),1M(script),6M(kernel)," \ - "12M(ramdisk),4M(spare),-(rootfs)" + "12M(ramdisk),4M(spare),-(rootfs)\0"
#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \

Commit 1e3d640316 (ARM: sheevaplug: redefine MTDPARTS) prepended mtdparts= to the flash partition information in CONFIG_MTDPARTS, but it is used like "mtdparts=" CONFIG_MTDPARTS - So we end up passing mtdparts=mtdparts=.. to the kernel, confusing the cmdline partition parser.
Fix it by dropping the double 'mtdparts='.
Signed-off-by: Peter Korsgaard peter@korsgaard.com --- include/configs/sheevaplug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h index 7d773a8..8110f83 100644 --- a/include/configs/sheevaplug.h +++ b/include/configs/sheevaplug.h @@ -63,7 +63,7 @@ "${x_bootcmd_usb}; bootm 0x6400000;"
#define CONFIG_MTDPARTS \ - "mtdparts=orion_nand:512K(uboot)," \ + "orion_nand:512K(uboot)," \ "512K(env),1M(script),6M(kernel)," \ "12M(ramdisk),4M(spare),-(rootfs)\0"

The default bootcommand executes x_bootcmd_usb AFTER loading a kernel from nand and just before executing it, which only slows down boot without adding any functionality - So drop it.
Signed-off-by: Peter Korsgaard peter@korsgaard.com --- include/configs/sheevaplug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h index 8110f83..c529636 100644 --- a/include/configs/sheevaplug.h +++ b/include/configs/sheevaplug.h @@ -60,7 +60,7 @@ */ #define CONFIG_BOOTCOMMAND "${x_bootcmd_kernel}; " \ "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ - "${x_bootcmd_usb}; bootm 0x6400000;" + "bootm 0x6400000;"
#define CONFIG_MTDPARTS \ "orion_nand:512K(uboot)," \

Commit 1e3d640316 (ARM: sheevaplug: redefine MTDPARTS) changed the partition layout (without any description why), but didn't change the offset/size to load the kernel from or the root=/dev/mtdblockX in the bootargs.
The 3MB forseen for a kernel is furthermore too little. A 4.4 build of mvebu_v5_defconfig is 3.6MB:
-rw-r--r-- 1 peko peko 3.6M Jan 16 20:24 uImage.kirkwood-sheevaplug
When device tree support for sheevaplug was added to the kernel in commit ee514b381e (ARM: Kirkwood: Add dts files for Sheevaplug and eSATA Sheevaplug) a default flash partition layout (used if mtdparts= isn't passed on the command line / CONFIG_MTD_CMDLINE_PARTS isn't enabled) with 1MB for u-boot / environment, 4MB for the kernel and the rest for the rootfs, so use that layout here and adjust the kernel loading to match.
Signed-off-by: Peter Korsgaard peter@korsgaard.com --- include/configs/sheevaplug.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h index c529636..f9fb9bc 100644 --- a/include/configs/sheevaplug.h +++ b/include/configs/sheevaplug.h @@ -64,12 +64,12 @@
#define CONFIG_MTDPARTS \ "orion_nand:512K(uboot)," \ - "512K(env),1M(script),6M(kernel)," \ - "12M(ramdisk),4M(spare),-(rootfs)\0" + "512K(env),4M(kernel)," \ + "-(rootfs)\0"
#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ - "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ + "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x400000\0" \ "x_bootcmd_usb=usb start\0" \ "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0"

On Sun, Jan 17, 2016 at 06:23:45PM +0100, Peter Korsgaard wrote:
Commit 1e3d640316 (ARM: sheevaplug: redefine MTDPARTS) changed the partition layout (without any description why), but didn't change the offset/size to load the kernel from or the root=/dev/mtdblockX in the bootargs.
The 3MB forseen for a kernel is furthermore too little. A 4.4 build of mvebu_v5_defconfig is 3.6MB:
-rw-r--r-- 1 peko peko 3.6M Jan 16 20:24 uImage.kirkwood-sheevaplug
When device tree support for sheevaplug was added to the kernel in commit ee514b381e (ARM: Kirkwood: Add dts files for Sheevaplug and eSATA Sheevaplug) a default flash partition layout (used if mtdparts= isn't passed on the command line / CONFIG_MTD_CMDLINE_PARTS isn't enabled) with 1MB for u-boot / environment, 4MB for the kernel and the rest for the rootfs, so use that layout here and adjust the kernel loading to match.
Signed-off-by: Peter Korsgaard peter@korsgaard.com
include/configs/sheevaplug.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h index c529636..f9fb9bc 100644 --- a/include/configs/sheevaplug.h +++ b/include/configs/sheevaplug.h @@ -64,12 +64,12 @@
#define CONFIG_MTDPARTS \ "orion_nand:512K(uboot)," \
- "512K(env),1M(script),6M(kernel)," \
- "12M(ramdisk),4M(spare),-(rootfs)\0"
- "512K(env),4M(kernel)," \
- "-(rootfs)\0"
#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \
- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \
- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x400000\0" \ "x_bootcmd_usb=usb start\0" \ "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0"
Can I suggest future proofing this by using the names set in MTDPARTS instead of direct offsets? Thanks!

"Tom" == Tom Rini trini@konsulko.com writes:
Hi,
#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \
- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \
- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x400000\0" \
"x_bootcmd_usb=usb start\0" \ "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0"
Can I suggest future proofing this by using the names set in MTDPARTS instead of direct offsets? Thanks!
True. I wanted to do as minimal change as possible, but I'll take a look at using mtdparts and send a patch.
Thanks.

On 17.01.2016 18:23, Peter Korsgaard wrote:
Commit 1e3d640316 (ARM: sheevaplug: redefine MTDPARTS) changed the partition layout (without any description why), but didn't change the offset/size to load the kernel from or the root=/dev/mtdblockX in the bootargs.
The 3MB forseen for a kernel is furthermore too little. A 4.4 build of mvebu_v5_defconfig is 3.6MB:
-rw-r--r-- 1 peko peko 3.6M Jan 16 20:24 uImage.kirkwood-sheevaplug
When device tree support for sheevaplug was added to the kernel in commit ee514b381e (ARM: Kirkwood: Add dts files for Sheevaplug and eSATA Sheevaplug) a default flash partition layout (used if mtdparts= isn't passed on the command line / CONFIG_MTD_CMDLINE_PARTS isn't enabled) with 1MB for u-boot / environment, 4MB for the kernel and the rest for the rootfs, so use that layout here and adjust the kernel loading to match.
Signed-off-by: Peter Korsgaard peter@korsgaard.com
Applied to u-boot-marvell/master.
Thanks, Stefan

On Sun, Jan 17, 2016 at 06:23:41PM +0100, Peter Korsgaard wrote:
The following patch series fixes a number of issues I noticed while updating a sheevaplug from 2013.10 to 2016.01:
Peter Korsgaard (4): ARM: sheevaplug: unbreak default environment ARM: sheevaplug: unbreak kernel bootargs / mtdparts command by dropping double mtdparts= ARM: sheevaplug: drop unneded 'usb start' from boot command ARM: sheevaplug: correct nand partition layout
Queued in marvell master. Thanks!
Luka

"Luka" == Luka Perkov luka.perkov@sartura.hr writes:
Hi,
On Sun, Jan 17, 2016 at 06:23:41PM +0100, Peter Korsgaard wrote:
The following patch series fixes a number of issues I noticed while updating a sheevaplug from 2013.10 to 2016.01:
Peter Korsgaard (4): ARM: sheevaplug: unbreak default environment ARM: sheevaplug: unbreak kernel bootargs / mtdparts command by dropping double mtdparts= ARM: sheevaplug: drop unneded 'usb start' from boot command ARM: sheevaplug: correct nand partition layout
Queued in marvell master. Thanks!
What happened to this? I don't see it 2016.03 or in http://git.denx.de/?p=u-boot/u-boot-marvell.git for that matter.

Hi Peter,
On Mon, Mar 14, 2016 at 11:08:55PM +0100, Peter Korsgaard wrote:
"Luka" == Luka Perkov luka.perkov@sartura.hr writes:
Hi,
On Sun, Jan 17, 2016 at 06:23:41PM +0100, Peter Korsgaard wrote:
The following patch series fixes a number of issues I noticed while updating a sheevaplug from 2013.10 to 2016.01:
Peter Korsgaard (4): ARM: sheevaplug: unbreak default environment ARM: sheevaplug: unbreak kernel bootargs / mtdparts command by dropping double mtdparts= ARM: sheevaplug: drop unneded 'usb start' from boot command ARM: sheevaplug: correct nand partition layout
Queued in marvell master. Thanks!
What happened to this? I don't see it 2016.03 or in http://git.denx.de/?p=u-boot/u-boot-marvell.git for that matter.
I think we lost these by accident when Stefan joined the team as well.
I'll send the pull request shortly.
Luka

"Luka" == Luka Perkov luka.perkov@sartura.hr writes:
Hi,
What happened to this? I don't see it 2016.03 or in http://git.denx.de/?p=u-boot/u-boot-marvell.git for that matter.
I think we lost these by accident when Stefan joined the team as well.
I'll send the pull request shortly.
Thanks!
participants (4)
-
Luka Perkov
-
Peter Korsgaard
-
Stefan Roese
-
Tom Rini