On Mon, Sep 19, 2011 at 7:08 PM, Joshua Kinard <firstname.lastname@example.org> wrote:
> That's what I take issue with -- the whims of a commercial enterprise
> ultimately deciding, at some possible, future point, what path we take. In
> other words, those of us not running cluster farms shouldn't have to change
> things, even slightly (like using an initramfs if needed) for those that do.
> Linux's greatest asset is its extreme configurability -- a single source
> tree can be compiled to run on super computers or cable boxes.
For what it's worth, I've got a simple alternative to the initramfs
approach, that may be handy for people like you. The idea is to enable
CONFIG_DEVTMPFS=y and CONFIG_DEVTMPFS_MOUNT=y in the kernel, pass
something like init=/sbin/linuxrc as a kernel parameter via the
bootloader, and have /sbin/linuxrc be a simple shell script that mounts
/proc, /sys, and /usr before calling 'exec /sbin/init'.
You can use whatever shell you want for /sbin/linuxrc, as long as it
doesn't have some kind of dependency on /usr. For example, if you want
your script to run using a really minimal shell with the fewest possible
dependencies, you can put '#!/sbin/busybox ash' in the shebang so that
it will use your statically linked busybox.
Something like this should do the trick in /sbin/linuxrc:
mount -t proc proc /proc
mount -t sysfs sysfs /sys