VMware中Ubuntu编译和升级内核

1、 VMware中创建一个Ubuntu的虚拟内存机,注意在设置内存和硬盘时要设置大一些(内存2G,硬盘180G)。
最初配置的时候内存是1G,硬盘是20G,在编译的时候提示空间不够,用命令 df -h 查看,发现根目录文件系统/dev/sda1 的使用率为100%。
因此重新创建了一个虚拟机,分配内存为1G,硬盘为80G,可以正常编译,reboot之后启动新版本kernel的时候显示
"end Kernel panic - not syncing: Out of memory and no killable processes..."
重新配置虚拟机的内存和硬盘,把内存增加到2G,硬盘增加到180G,此时重新启动虚拟机,可以用新版本的kernel正常启动。

为了后续配置的方便,我们进入到root用户进行操作
2、配置网络
虚拟机安装好之后,NAT方式配置好网络。
用浏览器Firefox可以正常上网,但是在更新的时候总是会失败(sudo apt-get update ),也没法安装软件。
把source.list更换成如下源,同时对系统网络和软件更新进行设置。再次测试,可以更新和安装软件。
System Settings -> Network -> 设置 HTTP/HTTPS Proxy
System Settings -> Software & Updates -> Download from -> Main server
root@ubuntu:/# cp /etc/apt/sources.list /etc/apt/sources.list.backup

root@ubuntu:/# gedit /etc/apt/sources.list

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted
deb http://archive.ubuntu.com/ubuntu xenial universe
deb http://archive.ubuntu.com/ubuntu xenial-updates universe
deb http://archive.ubuntu.com/ubuntu xenial multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates multiverse
deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-security main restricted
deb http://archive.ubuntu.com/ubuntu xenial-security universe
deb http://archive.ubuntu.com/ubuntu xenial-security multiverse

3、更新
xl@ubuntu:~$ apt-get update
xl@ubuntu:~$ apt-get upgrade
4、开启虚拟机和主机的文件共享,拷贝linux kernel源文件到自己目录下,并解压
xl@ubuntu:~$ mv /mnt/hgfs/shareVMware02/linux-4.4.19.tar.xz ./compileKernel/
xl@ubuntu:~/compileKernel$ xz -d linux-4.4.19.tar.xz
xl@ubuntu:~/compileKernel$ tar xvf linux-4.4.19.tar
在编译之前安装下列软件
root@ubuntu:/home/xl/compileKernel/linux-4.4.19# apt-get install libncurses5-dev
root@ubuntu:/home/xl/compileKernel/linux-4.4.19# apt-get install libssl-dev
将原来的配置拷贝过来,这样在用新的kernel启动的时候依然使用原来的配置
root@ubuntu:/boot# cp /boot/config-`uname -r` ./.config
每次编译前使用下列命令清理源代码树,第一次解压的源代码不需要
root@ubuntu:/boot# make mrproper
5、配置内核选项,这里面我使用了默认配置,后续会研究不同的内核选项配置
root@ubuntu:/boot# make menuconfig
6、编译,生成内核模块和压缩的内核文件。其中数字n是任务数,建议设置为CPU核心数的2倍。
root@ubuntu:/home/xl/compileKernel/linux-4.4.19# make -j n
安装内核动态加载模块文件到/lib/modules中相应的内核版本目录中
root@ubuntu:/home/xl/compileKernel/linux-4.4.19# make modules_install
root@ubuntu:/lib/modules/4.4.19# ls
build          modules.alias.bin    modules.dep      modules.order    modules.symbols.bin
kernel         modules.builtin      modules.dep.bin  modules.softdep  source
modules.alias  modules.builtin.bin  modules.devname  modules.symbols
安装压缩文件到/boot分区
root@ubuntu:/home/xl/compileKernel/linux-4.4.19# make install
root@ubuntu:/boot# ls
grub                     vmlinuz-4.4.19               initrd.img-4.4.19 
config-4.4.19            memtest86+.bin               System.map-4.4.19
... ...
7、重启
root@ubuntu:/home/xl/compileKernel/linux-4.4.19# reboot
8、启动之后查看kernel版本,已经更新到新的kernel版本
root@ubuntu:/# cat /proc/version
Linux version 4.4.19 (root@ubuntu) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #1 SMP Thu Jul 6 11:43:38 PDT 2017

参考:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值