免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2268 | 回复: 0

在kvm image上用debootstrap 安装的Debian sid [复制链接]

论坛徽章:
0
发表于 2009-12-06 15:21 |显示全部楼层

                                在kvm image上用debootstrap 安装的Debian sid(v20091206)
  作者:Liang Guo(bluestonechina@gmail.com)
本文描述了一种便于自动化安装Debian的方法, 适用于在已有的Debian 环境中快速构建用于kvm的硬盘映像. 本文中, 所有的操作都需要用root来执行.
1 创建kvm image, 如下命令创建一个8G的硬盘影响文件, /vm/sid1.img. 事实上, 安装完基本系统后, 文件系统的占用不到500M.
kvm-img create -f qcow2 /vm/sid1.img 8G
2 在kvm image上建立分区及文件系统. 首先运行kvm-nbd,
kvm-nbd /vm/sid1.img
这样 nbd-client即可通过本地的1024端口访问/vm/sid1.img, 就像一块普通硬盘.
然后运行nbd-client,
modprobe nbd
nbd-client localhost 1024 /dev/nbd0
3 创建分区, 执行
sfdisk /dev/nbd0 -uM 该命令在/dev/nbd0上建立了2个分区, 第一个分区/dev/nbd0p1大小1g, 类型swap, 第二个分区为剩余的容量,类型未默认类型linux native.
4 创建文件系统, 执行
mkswap /dev/nbd0p1
mkfs.ext4 /dev/nbd0p2
也可以选择其他类型的文件系统, 如ext3, btrfs, nilfs等新的文件系统.
5  挂载分区, 执行
mount /dev/nbd0p2 /mnt/root/
mkdir -p /mnt/root/var/cache/apt/archives/
mkdir -p /mnt/root/var/lib/apt/lists/
mount -o bind /var/cache/apt/archives/ /mnt/root/var/cache/apt/archives/
mount -o bind /var/lib/apt/lists/ /mnt/root/var/lib/apt/lists/
将本机的/var/cache/apt/archives和/var/lib/apt/lists挂载到/mnt/root下, 是为了让debootstrap使用已经缓存在这些目录下的软件包, 而不需要重新下载.
6 执行安装, 其中amd64是架构, 可以是i386, amd64等等. sid指dist, 可以是sid, testing, stable等, http://ftp.tw.debian.org/debian是打算使用的安装源, 最好和当前系统使用的源相同.
/usr/sbin/debootstrap --arch amd64 sid /mnt/root http://ftp.tw.debian.org/debian
7 chroot到新安装的环境中
LANG=C chroot /mnt/root /bin/bash
8 安装kernel 和grub
mount -t proc proc /proc
apt-get -y install linux-image-2.6-amd64
apt-get -y install grub-pc
在执行安装前, 需要先挂载/proc文件系统.
9 设置/etc/fstab, /etc/network/interfaces, /etc/hostname, /etc/hosts,
cat >>/etc/fstab >/etc/network/interfaces /etc/hostname
cat >>/etc/hosts
10 设置root密码
passwd root
11 退出chroot环境, 卸载所有文件系统, 并中断nbd连接
exit
umount /mnt/root/var/cache/apt/archives/
umount /mnt/root/var/lib/apt/lists/
umount /mnt/root/proc
umount /mnt/root
nbd-client -d /dev/nbd0
12 创建一个包含grub的启动软盘映像.
grub-mkfloppy grub.img
13 启动kvm, 执行
kvm -m 1G -fda /root/grub.img -drive file=/vm/sid1.img,if=virtio,index=0,media=disk,boot=on -boot a
14 使用磁盘中的grub引导硬盘中的系统, 在GRUB>提示符下输入:
root (hd0,2)
linux /vmlinuz root=/dev/vda2
initrd /initrd.img
boot
15 将grub安装到硬盘, 使用步骤10中设置的密码登录系统, 然后运行
grub-install --force /dev/vda
update-grub
shutdown -h now
16 现在可以使用如下命令启动虚拟机, 并正常运行了.
kvm -m 1G -drive file=/vm/sid1.img,if=virtio,index=0,media=disk,boot=on
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7667/showart_2112267.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP