[LEDE-DEV] [PATCH 1/2] Octeon: Use ext4 on mmcblk0p3 per default for ER.

Daniel Danzberger daniel at dd-wrt.com
Mon Aug 22 05:06:00 PDT 2016


This patch defaults the rootfs to ext4 on the Ubnt Edgerouter.
The Edgerouter Lite is not affacted by this patch.

Why EXT4 and not squashfs + jiffs ?
-----------------------------------
The internal mmc flash is badly partitioned.

Disk /dev/mmcblk0: 3.7 GiB, 3959422976 bytes, 7733248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Device         Boot  Start     End Sectors  Size Id Type
/dev/mmcblk0p1 *        63   17135   17073  8.3M 83 Linux
/dev/mmcblk0p2       17199  149183  131985 64.5M 83 Linux
/dev/mmcblk0p3      149247 2246831 2097585    1G 83 Linux

block2mtd requires a block size that is a divisor of the device size.
Both p2 and p3 can only be divided by the sector size 512,
but Jiffs won't work with a blocksize of 512 bytes.

This also fixes a boot hang, when the kernel tries to mount /root.
The old commandline was: block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs,15

This line caused the following error message and stopped booting:
"block2mtd: erasesize must be a divisor of device size"

Signed-off-by: Daniel Danzberger <daniel at dd-wrt.com>
---
 target/linux/octeon/image/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/target/linux/octeon/image/Makefile b/target/linux/octeon/image/Makefile
index ab91d06..da0d072 100644
--- a/target/linux/octeon/image/Makefile
+++ b/target/linux/octeon/image/Makefile
@@ -14,8 +14,9 @@ define Device/Default
   KERNEL := kernel-bin | strip-kernel | patch-cmdline
   IMAGES := sysupgrade.tar
   IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@
+  IMAGE/sysupgrade.tar/ext4 := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@
   IMAGE/sysupgrade.tar := sysupgrade-tar
-  FILESYSTEMS := squashfs
+  FILESYSTEMS := squashfs ext4
 endef
 
 define Build/strip-kernel
@@ -29,7 +30,7 @@ define Device/generic
 endef
 TARGET_DEVICES += generic
 
-ER_CMDLINE:=-mtdparts=phys_mapped_flash:640k(boot0)ro,640k(boot1)ro,64k(eeprom)ro block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs,15 root=/dev/mtdblock3 rootfstype=squashfs rootwait
+ER_CMDLINE:=-mtdparts=phys_mapped_flash:640k(boot0)ro,640k(boot1)ro,64k(eeprom)ro block2mtd.block2mtd=/dev/mmcblk0p3,512,rootfs,15 rootfstype=ext4 root=/dev/mtdblock3 rootwait
 define Device/er
   CMDLINE := $(ER_CMDLINE) 
   DEVICE_TITLE := Ubiquiti EdgeRouter
-- 
1.9.1




More information about the Lede-dev mailing list