Build A Minimal Linux Kernel

来源:互联网 发布:服装批发软件哪个好 编辑:程序博客网 时间:2024/05/17 09:43

Build-A-Minimal-Linux-Kernel

Leave out the unnecessary kernel module and features to make a minimal kernel as possible as one can

Reason for thus a project

When I am to set up a diskless linux server on my local network, I notice that the linux kernel in general distrubtion is about 4.7M. When the PXE download the kernel for the diskless enveriment, the tftpd speed is only thundreds Kbyte/s, so I immediately realize that if I can build a more minimal kernel, the bootup time of the diskless server maybe decrease a lot. I search which features are not necessory for boot a linux on a network filesystem(NFS), and I get many useful instructions. However, it fails to bootup when I finish the compiling. Unfortunately, I could get no sense which configuration casue the problem. The bootup procedure can give little or even no information.

To do

I write a shell batch with these steps: 1. compare the minimal configuration file(with which, the corresponding kernel cannot bootup) and the normal config file(just from a distrubtion). 2.separate both the two configuration file with same sections, replace each fraction of the normal config file with the 'fatal' one. 3.comiple and test the kernel in QEMU, if it success to boot, try to replace more following that in step2. '-curses' '-std:mon' are some usefull option when testing the kernel with QEMU.

Results

My final successful diskless linux kernel is 2.7M.

For others, some one make up a 744KB kernel. (http://linuxman.blog.ccidnet.com/blog-htm-do-showone-uid-60710-type-blog-itemid-293122.html)