編譯及安裝簡要步驟:
編輯Makefile版本信息
定義內核特性,生成配置文件.config,用于編譯:make xconfig
編譯內核:make
安裝內核:make install
安裝模塊:make modules_install
具體步驟如下:
內核配置
先定義內核需要什么特性,并進行配置。內核構建系統(The kernel build system)遠不是簡單用來構建整個內核和模塊,想了解更多的高級內核構建選項,你可以查看 Documentation/kbuild 目錄內的內核文檔。
可用的配置命令和方式:
make menuconfig
命令:make menuconfig
編譯內核
編譯和安裝內核
編譯步驟:
$ cd /usr/src/linux2.6
$ make
安裝步驟 (logged as
$ make install
$ make modules_install
提升編譯速度
多花一些時間在內核配置上,并且只編譯那些你硬件需要的模塊。這樣可以把編譯時間縮短為原來的1/30,并且節省數百MB的空間。另外,你還可以并行編譯多個文件:
$ make -j <number>
make 可以并行執行多個目標(target)(KEMIN:前提是目標規則間沒有交叉依賴項,這個怎么做到的?)
$ make -j 4
即便是在單處理器的工作站上也會很快,讀寫文件的時間被節省下來了。多線程讓CPU保持忙碌。
number大于4不見得有效了,因為上下文切換過多反而降低的工作的速度。
make -j <4*number_of_processors>
內核編譯tips
查看完整的 (gcc, ld)命令行: $ make V=1
清理所有的生成文件 (to create patches...): $ make mrproper
部分編譯:$ make M=drivers/usb/serial
單獨模塊編譯:$ make drivers/usb/serial/visor.ko
最終生成的文件
vmlinux 原始內核鏡像,非壓縮的
arch/<arch>/boot/zImage zlib壓縮的內核鏡像(Default image on arm)
arch/<arch>/boot/bzImage bzip2壓縮的內核鏡像。通常很小,足夠放入一張軟盤(Default image on i386)