記一次linux內(nèi)核編譯

僅作記錄,小白萌新,大佬勿噴


環(huán)境

ubutun 20.04

VMware Pro 15.5

Linux內(nèi)核版本 5.6.14

過程

? ? 復(fù)制內(nèi)核壓縮包到/usr/src/并解壓

sudo cp linux-5.6.14.tar.xz /usr/src/

sudo tar -xvJf linux-5.6.14.tar.xz

? ? ? ? 嘗試make,根據(jù)提示安裝所需組件

sudo apt install make

sudo apt-get install libncurses5-dev libncursesw5-dev

sudo apt install flex

sudo apt install gcc

sudo apt install bison

sudo apt insatll vim

? ? 開始設(shè)置menuconfig

sudo make menuconfig

? ? 保存之后開始make

sudo make -j8

? ? 出現(xiàn)錯誤


調(diào)整虛擬機相關(guān)設(shè)置后重新執(zhí)行make,報錯

(此處我重裝虛擬機,執(zhí)行上面的指令后出現(xiàn)了新的錯誤


解決方法:

sudo apt-get install libssl-dev

再次make,等待


在此處停頓,稍等片刻,會繼續(xù)運行。


運行完成,用時約一小時。

sudo make modules_install

sudo make install

完成后,已經(jīng)把內(nèi)核源碼編譯成內(nèi)核鏡像,并且拷貝到了引導(dǎo)目錄下。


建立虛擬盤,如果版本號后面跟的有其他東西的話也要加上

sudo update-initramfs -c -k 5.6.14

修改grub.cfg

grub.cfg在/boot/grub/目錄下

復(fù)制一段,修改斜體加粗部分,保存退出。

menuentry 'Ubuntu, with Linux 5.4.0-31-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-31-generic-advanced-52fda4f0-9dea-4033-bb65-8d41e475565b' {

? ? ? ? ? ? ? ? recordfail

? ? ? ? ? ? ? ? load_video

? ? ? ? ? ? ? ? gfxmode $linux_gfx_mode

? ? ? ? ? ? ? ? insmod gzio

? ? ? ? ? ? ? ? if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi

? ? ? ? ? ? ? ? insmod part_msdos

? ? ? ? ? ? ? ? insmod ext2

? ? ? ? ? ? ? ? set root='hd0,msdos5'

? ? ? ? ? ? ? ? if [ x$feature_platform_search_hint = xy ]; then

? ? ? ? ? ? ? ? ? search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5? 52fda4f0-9dea-4033-bb65-8d41e475565b

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? search --no-floppy --fs-uuid --set=root 52fda4f0-9dea-4033-bb65-8d41e475565b

? ? ? ? ? ? ? ? fi

? ? ? ? ? ? ? ? echo? ? 'Loading Linux 5.4.0-31-generic ...'

? ? ? ? ? ? ? ? linux? /boot/vmlinuz-5.4.0-31-generic root=UUID=52fda4f0-9dea-4033-bb65-8d41e475565b ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet

? ? ? ? ? ? ? ? echo? ? 'Loading initial ramdisk ...'

? ? ? ? ? ? ? ? initrd? /boot/initrd.img-5.4.0-31-generic

? ? ? ? }

重啟


直接選擇resume


如果不修改grub.cfg,可以修改/etc/default/grub


將GRUB_TIMEOUT注釋掉

保存退出

執(zhí)行

sudo update-grub

重啟,按esc,進入高級選項,可以選擇內(nèi)核。

參考資料

https://blog.csdn.net/qq_41911710/article/details/102823579

https://blog.csdn.net/qq_38428855/article/details/102854322

http://www.itdecent.cn/p/98fe46eec942

https://blog.csdn.net/ibless/article/details/82349507

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容