Skip to content

Commit 28dd6b7

Browse files
Abhimanyu Vabhimanyuv-img
authored andcommitted
fix booting from kernel for non-ubifs rootfs
Openwrt have squashfs rootfs but legacy and other variant uses ubifs rootfs. To make all compatible dont pass root= for kernel booting from kernel ubi volume. For others, pass root= to correctly identify rootfs filesystem. Signed-off-by: Abhimanyu Vishwakarma <[email protected]>
1 parent 16d492a commit 28dd6b7

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

include/configs/pistachio_bub.h

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -289,16 +289,13 @@
289289
#define BOOT_ENV_LEGACY \
290290
"fdtaddr=0x0D000000\0"\
291291
"fdtfile="PISTACHIO_BOARD_NAME".dtb\0"\
292-
"legacy_bootfile=uImage\0"\
293-
"legacy_nandroot=root=ubi0:rootfs rootfstype=ubifs\0"
292+
"legacy_bootfile=uImage\0"
294293

295294
#define NAND_BOOTCOMMAND_LEGACY \
296-
"setenv legacy_nandroot ubi.mtd=firmware$boot_partition $legacy_nandroot;"\
297-
"setenv bootargs $console $earlycon $legacy_nandroot $bootextra $mtdparts panic=2;"\
298-
"echo Loading legacy kernel from rootfs... && "\
295+
"echo Loading legacy kernel (uImage) from rootfs... && "\
299296
"ubifsload $loadaddr $bootdir$legacy_bootfile && "\
300297
"ubifsload $fdtaddr $bootdir$fdtfile && "\
301-
"bootm $loadaddr - $fdtaddr || "
298+
"bootm $loadaddr - $fdtaddr || reset;"
302299

303300
#else
304301

@@ -307,18 +304,25 @@
307304

308305
#endif
309306

307+
/*
308+
* Openwrt have squashfs rootfs but legacy and other variant uses ubifs
309+
* rootfs. To make all compatible dont pass root= for kernel booting
310+
* from kernel ubi volume. For others, pass root= to correctly identify
311+
* rootfs filesystem.
312+
*/
310313
#define NAND_BOOTCOMMAND \
311-
"setenv nandroot ubi.mtd=firmware$boot_partition $nandroot;"\
312-
"setenv bootargs $console $earlycon $nandroot $bootextra $mtdparts panic=2;"\
313314
"echo Attempting to boot from firmware$boot_partition;"\
315+
"setenv ubimtd ubi.mtd=firmware$boot_partition;"\
314316
"ubi part firmware$boot_partition || reset;"\
315317
"if ubi check kernel; then "\
316318
"echo Loading kernel from volume...;"\
319+
"setenv bootargs $console $earlycon $ubimtd $bootextra $mtdparts panic=2;"\
317320
"ubi read $loadaddr kernel || reset;"\
318321
"else "\
319322
"echo Loading kernel from rootfs...;"\
323+
"setenv bootargs $console $earlycon $ubimtd $nandroot $bootextra $mtdparts panic=2; && "\
320324
"ubifsmount ubi:rootfs && "\
321-
"ubifsload $loadaddr $bootdir$fitfile || "NAND_BOOTCOMMAND_LEGACY"reset;"\
325+
"ubifsload $loadaddr $bootdir$fitfile || "NAND_BOOTCOMMAND_LEGACY" "\
322326
"fi;"
323327

324328
#define ALT_BOOTCOMMAND \
@@ -355,7 +359,7 @@
355359
"netroot=root=/dev/nfs rootfstype=nfs ip=dhcp\0"\
356360
"usbroot=root=/dev/sda1\0"\
357361
"mmcroot=root=/dev/mmcblk0p1\0"\
358-
"nandroot=\0"\
362+
"nandroot=root=ubi0:rootfs rootfstype=ubifs\0"\
359363
"usbdev=0\0"\
360364
"mmcdev=0\0"\
361365
"usbboot="INIT_BOOTCOMMAND USB_BOOTCOMMAND FINAL_BOOTCOMMAND"\0"\

0 commit comments

Comments
 (0)