手工編譯Linux內核rpm包

[from: https://blog.csdn.net/wylfengyujiancheng/article/details/67644077]

在實際的生產環境中由於一些bug或內核功能限制需要打開內核的一些參數,就要用到手工編譯內核,編譯方法下面介紹如下: 
編譯環境 
centos7.2 min安裝 
安裝開發工具

# yum install gcc* ncurses-devel bc openssl openssl-devel libssl-dev perl rpm-build -y

下載內核

# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.11.tar.xz

解壓

# xz  -d linux-4.9.11.tar.xz
# tar -xvf  linux-4.9.11.tar
# cd  linux-4.9.11
# make menuconfig

如果.config不存在,運行make menuconfig時的缺省設置由固化在各個Kconfig文件中各項目的缺省值決定。

# mkdir -p /root/roofs && cd /root/rootfs
# /usr/lib/dracut/skipcpio initramfs-$(uname -r).img | zcat | cpio -imd

General setup  ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 
  (/root/rootfs) Initramfs source file(s)     //  輸入initframfs目錄的絕對路徑. 

如果.config存在,運行make menuconfig時的缺省設置即是當前.config的設置,若對設置進行了修改.config將被更新。 
按多次ESC鍵退出保存 
開始編譯rpm,時間比較長,請耐心等待。約1h

# make rpm 

生成位置:

/root/rpmbuild/SRPMS/kernel-4.9.11-2.src.rpm
/root/rpmbuild/RPMS/x86_64/kernel-4.9.11-2.x86_64.rpm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章