Any progress about small size 64bit initrd?
I'm using suse 91 rescure initrd, it is about 18M (gzip -9)...
YH
"Lu, Yinghai" yinghai.lu@amd.com writes:
Any progress about small size 64bit initrd?
I'm using suse 91 rescure initrd, it is about 18M (gzip -9)...
Which is clearly painful, and way overkill.
First you asked the wrong question looking from an initrd with a 64bit user space. Even for a 64bit kernel you don't need a 64bit user space and 32bit is smaller and more common.
Second you looked in the wrong place. What you want is: http://kboot.sourceforge.net/
The intro page lists kboot-9 as being only 39K. I think that is just the kboot part but it might be the entire initrd. Using uclibc I am certain it is below 1M. Unfortunately I haven't had a chance to build it yet. (Sorry Werner).
Check it out just skimming through the documentation it looks like it has already surpassed FILO in capabilities.
Eric
Eric W. Biederman wrote:
Check it out just skimming through the documentation it looks like it has already surpassed FILO in capabilities.
I think kboot and tinykernels and such could get us back to the original vision of linuxbios from years ago -- linux is the bios. Let's hope.
ron
Ronald G Minnich rminnich@lanl.gov writes:
Eric W. Biederman wrote:
Check it out just skimming through the documentation it looks like it has already surpassed FILO in capabilities.
I think kboot and tinykernels and such could get us back to the original vision of linuxbios from years ago -- linux is the bios. Let's hope.
One step at a time.
A lot of the tiny kernel work has been merged into linus's tree for 2.6.16.
I think the interesting linuxbios related kboot activities are. 1) Hook mkelfImage into the build so we will easily have an image that we can use with linuxbios. 2) Figure out how to use kboot on host nodes :) Video now works on a good day.
And then there is my very evil plan spam the kboot list on topic discussion :)
Eric
Ronald G Minnich wrote:
I think kboot and tinykernels and such could get us back to the original vision of linuxbios from years ago -- linux is the bios. Let's hope.
Yeah, that would be nice. It would also avoid depending on a "traditional" first-stage boot loader to load things from disk. (That is, in a standard configuration. kboot doesn't really care how you load it.)
By the way, how much flash is in modern x86 motherboards these days ? 2 MB would be great for kboot, more would certainly invite creative abuse (animated splash screens ;-), 1.5 MB would be just enough while constantly hitting the ceiling, 1 MB may be too small to do anything useful.
- Werner
Werner Almesberger wrote:
Yeah, that would be nice. It would also avoid depending on a "traditional" first-stage boot loader to load things from disk. (That is, in a standard configuration. kboot doesn't really care how you load it.)
note that some of us are trying to go this way in the Plan 9 world too. Although it's been easier to do this in Plan 9 for some time -- the Plan 9 equivalent of kexec went in in 2000, so a kboot-like thing is pretty easy. In fact, Werner, I'll probably try to steal as many kboot ideas as I can :-)
By the way, how much flash is in modern x86 motherboards these days ? 2 MB would be great for kboot,
2 MB? dream on :-(
Getting 1 MB is as good as we can do for now.
But, thank Intel for EFI, since that will give us 16 MB ...
ron
By the way, how much flash is in modern x86 motherboards these days ? 2 MB would be great for kboot,
2 MB? dream on :-(
Getting 1 MB is as good as we can do for now.
Speaking of this has anyone played with Ingo's set of patchs that remove forced inlineing?
Lwn.net reports he claims a 5% size reduction in his kernel. (over just the -s compile) The "allyesconfig" got a 25% reduction.
That + tinykernel might get you in the ballpark.
-- Richard A. Smith
Ronald G Minnich wrote:
In fact, Werner, I'll probably try to steal as many kboot ideas as I can :-)
Good. After all, plagiarism is the most honest form of flattery :-)
2 MB? dream on :-(
Getting 1 MB is as good as we can do for now.
Hmm, that'll get awfully tight :-(
But, thank Intel for EFI, since that will give us 16 MB ...
Great ! logo.avi, anyone ? :-)
- Werner
Getting 1 MB is as good as we can do for now.
Hmm, that'll get awfully tight :-(
Its tight but can be done. I've build a embedded system that booted out of 1Meg of flash. 2.4 kernel+initrd that loaded a pcmcia module for the wireless adapter in the system dhcp'ed up the network and then pulled down a larger ramfs and kexec'ed into it. I had to build a custom version of the pcmcia tools with uclibc only doing the absolute minimum to get the wireless interface up.
IIRC I only had a couple of Kb left over.
-- Richard A. Smith
Eric W. Biederman wrote:
The intro page lists kboot-9 as being only 39K.
That's just the tar ball. It pulls in (downloads) lots of other things. A realistic size for the initramfs (compressed) is about 400-500 kB with uclibc. Depending on what you need and how much time you want to spend tweaking things, you can reduce this some more, e.g., by dropping things like dropbear.
I once had a complete kboot system (kernel with networking plus initramfs) on a 1.44MB floppy. I don't remember the exact feature set, though. It was used to load the initial Gentoo tarball over the network onto an OQO which had stubbornly refused from anything but that ancient USB floppy.
Unfortunately I haven't had a chance to build it yet. (Sorry Werner).
Lately, I've had a bit of a time shortage myself :-( I expect kboot to pick up some more speed towards the end of the month, though.
- Werner