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

內核編譯問題及答案

發布時間: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

閱讀全文

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

熱點內容
720伺服器f2軟碟機怎麼關閉 瀏覽:56
學生伺服器能搭建什麼 瀏覽:874
win7安裝java環境 瀏覽:453
中國電信wifi路由器加密 瀏覽:297
ggplot2數據分析與圖形藝術pdf 瀏覽:929
給編譯起畫畫 瀏覽:253
現安卓的發展趨勢怎麼樣 瀏覽:186
我的世界伺服器滿了如何清理 瀏覽:727
恆智天成資料軟體加密狗怎麼安裝 瀏覽:876
智慧島應用如何下載app 瀏覽:438
java讀取property 瀏覽:552
編譯原理三元式和四元式的書寫 瀏覽:494
蘇寧名校程序員 瀏覽:812
監控分站廠家加密合法嗎 瀏覽:603
蘋果給安卓發簡訊怎麼才能不花錢 瀏覽:658
怎麼讓應用能有文件夾 瀏覽:97
酷我mv有加密嗎 瀏覽:234
分時黃金分割主圖源碼 瀏覽:81
如何退出登錄的伺服器 瀏覽:673
為什麼英雄聯盟伺服器早上就卡 瀏覽:370