
BTW, if you want super tiny kernels, check out Microsoft's (unpatented, surprisingly well documented) LZX compression format. It's specifically designed to compress x86 machine code, so it beats out all the general-purpose compression algorithms if the payload is a binary. I think libmspack has an LGPL'ed LZX compressor/decompressor. - a ebiederman@lnxi.com (Eric W. Biederman) writes:
Richard Smith <rsmith@bitworks.com> writes:
Has anyone tried this to see how small it compiles down to?
I just looked. With everything turned off I have built a 220K kernel. 371K uncompressed but that doesn't count.
It looks like there is light at the end of the tunnel.
Eric _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
-- "If Darl McBride [the CEO of SCO, who claims the GPL 'destroys intellectual property'] was in charge, he'd probably make marriage unconstitutional too, since clearly it de-emphasizes the commercial nature of normal human interaction, and probably is a major impediment to the commercial growth of prostitution" -- Linus Torvalds

Adam Megacz <adam@megacz.com> writes:
BTW, if you want super tiny kernels, check out Microsoft's (unpatented, surprisingly well documented) LZX compression format. It's specifically designed to compress x86 machine code, so it beats out all the general-purpose compression algorithms if the payload is a binary. I think libmspack has an LGPL'ed LZX compressor/decompressor.
It looks like it is present in libmspack. What kind of compression ration do you get with LZX? Unless it is noticeably greater than 2:1 the major gains are not to be had with compression. Currently I use a stripped down version of UPX when I really want a small self extracting binary. The nrv2b algorithm has an absolutely tiny 100 byte or so decompressor. For the kernel the decompressor is 8K. Which is significant but it is again not a major bottle neck. The target is to see how useful a linux kernel that we can put into 384K. For use as a boot loader by LinuxBIOS. Eric
participants (2)
-
Adam Megacz
-
ebiederman@lnxi.com