Linux内核编译和运行
?
內核獲取網站:https://www.kernel.org/pub/linux/kernel/
步驟如下:
1、打開終端,更改用戶權限為root。具體做法是在終端輸入sudo?su,然后按提示輸入密碼。判斷是否是root用戶是使用whoami命令,若輸出為root則已經切換到root賬戶。
2、輸入mv?linux-2.6.36.tar.gz??/usr/src,目的是把下載的內核源代碼文件移到/usr/src目錄。
3、輸入cd?/usr/src切換到該目錄下。
4、輸入tar?zxvf?linux-2.6.36.tar.gz,目的是解壓內核包,生成的源代碼放在linux-2.6.36目錄下。
5、輸入cd?linux-2.6.36,切換到該目錄下。
6、輸入cp?/boot/config-,然后按下Tab鍵,系統會自動填上該目錄下符合條件的文件名,然后繼續輸入?.config,目的是使用在boot目錄下的原配置文件。
7、配置內核
方法很多,主要有如下幾種:
make mrproper
#make?menuconfig??//基于ncurse庫編制的圖形工具界面
如果沒有ncurse 庫
Ubuntu: 運行apt-getinstall libncurses5-dev?
fedora : 運行?yum?install?ncurses-devel
#make?config??//基于文本命令行工具,不推薦使用
#make?xconfig??//基于X11圖形工具界面
#make?gconfig??//基于gtk+的圖形工具界面
由于對Linux還處在初學階段,所以選擇了簡單的配置內核方法,即make?menuconfig。在終端輸入make?menuconfig,等待幾秒后,終端變成圖形化的內核配置界面。進行配置時,大部分選項使用其缺省值,只有一小部分需要根據不同的需要選擇。
對每一個配置選項,用戶有三種選擇,它們分別代表的含義如下:
<*>或[*]——將該功能編譯進內核
[]——不將該功能編譯進內核
[M]——將該功能編譯成可以在需要時動態插入到內核中的代碼
注意:SCSI 虛擬機的話要編譯進去
8、編譯內核只需在終端輸入make,然后等待編譯的完成。?
9、sudo make modules ?(編譯模塊) ? 10、sudo make modules_install ?(安裝模塊) ? 11、make install ? PS: ?以下是內核無法啟用的時候照下面做:?
sudo?mkinitramfs?-o?/boot/initrd.img-2.6.36
sudo?update-initramfs?-c?-k?2.6.36
sudo?update-grub2??//自動修改系統引導配置,產生grub.cfg啟動文件。
?
注意:?
之前安裝內核2.6.32版本總是失敗,雖然和gcc 高版本有點關聯,但修改了內核文件,是可以兼容高版本的gcc,之后發現有可能是和我Ubuntu版本12.4有沖突,要么和GRUB2 有點關聯,要么和圖形界面有點關聯,但做人要有恒心,做不出來也要想辦法搞出來,之后我又下載了一個2.6.36版本,因為老師的龍芯系統就是2.6.36的內核,安裝我電腦虛擬機,果然成功!發現是2.6.32版本太早導致有可能失敗,我之前的內核版本是3.8.13.
?
?
轉載于:https://www.cnblogs.com/firstrate/p/3462311.html
總結
以上是生活随笔為你收集整理的Linux内核编译和运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于visual Studio2013解
- 下一篇: android小知识之意图(intent