|
首先用 apg-get 自動下載并安裝一些必要的軟件包,包括編譯內(nèi)核需要的kernel-package和ncurses-dev等。如果在內(nèi)核編譯、制作過程中,遇到錯誤提示說某個軟件包不存在的話,同樣使用 apt-get install 命令進行下載安裝。
apt-get install kernel-package ncurses-dev fakeroot wget bzip2 make patch cd /usr/src wget http://www./pub/linux/kernel/v2.6/linux-2.6.28.4.tar.bz2 tar xjf linux-2.6.28.4.tar.bz2 到 http://www. 查看最新的內(nèi)核版本。 切換到新內(nèi)核的目錄 cd linux-2.6.28.4 為了節(jié)省時間,執(zhí)行以下命令從現(xiàn)有內(nèi)核中獲得配置 make oldconfig 執(zhí)行完此條命令后,會根據(jù)新老內(nèi)核的差異情況,詢問你一些問題,如果不確定的話都是用默認(直接按回車)。 以上步驟完成后,執(zhí)行內(nèi)核配置程序 make menuconfig 至此,內(nèi)核的配置就算完成了。按 ESC 多次后退出內(nèi)核配置頁面(在系統(tǒng)詢問是否要保存新內(nèi)核的配置時,當然要選擇yes)。 執(zhí)行以下命令進行新內(nèi)核的生成! make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=ofog --revision=1.0 kernel_image fakeroot 的作用是在內(nèi)核的生成過程中暫時性獲取root權限(和sudo不同的是fakeroot只是讓程序獲得root的行為特征而不是真正具備root權限)。如果你直接是用root賬號操作的話,可以省略fakeroot。--append-to-version定義的是內(nèi)核的軟件包名字,類似 kernel-image-2.6.28.4-ofog 這樣。而 -revision定義的是軟件包的版本。 現(xiàn)在系統(tǒng)會開始進行新內(nèi)核的生成,屏幕上會有許多文字閃過。注意,如果生成過程中出現(xiàn)錯誤,執(zhí)行 make clean 后,用 make menuconfig 重新配置內(nèi)核。一般都是仔細看錯誤信息,找到出錯的模塊,然后將其去除。 內(nèi)核順利生成完畢后,會在/usr/src目錄下產(chǎn)生一個 deb 包。例如 kernel-image-2.6.28.4-ofog_1.0_i386.deb 執(zhí)行以下命令安裝新內(nèi)核! dpkg -i kernel-image-2.6.28.4-ofog_1.0_i386.deb 接著Debian會安裝新內(nèi)核并更新Grub的配置文件。 重新啟動(shutdown -r now 或者 reboot)后將會引導到新內(nèi)核。
編譯中會出現(xiàn)以下問題,解決如下: 2.6.31 for Debian 5/LennyFiled under: Highpoint — Nagilum @ 15:23:58
I just upgraded my Debian5 workstation to 2.6.31. While doing so I stumbled over this:
This is apparenty due to the old libc-dev package that Lenny comes with. Since libc isn’t exactly a good candidate for a selective upgrade I helped myself with simply editing Documentation/lguest/Makefile and changing:
to
So lguest wont be build anymore. After that make-kpkg binary-arch worked as usual. |
|
|
來自: zhouADNjj > 《linux 內(nèi)核》