導航:首頁 > 源碼編譯 > 內核編譯問題及答案

內核編譯問題及答案

發布時間:2025-03-22 05:17:04

linux內核編譯的幾點疑惑

(1)編譯內核於升級內核沒有直接關聯。如果編譯的內核的版本比現在系統使用的版本新,那麼使用編譯後的內核可以看成是內核升級。但是有時候是因為需要而編譯內核,比如某些模塊需要重新編譯,打開某些原來內核沒打開的選項,這時候可以是同版本內核重新編譯,這就不能說是升級內核。
(2)新內核編譯好後,還需要安裝。也就是make install(把bzimage移動到boot,重命名為vmlinuz) ,make moles install(把模塊全部放到/lib/moles/(內核名)文件夾內);然後depmod,在/lib/moles/(內核名)建好新的***.dep文件,這樣啟動時系統就能通過讀取***.dep文件信息來載入模塊。還要在boot下新建一個於內核名一樣的.img文件,如vmlinuz,那麼就是vmlinuz.img,至於系統使用哪個內核,那是在grub.cfg裡面寫的配置文件決定的。指定哪個就從哪個啟動,寫兩個entry就可以選擇啟動到哪一個。老內核當然還可以繼續使用。
(3)新內核主要是一些新的特性,驅動更改什麼的,我不是很清楚,比如2.6.34以上的內核就支持通過echo OFF>/sys/kernel/debug/vgaswitchroo/switch關閉某個顯卡,也就是雙顯卡切換支持,又比如2.6.38中加入了所謂的autogroup在某些情況下提升桌面性能的特性,還有一些對系統某些情況的處理方式的變化等。但是從用戶層來說一般感覺不到明顯變化。對於程序什麼的使用不影響(絕大多數)。

❷ 編譯內核模塊錯誤(linux)

在進行內核模塊開發時,編譯內核模塊可能會遇到一些問題。例如,在RedHat Linux 2.6版本中,kernel-devel-2.6.9-5.gz包中並不包含完整的內核源代碼,導致編譯模塊時可能會失敗。因此,需要手動安裝kernel-source-2.6.9-5.gz包來獲取完整的內核源代碼。

另外,對於內核模塊開發,可以使用rpmbuild -ba --target=i686命令來編譯內核模塊。但是,編譯過程中需要注意修改spec文件中的某些行。例如,將%define buildsource 0行中的0改為1,可以編譯出kernel-source包。然後,通過安裝kernel-source包來獲取完整的內核源代碼。

在進行內核模塊開發時,還需要注意各rpm包的內容和用途。例如,kernel-2.6.9-5包用於內核開發,kernel-devel-2.6.9-5包用於內核模塊開發。此外,qt-devel、gtk2-devel、readline-devel和ncurses-devel等包也非常重要。

對於內核模塊開發,需要安裝src包來獲取內核源代碼。如果只需要編譯sourcecode和doc包,可以使用rpmbuild -bb --target=i686命令。此外,還可以通過make dep命令來編譯內核模塊。

在編譯內核模塊時,還需要注意spec文件中的Requires行。例如,requires X-window行表示需要X-window。因此,在編譯內核模塊時,可以將requires X-window行注釋掉,以避免依賴於X-window。

總之,在進行內核模塊開發時,需要明確各rpm包的內容和用途,並正確修改spec文件中的某些行,以確保編譯過程順利進行。

❸ 內核編譯出現問題,求解答

depmod: WARNING: could not open /lib/moles/2.6.32.65/moles.builtin: No such file or directory
root@ubuntu:/usr/src/linux-2.6.32.65# make install
sh /usr/src/linux-2.6.32.65/arch/x86/boot/install.sh 2.6.32.65 arch/x86/boot/bzImage \
System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 2.6.32.65 /boot/vmlinuz-2.6.32.65
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32.65 /boot/vmlinuz-2.6.32.65
update-initramfs: Generating /boot/initrd.img-2.6.32.65
depmod: WARNING: could not open /tmp/mkinitramfs_aJ9f5K/lib/moles/2.6.32.65/moles.builtin: No such file or directory

閱讀全文

與內核編譯問題及答案相關的資料

熱點內容
郵件附件加密後打開能顯示嗎 瀏覽:723
榮耀x10拍照演算法 瀏覽:569
androidgradle配置簽名 瀏覽:94
文件夾左邊的空心三角符號是什麼 瀏覽:284
app英語音頻試卷掃碼怎麼聽 瀏覽:613
字元串編譯預處理 瀏覽:703
蘋果手機怎麼會顯示多個App 瀏覽:240
不去互聯網程序員 瀏覽:553
電腦qq郵箱解壓的圖片保存在哪裡 瀏覽:546
嵌入命令行 瀏覽:92
檔案為什麼被加密 瀏覽:487
十天學會單片機13 瀏覽:875
榮耀怎麼設置讓app一直運行 瀏覽:994
共享文件夾能在哪裡找到 瀏覽:436
旅遊訂旅店用什麼app 瀏覽:241
一個女程序員的聲音 瀏覽:497
魔術app怎麼用 瀏覽:340
單片機有4個8位的io口 瀏覽:898
win10rar解壓縮軟體 瀏覽:170
plc教程pdf 瀏覽:668