實驗前準備:在https://www.kernel.org/下載內核
這里我們下載的是:linux-4.14.10.tar.xz
du -sh /app/linux.tar/ 此命令可查看內核文件大小
編譯完成后/lib/modules下會生成4.14.10版的內核
1,tar xvf linux-4.14.10.tar.xz -C /app/
解壓縮準備好的內核壓縮文件到/app下生成一個linux.tar文件
可以對比下原壓縮文件與生成文件的大小,也就是相差10倍,所以編譯之前還是要先考慮下自己的磁盤是否夠用
2,cp /boot/config-3.10.0-514.el7.x86_64 .config
我們這里直接復制config-3.10.0-514.el7.x86_64到解壓縮內核文件目錄下linux-4.14.10中改名為config即可,這個文件就是定義了哪些功能要啟用哪些功能不啟用,是打到核心里還是還是放到獨立模塊中,因為硬件太多我們不選用一個一個設置了,因此我們就復制過來這個文件中稍作修改即可 ?,可作為我們編譯選擇各個功能啟用禁用的一個模板,我們接下來就是通過菜單make menuconfig來對他進行編輯,要實現這個功能我們首先要安裝一些開發包組。
3,yum groupinstall Development tools
yum install gcc
yum install ncurses-devel 或者rpm -ivh /misc/cd/Packages/ncurses-devel-5.9-13.20130511.el7.x86_64.rpm
安裝這三個軟件即可,ncurses就是字符界面下的一個窗口庫
. . .
4,make menuconfig
進入字符界面下內核編譯菜單
general ?setup —->Local version – append yo kernel release(追加到內核版本之后)
4.14.10-之后就是自定義的內容也就是上面一步定義的
配置完畢后選擇exit退出即可
5,yum install elfutils-libelf-devel
執行編譯命令出現此提示,表示要編譯這些功能但是沒有庫,所以就需要安裝
6,make -j 4 && for i in {1..10};do sleep 0.3; echo -e “\a”;done
安裝編譯
7,sudo yum install openssl-devel
編譯過程中如果出現錯誤就安裝這個包
8,make modules_install
安裝模塊在/lib/modules下生成一個新的文件目錄 4.14.10-1.0.liulinux
9,make install
安裝內核,生成新的內核文件,生成過程中會報錯不用理會
此時編譯完畢。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90821