ARM: at91 series: increase size for u-boot and change bootargs
PATCH v2 1/1 ARM: at91 series: increase size for u-boot and change bootargs
As to more features are added into the u-boot, which cause the u-boot size larger than 0x40000 (256KiB), so increase the size for u-boot through move offset of the u-boot environment. Or else, when execute saveenv command, which will erase the end of the u-boot causing it can not boot up again.
Also, the linux kernel image is bigger than 2MiB, so change the bootcmd as the same time.
---
Change since v1:
change the bootargs as to the size of mainline linux kernel image size
--- include/configs/at91sam9260ek.h | 17 ++++++++--------- include/configs/at91sam9261ek.h | 17 ++++++++--------- include/configs/at91sam9263ek.h | 15 ++++++++------- include/configs/at91sam9m10g45ek.h | 15 +++++++-------- 4 files changed, 31 insertions(+), 33 deletions(-)
include/configs/at91sam9260ek.h +8 -9
@@ -210,16 +210,15 @@/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND 1 -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000#define CONFIG_ENV_SIZE 0x20000/* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro," \ - "256k(uboot)ro,128k(env1)ro," \ - "128k(env2)ro,2M(linux),-(root) " \ - "rw rootfstype=jffs2" +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock1 rw rootfstype=jffs2"#endif
include/configs/at91sam9261ek.h +8 -9
@@ -212,16 +212,15 @@/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000#define CONFIG_ENV_SIZE 0x20000/* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro," \ - "256k(uboot)ro,128k(env1)ro," \ - "128k(env2)ro,2M(linux),-(root) " \ - "rw rootfstype=jffs2" +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock1 rw rootfstype=jffs2"#endif
include/configs/at91sam9263ek.h +8 -7
@@ -324,14 +324,15 @@/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND 1 -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000#define CONFIG_ENV_SIZE 0x20000/* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \ - "rw rootfstype=jffs2" +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock1 rw rootfstype=jffs2"#endif
include/configs/at91sam9m10g45ek.h +7 -8
@@ -149,19 +149,18 @@/* bootstrap + u-boot + env in nandflash */ #define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000#define CONFIG_ENV_SIZE 0x20000 -#define CONFIG_BOOTCOMMAND "nand read 0x70000000 0x100000 0x200000;" \ +#define CONFIG_BOOTCOMMAND \ + "nand read 0x70000000 0x200000 0x300000;" \ "bootm 0x70000000"#define CONFIG_BOOTARGS \ "console=ttyS0,115200 earlyprintk " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro," \ - "256k(uboot)ro,128k(env1)ro,128k(env2)ro," \ - "2M at 1M(linux),-(root) " \ - "rw rootfstype=jffs2" + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock1 rw rootfstype=jffs2"#define CONFIG_BAUDRATE 115200
Signature · 1 line
1.7.9.5
PATCH v2 1/1 ARM: at91 series: increase size for u-boot and change bootargs
Dear Bo Shen,
Quoted 36 lines · Bo Shen
As to more features are added into the u-boot, which cause the u-boot size larger than
0x40000(256KiB), so increase the size for u-boot through move offset of the u-boot environment. Or else, when execute saveenv command, which will erase the end of the u-boot causing it can not boot up again.Also, the linux kernel image is bigger than 2MiB, so change the bootcmd as the same time.
Signed-off-by Bo Shen <[email protected]>---
Change since v1:
change the bootargs as to the size of mainline linux kernel image size--- include/configs/at91sam9260ek.h | 17 ++++++++--------- include/configs/at91sam9261ek.h | 17 ++++++++--------- include/configs/at91sam9263ek.h | 15 ++++++++------- include/configs/at91sam9m10g45ek.h | 15 +++++++-------- 4 files changed, 31 insertions(+), 33 deletions(-)include/configs/at91sam9260ek.h +2
-5@@ -210,16 +210,15 @@/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND 1 -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000#define CONFIG_ENV_SIZE 0x20000/* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \
include/configs/at91sam9260ek.h line 221
Quoted 10 lines
include/configs/at91sam9260ek.h +6
-4-"mtdparts=atmel_nand:128k(bootstrap)ro," \ -"256k(uboot)ro,128k(env1)ro," \ -"128k(env2)ro,2M(linux),-(root) " \ -"rw rootfstype=jffs2" +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock1 rw rootfstype=jffs2"
I personally prefer to change bootlaoder related stuff also from linux. With this change you can not access the env partition from linux therefore you can never use tools like fw_pritnenv/fw_setenv. Can you please change this to a reasonable configuration. I think current setups will require about 1 sector for bootstrap, 1 or 2 sectors for each env, about 4 to 6 sectors for u-boot, another bunch of sectors for linux and maybe some place to store a configuration blob (think of 'Falcon mode' or FDT).
Best regards
Andreas Bie?mann
PATCH v2 1/1 ARM: at91 series: increase size for u-boot and change bootargs
Hi Andreas,
Quoted 50 lines · Andreas Bie?mann
Dear Bo Shen,
Quoted 36 lines · Bo Shen
As to more features are added into the u-boot, which cause the u-boot size larger than
0x40000(256KiB), so increase the size for u-boot through move offset of the u-boot environment. Or else, when execute saveenv command, which will erase the end of the u-boot causing it can not boot up again.Also, the linux kernel image is bigger than 2MiB, so change the bootcmd as the same time.
Signed-off-by Bo Shen <[email protected]>---
Change since v1:
change the bootargs as to the size of mainline linux kernel image size--- include/configs/at91sam9260ek.h | 17 ++++++++--------- include/configs/at91sam9261ek.h | 17 ++++++++--------- include/configs/at91sam9263ek.h | 15 ++++++++------- include/configs/at91sam9m10g45ek.h | 15 +++++++-------- 4 files changed, 31 insertions(+), 33 deletions(-)include/configs/at91sam9260ek.h +2
-5@@ -210,16 +210,15 @@/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND 1 -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000#define CONFIG_ENV_SIZE 0x20000/* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \include/configs/at91sam9260ek.h line 221
Quoted 10 lines
include/configs/at91sam9260ek.h +6
-4-"mtdparts=atmel_nand:128k(bootstrap)ro," \ -"256k(uboot)ro,128k(env1)ro," \ -"128k(env2)ro,2M(linux),-(root) " \ -"rw rootfstype=jffs2" +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock1 rw rootfstype=jffs2"
Quoted 8 lines
I personally prefer to change bootlaoder related stuff also from linux. With this change you can not access the env partition from linux therefore you can never use tools like fw_pritnenv/fw_setenv. Can you please change this to a reasonable configuration. I think current setups will require about 1 sector for bootstrap, 1 or 2 sectors for each env, about 4 to 6 sectors for u-boot, another bunch of sectors for linux and maybe some place to store a configuration blob (think of 'Falcon mode' or FDT).
Ok, I will consider this and prepare for the next version. Thanks.
Best Regards,
Bo Shen