學習 linux核心的重新編譯

2021-09-27 04:34:37 字數 1773 閱讀 3087

linux發行版(lsb_release -a) :

lsb version: n/a

distributor id: manjarolinux

description: manjaro linux

release: 17.1.7

codename: hakoila

kernel(cat /proc/version):

先清除先前的配置檔案和目標檔案

make mrproper

這裡用當前核心的配置檔案

zcat /proc/config.gz >> .config

編譯核心和模組

make -j 4 bzimage

make -j 4 modules

編譯核心的時間較短,模組比較長

安裝模組

安裝之前的/lib/modules

[chengche-pc modules]# ls

4.14.30-1-manjaro extramodules-4.14-manjaro

type : make modules_install

等待一段時間,安裝過後的/lib/modules

[chengche-pc modules]# ls

4.14.30-1-manjaro 4.14.30-manjaro extramodules-4.14-manjaro

4.14.30-1-manjaro為原來系統中的模組目錄,4.14.30-manjaro為新安裝的模組目錄

拷貝核心

原來的核心為/boot/vmlinuz-4.14-x86_64,這裡將新核心命名為vmlinuz-4.14-x86_64-1

type : cp arch/x86/boot/bzimage /boot/vmlinuz-4.14-x86_64-1

製作initramfs

安裝dracut

pacman -s dracut

系統載入的initramfs為/boot/initramfs-4.14-x86_64.img , 這裡將新的initramfs命名為initramfs-4.14-x86_64-1.img

type : dracut -v /boot/initramfs-4.14-x86_64-1.img 4.14.30-manjaro

以上命令中的4.14.30-manjaro為製作initramfs映象所需要的模組目錄,存在於/lib下

加入grub啟動項

type : grub-mkconfig -o /boot/grub/grub.cfg

grub2會自動找到/boot目錄下的vmlinuz***映象檔案,並找到與之對應的initramgs

重啟進入grub啟動項

選擇第乙個進入,這是新編譯的核心,檢視核心版本

可以看到核心版本已經從原來的4.14.30-1-manjaro變成了新的4.14.30-manjaro,還有新核心的編譯時間就是今天

linux 核心重新編譯

以linux 2.6.38.4.tar.bz2原始碼包為例 mv home zhb downloads linux 2.6 38.4 tar.bz2 usr src tar tar xvf linux 2.6 38.4 tar.bz2 使用make install 一步到位或者繼續使用下面的指令 m...

重新編譯Kali Linux核心

有時你可能想新增必要的驅動 補丁 kali linux核心裡沒有的功能。如下的教程描述如何根據你的需要快速地修改和編譯kali linux核心。請注意目前預設的kali linux核心已經打過了大量的無線注入補丁。u6 c9 w,y o4 b4 h7 j f 安裝編譯所需的依賴 h 7 e v q....

ubuntu環境下重新編譯核心

由於除錯核心 驅動或工作需要,有可能需要對ubuntu下的核心進行重新編譯,本文對核心重新編譯過程進行簡單分析,在進行重新編譯核心前你可以通過uname a來確認你的linux系統的當前版本。2.進入到原始碼存放的路徑 cd usr src,對原始碼進行解壓縮 tar xvf linux sourc...