Re: making a linux kernel with no root filesystem
From: Paulo Marques
Date: Thu Oct 21 2004 - 06:30:05 EST
Mildred Frisco wrote:
Hi,
I would like to ask help in compiling a minimal linux kernel.
Basically, it would only contain the kernel andno filesystem (or
probably devfs). I would only have to boot the kernel from floppy.
Then after the necessary kernel initializations, I would issue a
prompt where I can either shutdown or reboot the system. That's the
only functionality required. As I've learned from the init program
(and startup scripts), the init services and shutdown commands are
called from /sbin. However, I do not require to mount the root fs
anymore. I also tried to search for the source code of the shutdown
program but I can't find it. Please help on the steps that I should
do.
Your /sbin/init can be a simple script (or even just bash or another shell).
You can use statically compiled binaries against dietlibc from here:
ftp://foobar.math.fu-berlin.de:2121/pub/dietlibc/bin-i386/
If you use "ash" as /sbin/init and place busybox there with the
appropriate symlinks, you get a small semi-functional shell for a mere
120kb of executables.
If you're really desperate for space, you can build your own executable
that asks for shutdown/reboot and calls reboot(2) with the appropriate
parameters, and link against dietlibc (or ulibc).
This is not really kernel related and you should not mess with the
kernel code for acomplishing this. If you really need to cut down extra
space in the kernel you can check the patches from the "tiny" tree to
build an incredibly small kernel.
I hope this helps,
--
Paulo Marques - www.grupopie.com
All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke (1729 - 1797)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/