Linux 主機linux核心版本公升級實驗

2021-07-08 19:03:22 字數 3618 閱讀 8849

主機linux核心版本公升級實驗

希望學生通過該project促進學生掌握linux核心編譯,深入理解grub等引導程式,熟悉linux系統,理解linux核心的相關作用.

開啟ubuntu終端,輸入 uname –r檢視自己ubuntu的linux版本,我的電腦ubuntu 8.04,linux版本是2.6.24.

我們找到start_kernel函式(在 /linux/init/main.c中定義),新增自己的學號和密碼

#cd linux-3.1.4 //進入到/usr/src/ linux-3.1.4目錄下

#make mrproper

#make menuconfig //配置核心各選項

make mrproper命令的功能在於清除當前目錄下殘留的.config和.o檔案,這些檔案一般是以前編譯時未清理而殘留的。

make menuconfig會出現乙個圖形介面,列出了所有的核心配置選項.

選module unloading和automatic kernel module loading這兩項;

device drivers由於在vmware虛擬機器下編譯核心,scsi硬碟,因此以下三個選項必選:

device drivers

scsi device support →scsi device support

scsi device support→scsi disk support

scsi device support→scsi low-level drivers→buslogic scsi support

file system(以下9個選項是關於ext2和ext3檔案系統配置,全部選上)

second extended fs support

ext2 extended attributes

ext2 posix access control lists

ext2 security labels

ext3 journalling file system support

ext3 extended attributes

ext3 posix access control lists

ext3 security labels

jbd (ext3) debugging support

file system

dos/fat/nt filesystems —>選上ntfs file system support

miscellaneous filesystems —> compressed rom file system support (cramfs)

進入/usr/src/linux-3.1.4目錄下,執行以下命令即可編譯。編譯需要一段時間。

#make dep 

//建立編譯時所需的從屬檔案。注意:如果核心從未編譯過,此步可跳過

#make clean

//清除核心編譯的目標檔案

#make bzimage

//開始編譯核心

核心編譯成功後,會在/usr/src/linux3-1-4/arch/i386/boot目錄中生成乙個新核心的映像檔案bzimage。

如果在/usr/src/linux3-1-4/arch/i386/boot目錄下找到bzimage說明你編譯成功。

#cd /usr/src/ linux-3.1.4 (將目錄切換到/usr/src/ linux-3.1.4下執行以下命令)

#make modules //編譯可載入模組

#make modules_install //安裝可載入模組

安裝成功後,系統會在/lib/modules目錄下生成乙個3.1.4子目錄,裡面存放著新核心的所有可載入模組。

在終端執行命令(將目錄切換到/usr/src/ linux-3.1.4下執行以下命令)

#make install (安裝新核心)
將新核心和system.map檔案拷貝到/boot目錄下。依次執行下面命令

# cp /usr/src/linux-3.1.4/arch/i386/boot/bzimage /boot/vmlinuz-3.1.4

# cp /usr/src/linux-3.1.4/system.map /boot/system.map-3.1.4

# cd /boot (進入boot目錄)

# rm –rf system.map (刪除原來的連線)

# ln -s system.map-3.1.4 system.map (重新建立連線)

執行以下命令,生成檔案系統

#mkinitramfs -o /boot/initrd.img-3.1.4 3.1.4(這時候你的/boot下生成乙個initrd.img-3.1.4,並且你的grub.conf也作了相應更改)

# df 

//檢視根目錄在那個分割槽,下一步要用到

我的是/dev/sda1

# vi /boot/grub/menu.lst
進入menu.lst檔案,修改:

開機重啟

選擇重新編譯的版本(ubuntu 3-1-4,****

由於重啟訊息顯示過快,所以找不到自己在原始碼中的個人資訊

啟動後,開啟終端檢視版本,可以看到啟動系統的linux版本

Linux核心3 9版發布

這個版本中比較重要的變化包括 btrfs檔案系統中實驗性的raid5 6支援和支援快照的碎片整理 android goldfish 模擬器 ssd 快取裝置 新增體系結構 synopsys arc 700處理器 新增體系結構 meta imagination處理器 arm體系結構上的kvm虛擬化 i...

Linux 如何獲取Linux發行版的核心標頭檔案

編譯核心模組時,需要核心標頭檔案,下面介紹幾個常用的發行版上如何獲得核心標頭檔案。說明 本文是自己的總結,還不完善,希望對您有幫助,敬請指導。核心標頭檔案在 usr src 例如 sudo apt get install linux headers 3.13.0 33 generic 使用64位ub...

檢視linux核心版本和linux發行版本號

在看這篇文章之前,有乙個概念是必須要弄明白的 就是linux核心和linux發行版之間的區別與聯絡?怎麼來闡釋他們之間的關係呢?這個話題能夠寫幾十篇 了,不過那都是虛的,一句話 linux發行版是由linux核心與多個應用程式組成的 從這句話裡我們可以得到如下資訊 1.單單有linux的核心是無法使...