编译支持Xen的Linux 3.1.0内核

14 篇文章 0 订阅
10 篇文章 0 订阅

这是我第一次真心把Linux内核完整的编译一遍……不过呢,从高版本起步,老内核里出现的诸多问题已经被开发者fix掉,反而更加容易。在内核中添加Xen支持就是这样。

从2.6.39版本开始,内核不需要patch 直接可以同时支持Xen Dom0和DomU ,但是想把Xen相关的编译选项调开倒真不容易。也许是我没习惯内核的编译方式吧。


环境:gcc4.5 处理器 Pentium D E2140(老处理器了,不支持HVM,凑合着用)


下载linux 3.1.0版本的内核之后 sudo make menuconfig 进入配置画面

1. 配置

Processor Types and Features --> 

             Processor Family                                     选择Pentium 4(根据实际情况,选最高的。老处理器没办法)

下面的 High Memory Support 内存上限             选择 64GB,这样底下会多出一个隐藏选项:

             PAE Support                                               该选项会自动被选上

再进入Paravirtualized Guest Support,会出来一个隐藏选项

             Xen Guest Support                                   (= =) 选中!


这样编译出来的内核,既可以当Dom0,也可以当DomU。内核会自动适应。

最后看一下其他的选项 把跟AMD处理器相关的就先拿掉吧

2. 安装

配置好以后,直接make 或者

sudo make -j5 bzImage
sudo make -j5 modules

-jn 可以开n个线程make。一般n=3-5

sudo make modules_install 

(这一步会覆盖已有的 模块/lib/modules 可能有的驱动会出问题) 

然后把/usr/src/linux-3.1.0下的 .config, System.map 和arch/x86/boot/bzImage 拷贝到/boot 改名成 config-3.1.0 System.map-3.1.0 vmlinuz-3.1.0

sudo cp -a .config /boot/config-3.1.0
sudo cp -a System.map /boot/System.map-3.1.0
sudo cp arch/x86/boot/bzImage /boot/vmlinuz-3.1.0

创建initrd

sudo update-initramfs -c -v -k 3.1.0   // 创建一个新的initramfs启动用,会生成initrd.img-3.1.0
更新grub
sudo grub-mkconfig
会自动生成
 ### BEGIN /etc/grub.d/20_linux_xen ###
Found linux image: /boot/vmlinuz-3.1.0
Found initrd image: /boot/initrd.img-3.1.0
menuentry 'Ubuntu GNU/Linux, with Linux 3.1.0 and XEN syms-4.1.2' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
insmod part_msdos insmod ext2 set root='(hd0,msdos6)' search --no-floppy --fs-uuid --set 8396057b-e888-4868-a754-27a816cae53d echo 'Loading Linux 3.1.0 ...' multiboot /boot/xen-syms-4.1.2 placeholder module /boot/vmlinuz-3.1.0 placeholder root=UUID=8396057b-e888-4868-a754-27a816cae53d ro quiet splash echo 'Loading initial ramdisk ...' module /boot/initrd.img-3.1.0
} 

检查完毕无误以后,把配置文件写入grub.cfg

sudo grub-mkconfig -o /boot/grub.cfg

3. nvidia 官方显卡驱动安装

在官网下载了NVIDIA-Linux-x86-285.05.09.run这个安装文件。(强烈建议把安装说明下载后存成txt,方便控制台界面下查看)
重启,进入新编译的Ubuntu GNU/Linux, with Linux 3.1.0 and XEN 4.1.2启动选项,启动新的内核。此时没有显卡驱动。
运行sudo sh ./NVIDIA-Linux-x86-285.05.09.run,按照提示一路yes下去 就可以顺利安装完成。(运气不错
重启以后,就可以进入图形界面了。但是这时还有一个问题:窗口标题会消失
没解决:修改/etc/X11/xorg.conf文件(先备份),
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "True"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Extensions"
    Option         "Composite" "Enable"
EndSection


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值