日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核编译如何选择cpu类型,Ubuntu内核编译和CPU Hot-Plug特性配置全过程及遇到问题记录...

發(fā)布時(shí)間:2023/12/3 linux 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核编译如何选择cpu类型,Ubuntu内核编译和CPU Hot-Plug特性配置全过程及遇到问题记录... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近編譯Palacios需要linux的內(nèi)核支持cpu Hot-Plug(內(nèi)存熱插拔)特性,無奈我機(jī)器上安裝的Ubuntu10.04系統(tǒng)默認(rèn)不支持內(nèi)存熱插拔特性,所以需要修改配置文件并重新編譯linux內(nèi)核,然后就開始了漫長(zhǎng)的linux內(nèi)核編譯過程,幸好有個(gè)大神幫我,然后參考了網(wǎng)上很多朋友的博客,才讓我快速結(jié)束了這個(gè)痛苦的經(jīng)歷。記于此,備忘、分享。

一、查看自己的機(jī)器是否支持cpu Hot-Plug(內(nèi)存熱插拔)特性

這也是我的最初的需求。

linux命令行執(zhí)行以下命令:

$ cat /boot/config-$(uname -r) | grep HOTREMOVE

如果輸出以下內(nèi)容說明你的系統(tǒng)已經(jīng)支持內(nèi)存熱插拔特性,恭喜,你不需要重新編譯內(nèi)核了。

CONFIG_MEMORY_HOTREMOVE=y

CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y

如果沒有出現(xiàn),那就得苦逼地去編譯內(nèi)核,走起吧騷年。

二、查看本機(jī)linux內(nèi)核版本并下載目標(biāo)linux內(nèi)核版本

2.1 查看本機(jī)Linux內(nèi)核版本:

sudo uname -r

然后去linux內(nèi)核官網(wǎng)下載需要編譯的內(nèi)核,一般都選擇比自己本機(jī)內(nèi)核高的版本,除非你有特殊要求。 比如我本機(jī)的linux內(nèi)核是linux-2.6.32.21,我選擇的目標(biāo)linux內(nèi)核為2.6.32.27。

2.2下載內(nèi)核

linux內(nèi)核官網(wǎng)為:我是內(nèi)核列表

然后選擇想要下載的版本的壓縮包,比如我選擇的是linux-2.6.32.27.tar.bz2,如下圖所示。(下圖兩種后綴的壓縮文件都是可以的)

2.3解壓內(nèi)核

將下載的壓縮包文件復(fù)制到/usr/src目錄下,然后解壓

sudo tar xvf linux-2.6.32.27.tar.bz2

三、配置內(nèi)核配置文件

這一步是重中之重,直接關(guān)系到能不能編譯成功以及編譯后的內(nèi)核能否運(yùn)行起來。當(dāng)時(shí)我就被卡在這一步很久。

3.1打開配置文件

ok,上一步我們已經(jīng)解壓完了內(nèi)核壓縮文件,現(xiàn)在進(jìn)入我們解壓完的新的內(nèi)核文件夾中看一看。

cd /usr/src/linux-2.6.32.27

ls -a

這時(shí)候,你發(fā)現(xiàn)目錄下并沒有配置文件,也就是.config文件,因此我們要生成一個(gè)默認(rèn)的配置文件,運(yùn)行以下命令:

sudo make defconfig

這時(shí)候會(huì)生成當(dāng)前內(nèi)核的默認(rèn)配置文件。當(dāng)然我們還需要對(duì)它進(jìn)行改進(jìn),要不然啟動(dòng)的時(shí)候會(huì)找不到文件系統(tǒng),其次我們需要配置的cpu Hot-Plug也是在這里設(shè)置的。運(yùn)行以下命令,以圖形界面的形式來配置。

sudo make menuconfig

如果你在這一步報(bào)錯(cuò)了,提示error: curses.h: No such file or directory,說明你的機(jī)器上缺少運(yùn)行menuconfig的必要類庫(kù)支持。運(yùn)行一下命令:

sudo apt-get install libncurses5-dev libncursesw5-dev

然后再重新make menuconfig就可以了。

3.2配置內(nèi)核配置文件

進(jìn)去以后看到的界面應(yīng)該是這樣的。(高版本可能有所不同,不過大同小異)

首先,我們先配置文件系統(tǒng),如果不配置,新內(nèi)核一直發(fā)現(xiàn)不了文件系統(tǒng),重啟后會(huì)黑屏然后一個(gè)光標(biāo)一直在左上角閃爍或則提示找不到FileSystem。

文件系統(tǒng)配置如下圖:

然后我們配置cpu Hot-Plug特性,

1.Processor type and features —>Meeory model —> SparseMemory 2.Processor type and features —>Allow for memory hot-add 3.Processor type and features —>Allow for memory hot-remove 4.Processor type and features —>Page migration 5.Processor type and features —>Support for hot-pluggable cpus 6.Power management and ACPI options —>ACPI(~~全稱~~)Support —>Memory Hotplug

以上幾項(xiàng)都要選上。

如果還是不太明白,可以看看官方的文檔:我是官方文檔

另外,還有一篇講內(nèi)存熱插拔的文章,也不錯(cuò)。拿走拿走:滿足你們,哼

至此,配置已經(jīng)基本達(dá)到了我們的要求。然后一直選擇Exit,最后會(huì)提示讓你保存,一定要選則YES,保存。

另外,如果在配置文件中,你不知道該不該選擇某一項(xiàng),那么你就將光標(biāo)停在那一項(xiàng)上,然后按H,會(huì)有驚喜喲。

四、編譯及安裝

好了,經(jīng)歷了艱難險(xiǎn)阻,我們終于走到了這一步。現(xiàn)在可以編譯和安裝了。(以下命令均在新內(nèi)核目錄內(nèi)執(zhí)行)

4.1 編譯內(nèi)核

sudo make

好了,只有一句話。這個(gè)過程比較漫長(zhǎng),如果前面的配置文件沒有問題。而且你的編譯環(huán)境沒有問題,那么應(yīng)該是不會(huì)出問題。

如果你還沒有g(shù)cc編譯環(huán)境,那么你需要先執(zhí)行下面的命令,安裝必要的編譯環(huán)境。

sudo apt-get install build-essential

4.2 編譯安裝內(nèi)核模塊

sudo make modules_install

這一步應(yīng)該挺快。

4.3 安裝內(nèi)核

sudo make install

五、生成內(nèi)核鏡像及啟動(dòng)項(xiàng)

馬上就要成功了。

5.1 生成內(nèi)核鏡像

首先來看一下這個(gè)文件夾/lib/modules/目錄下的文件夾:

ls /lib/modules

該文件夾下應(yīng)該會(huì)有兩個(gè)文件夾,一個(gè)是你原來系統(tǒng)的內(nèi)核模塊文件,另一個(gè)是剛編譯完的新內(nèi)核的內(nèi)核模塊文件。

然后執(zhí)行:

sudo mkinitramfs -o /boot/initrd.img-2.6.32.27

sudo update-initramfs -c -k 2.6.32.27

命令中的版本號(hào)對(duì)應(yīng)你的新版本的版本號(hào)。

5.2 生成啟動(dòng)引導(dǎo)文件

最后就是配置啟動(dòng)時(shí)候的grub文件了:

sudo update-grub2

OK.大功告成。不過再來改一點(diǎn)點(diǎn)東西,然我們的grub啟動(dòng)的時(shí)候等幾秒,而不是直接進(jìn)入默認(rèn)的系統(tǒng)。

sudo gedit /boot/grub/grub.cfg

然后找到其中所有的timeout=0或者timeout=負(fù)數(shù)的,都改成timeout=10,保存、退出。 完成。 重啟機(jī)器,會(huì)出現(xiàn)grub界面,然后選擇新內(nèi)核進(jìn)入就好了。

六、如果重啟后無法看到grub界面怎么辦。

當(dāng)時(shí)我也遇到了這個(gè)問題,才開始編譯內(nèi)核的時(shí)候由于各種不明問題,導(dǎo)致編譯完成重啟機(jī)器后只有一個(gè)光標(biāo)在閃閃閃…連grub界面都木有,連原來的系統(tǒng)都進(jìn)不去啊!!所以貼心的我就來教你怎么解決這個(gè)問題。

直接給連接:我是秘籍

只是需要注意的是,上面教程中第一步不需要。只要一個(gè)可以裝Ubuntu的U盤就可以了,就跟使用U盤安裝Ubuntu一樣,只不過用U盤引導(dǎo)起來以后不選擇Istall Ubuntu,而是進(jìn)第一項(xiàng),試用Ubuntu。

七、參考資料

謝謝各位博客的大神們。本博客中許多內(nèi)容都是摘自你們的博客。謝謝!

總結(jié)

如果覺得編程之家網(wǎng)站內(nèi)容還不錯(cuò),歡迎將編程之家網(wǎng)站推薦給程序員好友。

本圖文內(nèi)容來源于網(wǎng)友網(wǎng)絡(luò)收集整理提供,作為學(xué)習(xí)參考使用,版權(quán)屬于原作者。

總結(jié)

以上是生活随笔為你收集整理的linux内核编译如何选择cpu类型,Ubuntu内核编译和CPU Hot-Plug特性配置全过程及遇到问题记录...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。