aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-06-11 12:59:10 +0000
committerJohn Crispin <blogic@openwrt.org>2014-06-11 12:59:10 +0000
commit41aefc93320d42ff4ae8baab83f61b60c6e65d2b (patch)
tree28b5cc56bd1387953c7206e3e5924fe7a120d186 /target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
parentf9d01db1cd353a17ffee483ff5d225b8f5e7b0ba (diff)
downloadmaster-187ad058-41aefc93320d42ff4ae8baab83f61b60c6e65d2b.tar.gz
master-187ad058-41aefc93320d42ff4ae8baab83f61b60c6e65d2b.tar.bz2
master-187ad058-41aefc93320d42ff4ae8baab83f61b60c6e65d2b.zip
kernel: rootfs auto-mount on ubi
Similar to the rootfs hacks on NOR flash devices, this series introduces support for auto-attaching (ubi device), auto-creating (ubiblock device) and mounting the "rootfs" (ubifs or squashfs) volume. This is needed so OpenWrt can start without relying on the bootloader to pass the ubi.mtd, ubi.block, rootfs and rootfstype parameters, but instead auto-detect the root filesystem according to a simple convention. OpenWrt-specific: 490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch 491-ubi-auto-create-ubiblock-device-for-rootfs.patch 492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch 493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch sent upstream: 552-ubifs-respect-silent-mount-flag.patch http://lists.infradead.org/pipermail/linux-mtd/2014-May/053893.html v2: actually retry with MS_RDONLY when mounting read-only ubifs root Signed-off-by: Daniel Golle <daniel@makrotopia.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41119 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch')
-rw-r--r--target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
new file mode 100644
index 0000000000..4ceedf30f8
--- /dev/null
+++ b/target/linux/generic/patches-3.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
@@ -0,0 +1,42 @@
+From cd68d1b12b5ea4c01a664c064179ada42bf55d3d Mon Sep 17 00:00:00 2001
+From: Daniel Golle <daniel@makrotopia.org>
+Date: Thu, 15 May 2014 20:55:42 +0200
+Subject: [PATCH 5/5] ubi: set ROOT_DEV to ubiblock "rootfs" if unset
+To: openwrt-devel@lists.openwrt.org
+
+Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+---
+ drivers/mtd/ubi/block.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
+index 2dbe2f4..eaa29f8 100644
+--- a/drivers/mtd/ubi/block.c
++++ b/drivers/mtd/ubi/block.c
+@@ -48,6 +48,7 @@
+ #include <linux/blkdev.h>
+ #include <linux/hdreg.h>
+ #include <asm/div64.h>
++#include <linux/root_dev.h>
+
+ #include "ubi-media.h"
+ #include "ubi.h"
+@@ -444,6 +445,15 @@ int ubiblock_create(struct ubi_volume_info *vi)
+ add_disk(dev->gd);
+ ubi_msg("%s created from ubi%d:%d(%s)",
+ dev->gd->disk_name, dev->ubi_num, dev->vol_id, vi->name);
++
++ if (!strcmp(vi->name, "rootfs") &&
++ config_enabled(CONFIG_MTD_ROOTFS_ROOT_DEV) &&
++ ROOT_DEV == 0) {
++ pr_notice("ubiblock: device ubiblock%d_%d (%s) set to be root filesystem\n",
++ dev->ubi_num, dev->vol_id, vi->name);
++ ROOT_DEV = MKDEV(gd->major, gd->first_minor);
++ }
++
+ return 0;
+
+ out_free_queue:
+--
+1.9.2
+