Debian 编译内核全过程[转]
生活随笔
收集整理的這篇文章主要介紹了
Debian 编译内核全过程[转]
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Debian 編譯內(nèi)核全過程1、安裝內(nèi)核編譯工具
基本工具有:gcc,libc5-dev或libc6-dev,binutils,make,bin86,modutils,mawk或gawk,gzip,shellutils,grep,kernel-package,fakeroot
如果要使用menuconfig進(jìn)行配置的話,需要安裝libncursesX.X-dev(如:libncurses5-dev)
對于2.4版本以上的內(nèi)核可以選擇使用圖形界面的xconfig,需要安裝tkX.X-dev(如:tk8.4-dev)
對于2.6內(nèi)核,選擇更多。如果使用xconfig,則需要安裝libqt3-mt-dev。如果不想用xconfig的話,可以用gconfig,需要安裝libglade2-dev
# apt-get install kernel-package ncurses-dev fakeroot initrd-tools 根據(jù)自己使用的Linux發(fā)行版來選擇基本工具.
2、安裝內(nèi)核源碼,如:
# apt-get kernel-source-2.6.22.9
或者直接下載kernel-source-2.6.22.9.tar.gz
直接放在/usr/src目錄中
3、解壓內(nèi)核源碼
# tar zxvf /usr/src/kernel-source-2.6.22.9.tar.gz
# cd linux-2.6.22.9
# cp /boot/config-2.6.22.9 .config //把當(dāng)前內(nèi)核的配置作為模板 /boot/config-2.6.22.9根據(jù)自己的內(nèi)核版本文件而定.
4、編譯內(nèi)核
1)配置
make config 使用文本對話方式(很麻煩,不好用)
make menuconfig 使用菜單方式(常用的方法,較花時(shí)間)
make xconfig或make gconfig 使用GUI方式(很好用,但是不太穩(wěn)定)
配置,也是最麻煩的一步,N多選擇,如果要把.config作模板,配置開始時(shí)就load一下即可
2)清除源碼樹并復(fù)原 kernel-package 參數(shù)
# make-kpkg clean
3)編譯
# make-kpkg --revision=mykernel.1.0 --initrd kernel_image
其中,mykernel.1.0可以自定義,表示內(nèi)核名稱和編號(hào) 編譯內(nèi)核可能要花費(fèi)較長的時(shí)間(一般都需要1個(gè)小時(shí)以上),取決于不同機(jī)器的性能。
5、安裝內(nèi)核
編譯完的內(nèi)核是一個(gè)deb包,放在/usr/src目錄下,可以使用dpkg命令直接安裝,如:
# dpkg -i ../kernel-image-2.6.22.9-mykernel.1.0_i686.deb
如果安裝成功沒有出現(xiàn)任何錯(cuò)誤的話,內(nèi)核已經(jīng)編譯成功,menu.lst的引導(dǎo)菜單也已自動(dòng)修改好.
VFS : Cannot open root device "hdb7" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing : VFS : unable to mount root fs on unknow-block(0,0)
提示這個(gè)的話,可能你的內(nèi)核編譯的基本工具有的沒有安裝,自己再多看看,多編譯幾次!
基本工具有:gcc,libc5-dev或libc6-dev,binutils,make,bin86,modutils,mawk或gawk,gzip,shellutils,grep,kernel-package,fakeroot
如果要使用menuconfig進(jìn)行配置的話,需要安裝libncursesX.X-dev(如:libncurses5-dev)
對于2.4版本以上的內(nèi)核可以選擇使用圖形界面的xconfig,需要安裝tkX.X-dev(如:tk8.4-dev)
對于2.6內(nèi)核,選擇更多。如果使用xconfig,則需要安裝libqt3-mt-dev。如果不想用xconfig的話,可以用gconfig,需要安裝libglade2-dev
# apt-get install kernel-package ncurses-dev fakeroot initrd-tools 根據(jù)自己使用的Linux發(fā)行版來選擇基本工具.
2、安裝內(nèi)核源碼,如:
# apt-get kernel-source-2.6.22.9
或者直接下載kernel-source-2.6.22.9.tar.gz
直接放在/usr/src目錄中
3、解壓內(nèi)核源碼
# tar zxvf /usr/src/kernel-source-2.6.22.9.tar.gz
# cd linux-2.6.22.9
# cp /boot/config-2.6.22.9 .config //把當(dāng)前內(nèi)核的配置作為模板 /boot/config-2.6.22.9根據(jù)自己的內(nèi)核版本文件而定.
4、編譯內(nèi)核
1)配置
make config 使用文本對話方式(很麻煩,不好用)
make menuconfig 使用菜單方式(常用的方法,較花時(shí)間)
make xconfig或make gconfig 使用GUI方式(很好用,但是不太穩(wěn)定)
配置,也是最麻煩的一步,N多選擇,如果要把.config作模板,配置開始時(shí)就load一下即可
2)清除源碼樹并復(fù)原 kernel-package 參數(shù)
# make-kpkg clean
3)編譯
# make-kpkg --revision=mykernel.1.0 --initrd kernel_image
其中,mykernel.1.0可以自定義,表示內(nèi)核名稱和編號(hào) 編譯內(nèi)核可能要花費(fèi)較長的時(shí)間(一般都需要1個(gè)小時(shí)以上),取決于不同機(jī)器的性能。
5、安裝內(nèi)核
編譯完的內(nèi)核是一個(gè)deb包,放在/usr/src目錄下,可以使用dpkg命令直接安裝,如:
# dpkg -i ../kernel-image-2.6.22.9-mykernel.1.0_i686.deb
如果安裝成功沒有出現(xiàn)任何錯(cuò)誤的話,內(nèi)核已經(jīng)編譯成功,menu.lst的引導(dǎo)菜單也已自動(dòng)修改好.
VFS : Cannot open root device "hdb7" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing : VFS : unable to mount root fs on unknow-block(0,0)
提示這個(gè)的話,可能你的內(nèi)核編譯的基本工具有的沒有安裝,自己再多看看,多編譯幾次!
轉(zhuǎn)載于:https://blog.51cto.com/axlrose/1294499
總結(jié)
以上是生活随笔為你收集整理的Debian 编译内核全过程[转]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 商业周刊:Facebook为何价值100
- 下一篇: asp.net 2.0 技巧2