起因:想查看鏈表list.h源碼,但系統(tǒng)中沒有找到
旌德網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,旌德網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為旌德上千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿網(wǎng)站建設要多少錢,請找那個售后服務好的旌德做網(wǎng)站的公司定做!
經(jīng)過一番搜索,總結下安裝步驟:
此時需要安裝一個mock,并新建一個mockbuild用戶
4、命令行執(zhí)行
5、回到根目錄下 /root/rpmbuild ,可以看到SPECS文件夾cd到這個文件夾
執(zhí)行 rpmbuild -bp --target = $ (uname -m) kernel.spec
如果提示rpmbuild not find,需要先安裝rpmbuild, yum install rpmbuild
6、運行后會出現(xiàn)錯誤,提示
執(zhí)行
7、依賴包安裝完成后,再次執(zhí)行
至此,安裝完成。
如果你正在使用Linux的發(fā)行版Ubuntu 15.04,你可以直接通過Ubuntu內核網(wǎng)站安裝。在你的Ubuntu15.04上安裝最新的Linux內核4.0,你需要在shell或終端中在root訪問權限下運行以下命令。
上面的命令會自動安裝為CentOS 7構建的Linux內核4.0。
現(xiàn)在,下面的是另一種方式,通過編譯源代碼安裝最新的內核4.0。
從源代碼編譯安裝
1. 安裝依賴軟件
首先我們需要為編譯linux內核安裝依賴的軟件。要完成這些,我們需要在一個終端或者shell中運行以下命令。
4. 配置
配置Linux內核有兩種選擇的。我們可以創(chuàng)建一個新的自定義配置文件或者使用已有的配置文件來構建和安裝Linux內核。這都取決于你自己的需要。
配置新的內核
現(xiàn)在我們在shell或終端中運行make menuconfig命令來配置Linux內核。我們執(zhí)行以下命令后會顯示一個包含所有菜單的彈出窗口。在這里我們可以選擇我們新的內核配置。如果你不熟悉這些菜單,那就敲擊ESC鍵兩次退出。
RHEL/CentOS/Fedora
在終端中執(zhí)行如下命令查看已安裝的 Linux 內核:rpm -qa kernel或rpm -qa | grep -i kernel
Debian/Ubuntu/Linux Mint
要查看基于 DEB 系統(tǒng)的 Linux 內核列表,如:Debian、Ubuntu、Linux Mint、Elementary OS 等,可以使用如下命令:dpkg --list | grep linux-image
SUSE/openSUSE
在 SUSE 或 openSUSE 系統(tǒng)中,可以使用如下命令查看 Linux 系統(tǒng)內核:rpm -qa | grep -i kernel
Arch Linux
Arch Linux 及其衍生發(fā)行版本,可以使用如下命《Linux就該這樣學》令查看已安裝的內核列表:pacman -Q linux或pacman -Q | grep linux
1、下載新內核源碼:到官網(wǎng),下載最新版本linux內核,保存到/usr/src/kernels目錄,大約54MB。
2、# cd /usr/src/kernels
3、# tar jvxf linux-2.6.31.5.tar.bz2
4、進入系統(tǒng)原內核目錄,把其中的隱藏文件.config復制到新內核目錄中。
5、cd進入新內核目錄,然后執(zhí)行# make oldconfig
此時所有提示均按回車,選項提示都默認。
6、# make xconfig 此時彈出一個內核配置窗口,里面全是英文,我看不懂,干脆就直接把這個窗口關掉,繼續(xù)往下做。
7、# make bzImage make modules make modules_install make install 第七步編譯時間比較長,要30到50分鐘不等,要看機器情況了。
8、#uname -r查看內核版本,完成上面步驟后就可以重啟系統(tǒng)了,啟動時會在GRUB菜單里出現(xiàn)新內核選項了。
此方法安裝新內核后同時也會保留舊內核,啟動時,可以在新老內核間選擇,相當?shù)膶嵱谩?/p>
ubuntu可以使用apt-get命令來安裝匹配的內核頭文件。 1、首先,使用dpkg-query命令檢查是否有可用的內核頭文件。 $ dpkg-query -s linux-headers-$(uname -r) 2、接著使用下面的命令安裝匹配的內核頭文件。 $ sudo apt-get install linux-header...
第二步:清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要);make clean及make mrproper;
第三步:進行內核裁減配置;
內核裁減配置的原則:
從實際出發(fā)。
如:根據(jù)支持的硬件設備來決定需要選擇的驅動模塊,根據(jù)需要選擇所支持的文件系統(tǒng)格式等;
具體配置命令為:
make config :通過命令接口,依次要求你設定每個選項,如果.config文件存在,會根據(jù)該文件來設置默認值;
make menuconfig :顯示以curses為基礎的、終端式的配置菜單。
make xconfig :圖形界面,顯示以Tk為基礎X Window配置菜單。
最常用的為:make menuconfig(注:需要ncurses的rpm包)。
說明:這一步中選擇為M模式的,編譯到/lib/modules/下相關目錄文件中;選擇為*模式的,編譯到內核中即/boot/vmlinuz中,啟動時加載到內核中。
具體內核裁減配置參閱其它資料。
第四步:生成依賴關系(make dep)
內核源碼樹中大多數(shù)文件都會與一些頭文件有依存關系,要想編譯內核順利,在正式編譯前必須讓內核源碼樹中的各個Makefile文件知道這些依存關系。
依存關系建立期間會在內核源碼樹中每個子目錄里產(chǎn)生一個隱藏的.depend文件,此文件內含子目錄里各個文件所依存的頭文件清單。
第五步:建立內核映像和模塊
2.4內核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage內核映像文件;
make modules :在相應目錄下生成內核模塊(即驅動模塊)
2.6內核:make :作用相當于make bzImage與make modules
第六步:安裝模塊(make modules_install)
讓make modules或make 過程中產(chǎn)生的.o驅動模塊拷入/lib/modules/下相應目錄中;
第七步:安裝內核
第一種情況:直接使用make install命令即可。
第二中情況:先采用cp arch/i386/boot/bzImage /boot/×××(×××表示自己隨意的命名)
mkinitrd /boot/×××.img 2.6.12.6(內核版本號)