ubuntu上安装lguest虚拟机

本文介绍如何在Ubuntu上通过编译安装新内核来支持lguest虚拟机,并详细记录了从下载内核源码、配置内核选项、编译安装内核到最终启动虚拟机的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lguest虚拟机是集成在linux内核中的,但ubuntu默认好像把它去掉了。所以就要编译安装新的内核,到这里下载安装最新的内核就可以了。

我下载的是3.7.9,文件名是:linux-3.7.9.tar.bz2

第一步:把这个压缩包解压到 /usr/src/ 目录下,然后进入到这个目录


cd /usr/src/linux-3.7.9

第二步:清理


sudo make mrproper

该命令的功能在于清除当前目录下残留的.config和.o文件,这些文件一般是以前编译时未清理而残留的。而对于第一次编译的代码来说,不存在这些残留文件,所以可以略过此步,但是如果该源代码以前被编译过,那么强烈建议执行此命令,否则后面可能会出现未知的问题

第三步:配置


sudo make menuconfig

配置如下:


"Device Drivers":

      "Staging drivers"=N


"General setup":

     "Prompt for development and/or incomplete code/drivers" = Y

        (CONFIG_EXPERIMENTAL=y)


  "Processor type and features":

     "Paravirtualized guest support" = Y

        "Lguest guest support" = Y

     "High Memory Support" = off/4GB

     "Alignment value to which kernel should be aligned" = 0x100000

        (CONFIG_PARAVIRT=y, CONFIG_LGUEST_GUEST=y, CONFIG_HIGHMEM64G=n and

         CONFIG_PHYSICAL_ALIGN=0x100000)


  "Device Drivers":

     "Block devices"

        "Virtio block driver (EXPERIMENTAL)" = M/Y

     "Network device support"

        "Universal TUN/TAP device driver support" = M/Y

        "Virtio network driver (EXPERIMENTAL)" = M/Y

           (CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m and CONFIG_TUN=m)


  "Virtualization"

     "Linux hypervisor example code" = M/Y

        (CONFIG_LGUEST=m)

第四步:确定依赖性


sudo make dep

第五步:清除编译中间文件


sudo make clean

第六步:生成新内核


sudo make bzImage

第七步:生成modules


sudo make modules

第八步:安装modules


sudo make modules_install

第九步:建立ramdisk映像


sudo mkinitramfs -o /boot/initrd-linux3.7.9.img

第十步:安装新内核


sudo make install

然后重启就可以了。至此已经完成了内核升级部分,下面是安装虚拟机。

第十一步:


cd /usr/src/linux-3.7.9/tools/lguest

第十二步:生成lguest


sudo make

第十三步:准备虚拟机所需的必要文件

a.内核映像

lguest要求虚拟机的内核必须和host机保持一致,所以虚拟机还使用刚才编译的内核即可。这个内核是:/usr/src/linux-3.7.9/arch/i386/boot/bzImage,把它复制到/usr/src/linux-3.7.9/tools/lguest/并改名为vmlinux


sudo cp /usr/src/linux-3.7.9/arch/i386/boot/bzImage /usr/src/linux-3.7.9/tools/lguest/vmlinux

b.根文件系统
这个从网上
下载就可以了。我下载的是OpenSuse32位,把它解压到/usr/src/linux-3.7.9/tools/lguest/,并改名为rootfile


bzip2 -d OpenSuse-12.1-x86-root_fs.bz2
sudo cp OpenSuse-12.1-x86-root_fs  /usr/src/linux-3.7.9/tools/lguest/rootfile


第十四步:启动虚拟机



sudo ./lguest 64m vmlinux --tunnet=192.168.19.2 --block=./rootfile root=/dev/vda

虚拟机就成功启动了,因为我只安装文件系统和内核,所以没有桌面系统,只有命令行的功能,如下图:




原文链接:http://hi.baidu.com/lglgaigogo


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值