I'm not using the full blown initrd of most distros that is aware of the
mistery of life and of all the kernel bugs out there too, my own dumb
linuxrc just says:
echo hello world
and then returns, and ext3 gets mounted as ext2 and that's a kernel bug,
all other fs gets mounted correctly with my initrd, only ext3 gone wrong
until I fixed it.
> --- snip from linuxrc ----
> mount --ro -t $rootfs $rootdev /sysroot
> pivot_root /sysroot /sysroot/initrd
> ------
>
> This way you can specify both the root fs and - if wanted -
> special mount options to the root fs. Then you pivot_root(2)
> to move the root fs to / and the (old) initrd to /initrd.
both lines are completly superflous, very misleading as well. I
recommend to drop such two lines from all the full blown bug-aware
linuxrc out there (of course after you apply the ordering fix to the
kernel).
About the "special mount options", now since 2.4.19pre if you try to
pass different flags to your mount in linuxrc and the kernel, you will
fail to mount the real root fs, if you want to pass the "if wanted
special mount options" they must be passed via the kernel parameter
only, they cannot be inside the linuxrc knowledge or the kernel mount
will fail.
>
> The initscripts then umount /initrd, after which the initrd
> data gets freed.
you also need to call flushb /dev/ram0 to free the initrd memory after
umount /initrd, if you do it in userspace without using the automation
in do_mounts.c.
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/