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