由於除錯核心、驅動或工作需要,有可能需要對ubuntu下的核心進行重新編譯,本文對核心重新編譯過程進行簡單分析,在進行重新編譯核心前你可以通過uname -a來確認你的linux系統的當前版本。
2. 進入到原始碼存放的路徑:cd /usr/src,對原始碼進行解壓縮;tar -xvf linux-source-3.7.0.tar.bz2,然後進入到解壓縮後的原始碼路徑裡。
3. 原始碼中有兩個x86 config檔案,你可以通過當前系統來確定用那個配置config檔案,當前系統的配置檔案一般在/usr/src/目錄下,這個目錄下有可能存在多個linux-headers-xx目錄 ,你可以通過uname -a來確定是那個目錄,確定好後,通過vi .config來檢視當前系統的config檔案,像我的系統config檔案裡有config_arch_defconfig="arch/x86/configs/i386_defconfig「這一項,由此可以確定我的系統用了i386_defconfig這個config,確定好後,回到原始碼路徑上。
4.根據步驟3確定的config檔案,對原始碼進行初始化配置:make i386_defconfig.
5.配置成功後,根據你的需求對核心進行裁剪,可能通過make menuconfig命令進入核心裁剪鍵面,每個人需求不同,這裡就不進行細說了。
6.裁剪好核心後,接下來要生成用於核心啟動的影像檔案vmlinux,這個檔案可以通過make bzimage生成,這個過程所需時間比較長。
7.生成vmlinux後,對需要動態載入的模組進行編譯,通過命令make modules實現;
8.通過make modules_install 安裝核心模組,安裝目錄預設為/lib/modules下,像我這邊執行完後在/lib/modules目錄下有3.7.0-rc2目錄,這就表示核心模組安裝成功;當然這個目錄也是可以通過使用者指定的export install_mod_path="".
9.make install安裝核心,這一步會將由make bzimage產生的system.map, vmlinux,config,initrd.img檔案拷貝到用於存放系統啟動影像的目錄/boot/下,當然這些檔案會根據你的核心原始碼的版本生成不同的檔名,這裡如果沒有initrd.img生成,則可以通過mkinitramfs生成;
10. 如果系統是通過grub方式引導系統啟動的, 則需要對grub啟動影像進行配置,在目錄/boot/grub/grub.cfg檔案裡。其實執行完make install後會自動修改grub.cfg檔案,如果沒有自動 修改你可以手動去修改這個檔案。或者可執行命令來自動修改:$ update-grub2
到這裡為止,已經完成了核心編譯的所以步驟,可以reboot重新啟動系統,然後通過uname -a來檢視 是否已經替換為你新習與編譯的系統了。
這裡出現的vmlinux,bzimage,initrd.img等檔案具有含義可以去」學習一下,這篇文章寫得相當的詳細,這時我就不深入分析了。
ubuntu環境下重新編譯核心
由於除錯核心 驅動或工作需要,有可能需要對ubuntu下的核心進行重新編譯,本文對核心重新編譯過程進行簡單分析,在進行重新編譯核心前你可以通過uname a來確認你的linux系統的當前版本。2.進入到原始碼存放的路徑 cd usr src,對原始碼進行解壓縮 tar xvf linux sourc...
重新編譯Kali Linux核心
有時你可能想新增必要的驅動 補丁 kali linux核心裡沒有的功能。如下的教程描述如何根據你的需要快速地修改和編譯kali linux核心。請注意目前預設的kali linux核心已經打過了大量的無線注入補丁。u6 c9 w,y o4 b4 h7 j f 安裝編譯所需的依賴 h 7 e v q....
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...