学习啦 > 学习电脑 > 操作系统 > Linux教程 > 如何编译内核及制作RPM包

如何编译内核及制作RPM包

时间: 若木635 分享

如何编译内核及制作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

  # 重复第二步

75342