为升级后的Linux内核打包(适用于ubuntu)

打包替换内核

打包替换新内核使用的是make-kpkg命令,所以此方法只适合支持make-kpkg命令的系统版本,一般适合Ubuntu、Debian等系统,不适合RedHat系统。

1、定制内核

#make mrprobe ,清理源代码树。

#make menuconfig ,配置内核。

2、打包内核

(1)拷贝.confg文件:

执行#cp /boot/config-,然后按下Tab键,系统会自动填上该目录下符合条件的文件名,然后继续输入 .config,目的是使用在boot目录下的原配置文件。

不执行这一步的话,后面make的时候会提示找不到.confg文件。

如果在上一步配置了内核的话应该是会自动生成.config文件,但这里本人只是执行了一次#make menuconfig命令并没有配置内核。

(2)编译打包内核

#make-kpkg --initrd - -append-to-version=-pyh - -revision=zxxiong.0716 -j 4kernel_image kernel_headers

执行完以上命令后将在上一级目录生成两个.deb包:

头文件包:linux-headers-3.12.5-pyh_zxxiong.0716_amd64.deb

内核包:linux-image-3.12.5-pyh_zxxiong.0716_amd64.deb

【--initrd】选项会让make-kpkg自动帮我们生成initramfs;

【--revision】会给生成的deb文件加上一个版本信息。这个参数只是影响到文件名,如果不指定,默认会是“10.00.Custom”;

【--append-to-version】也是一种版本信息,它不仅出现在deb安装包的文件名里,也会影响到kernel的名称,比如本例中,内核更新完成之后,用“uname -r”察看会得到“3.12.5-pyh”;

【kernel_image】表示生成内核和默认模块的安装包。

【kernel_headers】这样make-kpkg会生成一个内核头文件的安装包。

如果我们用普通用户来执行make-kpkg,需要加上fakeroot运行

#fakeroot make-kpkg --initrd - -append-to-version=-pyh - -revision=zxxiong.0716 -j 4 kernel_image kernel_headers

(注:需要设置平台 如-amd64在这里配置文件已经默认配置了,所以这里不用加,选项kernel_image是生成内核.deb包,选项kernel_headers是生成头文件.deb包,这两个选项可以只使用一个)

(3)安装内核

将上面生成的.deb包拷贝到需要替换内核的机器上,执行以下命令:

#dpkg –i linux-headers-3.12.5-pyh_zxxiong.0716_amd64.deblinux-image-3.12.5-pyh_zxxiong.0716_amd64.deb (接上一行)

或者直接在deb包所在目录执行:#dpkg –i ./*.deb

执行命令之后则会自动更新/boot目录下的文件(即自动执行命令:# update-initramfs -c -k3.12.5 和#update-grub2),然后重启系统并选定加载的内核就可以了,还可以修改/boot/grub/grub.cfg配置文件中的 set default=”0”, 默认为0,安装完后查看该文件新加载的内核是第几项就设置为几(从0开始),这样则不需要在开机时选择启动第几项了。

(5) 重启系统

#reboot

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值