萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 如何編譯內核及制作RPM包

如何編譯內核及制作RPM包

  編譯內核及制作RPM包

  編譯步驟

  第一步:

  # cd /home

  # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.5.tar.gz

  # tar -zxvf linux-2.6.32.5.tar.gz -C /usr/src

  # cd /usr/src

  # ln -s linux-2.6.32.5 linux

  # cd linux

  第二步:

  # make mrproper (初次編譯內核這步也可以省略,方便第二次編譯初始用。)

  # make menuconfig

  # make bzImage && make modules && make modules_install(需30~40分鐘,具體看服務器配置)

  # make install

  如需制作RPM內核安裝包,運行以下命令,相當於第二步的操作,但不編譯本機內核。

  # make rpm

  生成位置:

  /usr/src/redhat/RPMS/x86_64/kernel-2.6.32.6-2.x86_64.rpm

  /usr/src/redhat/SRPMS/kernel-2.6.32.6-2.src.rpm

  安裝步驟

  1、二進制rpm包安裝步驟

  # rpm -ivh kernel-2.6.32.6-1.x86_64.rpm

  # vi /boot/grub/menu.lst添加以下並修改default項。

  title CentOS (2.6.32.6)

  root (hd0,0)

  kernel /vmlinuz-2.6.32.6 ro root=LABEL=/

  initrd /initrd-2.6.32.6.img

  # cd /lib/modules && mkinitrd /boot/initrd-2.6.32.6.img 2.6.32.6/

  2、RPM源碼包安裝步驟,好處便是在原有基礎上再進行編譯,更靈活。

  # rpm -Uvh kernel-2.6.32.6-2.src.rpm

  # rpmbuild -bp --target=$(arch) /usr/src/redhat/SPECS/kernel-2.6.32.6-2.spec

  # cd /usr/src/redhat/BUILD/kernel-2.6.32.6-2

  # vi Makefile <-- Change "EXTRAVERSION" to avoid kernel overwriting

  # cp /lib/modules/2.6.32.6/build/.config .

  # make menuconfig

  # 重復第二步

copyright © 萬盛學電腦網 all rights reserved