aliyun

阿里云

阿里云内核更新全过程

标签(空格分隔): 阿里云


九月份的时候突然得知阿里云云翼对大学生超级良心的优惠,算下来一年只需要70,虽然的确配置不咋滴还限制流量,但是毕竟便宜。不过买回来以后真的发觉不知道可以用来干啥,就当了下编程环境,然后跑了下爬虫。实在不甘心啊,这可是两顿鸡公煲的钱!于是打算手动更新内核咯,也为以后自己精简树莓派内核做准备咯。

1.需要准备的材料:
a.阿里云vps
b.最新的linux kernel
c.各种依赖包

2.大概的步骤
a.下载好需要的一切
b.make config
c.make
d.make install

好了,首先就是需要把所有的软件包更新到最新。插一段话,我因为编译比较无聊,所以顺手把阿里云盾卸载了(实在想不出谁会闲着没事搞我的主机,反正我有格盘大法我怕谁啊)。安利下彻底卸载阿里云云盾的方法:

1
2
3
wget http://update.aegis.aliyun.com/download/uninstall.sh
chmod +x uninstall.sh
sh uninstall.sh

我直接执行反正提示什么循环变量出现问题,然后索性就把脚本里执行的命令复制出来,全部执行,最后再看下top,ok!

  1. 首先就是去wget最新的kernel啦,地址在此!。下载好后先用xz -d命令解压,再用tar -xf命令解压,得到内核文件夹。
  2. 理想中的情况应该是用/linux-4.3-rc4/scripts文件架下的extract-ikconfig脚本导出当前的内核配置然后再导入,这样既节省配置时间,而且相对来说也保险一些。然而我死活没有弄清楚该脚本的用法,于是直接make allyesconfig(启用所有的内核功能)。顺便提一下几种配置方法:

    make config #遍历选择编译内核功能
    make allyesconfig #启用内核全部功能
    make allnoconfig #内核功能选项全部为否
    make menuconfig #开启文本菜单选项,对窗口有限制,尽量调大窗口,否则会出错

    #使用此命令需安装gcc和ncurses-devel
    

    make gconfig #依赖GNome桌面环境及GNome的图形开发环境,gtk2
    make kconfig #依赖KDE桌面环境及KDE的图形开发环境,qt

  3. 配置完以后就可以直接make啦,然而竟然提示我scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h: No such file or directory,最后得到的解决方法是apt-get install libssl-dev,果然执行完以后就可以顺利开始编译了。以后如果大家也遇到类似的问题,可以google一下所需要的依赖包或者库文件什么的。
  4. 最后附上的一些小意见。建议用make -j 2这样可以把阿里云的两个核心都用上,适当提高编译速度。还有就是可以安装下screen这个软件,然后输入screen再make,这样就算断开ssh也能继续编译啦。其中在screen命令新建的窗口中ctrl+a+d是隐藏窗口,screen -ls是列出所有窗口列表,screen -r 窗口id是切换窗口。
  5. 之后我就关了putty,让他在后台自己静静地编译了,第二天中午一下看迫不及待地打开一看,发现已经搞定了。于是输入make modules_install || make install,然后再次挂后台。之后直接查看/boot下面有没有编译好的最新镜像就ok啦。然而还有一件奇怪的事情就是虽然编译成功,但是系统仍不用最新的img启动,查看/boot/grub/grub.cfg也发现启动顺序改好了。没办法,使用移除老镜像大法——apt-get remove 你的镜像版本最后终于成功用4.3内核启动了,结尾照例贴图一张晒一晒。此处输入图片的描述