123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- From: Daniel Golle <daniel@makrotopia.org>
- Subject: try auto-mounting ubi0:rootfs in init/do_mounts.c
- Signed-off-by: Daniel Golle <daniel@makrotopia.org>
- ---
- init/do_mounts.c | 26 +++++++++++++++++++++++++-
- 1 file changed, 25 insertions(+), 1 deletion(-)
- --- a/init/do_mounts.c
- +++ b/init/do_mounts.c
- @@ -437,7 +437,28 @@ retry:
- out:
- put_page(page);
- }
- -
- +
- +static int __init mount_ubi_rootfs(void)
- +{
- + int flags = MS_SILENT;
- + int err, tried = 0;
- +
- + while (tried < 2) {
- + err = do_mount_root("ubi0:rootfs", "ubifs", flags, \
- + root_mount_data);
- + switch (err) {
- + case -EACCES:
- + flags |= MS_RDONLY;
- + tried++;
- + break;
- + default:
- + return err;
- + }
- + }
- +
- + return -EINVAL;
- +}
- +
- #ifdef CONFIG_ROOT_NFS
-
- #define NFSROOT_TIMEOUT_MIN 5
- @@ -531,6 +552,10 @@ void __init mount_root(void)
- change_floppy("root floppy");
- }
- #endif
- +#ifdef CONFIG_MTD_ROOTFS_ROOT_DEV
- + if (!mount_ubi_rootfs())
- + return;
- +#endif
- #ifdef CONFIG_BLOCK
- {
- int err = create_dev("/dev/root", ROOT_DEV);
|