分类: LINUX
2007-11-18 22:42:50
User-mode-linux (UML) 是让一个linux作为一个独立进程运行在另一个linux上。 请在 查找 uml 的详细安装使用指南。
这篇 wiki 文章是 概要。 如果你有任何意见和建议可以在这回帖。
UML 是一种在同一时间运行多 (arch-)linux 的安全方式。 每个进程都是独立去其它的, 这非常安全,例如在同一机器上进行多种测试和开发而不互相干扰。如果一些测试进程损坏并不会影响宿主系统或者开发用进程。
1.) 首先您要创在一个独立、大的文件用来安装 arch。 如下命令会创造一个独立的空的 1GB 文件 - 应该足够安装一个基 arch 系统。
dd if=/dev/zero of=archRootFs bs=1MB count=1000
2.) 当创建完成后格式化。 如下命令将会提示 archRootFs 不是一个 block 设备。 你可以完全忽律或这加入 -F 来 mke2fs 可以屏蔽提示信息。
mke2fs archRootFS
3.) 格式化后加载它。 以root用户执行如下命令:
mount -o loop archRootFs /mnt
4.) 现在开始基本系统安装。您可以用 archbootstrap 脚本, 这会象光盘安装一样不同的是这个安装从指定目录开始。这是一个真实的基本系统安装 - 因而会花费一点时间!
sh archbootstrap /mnt/ ftp://archlinux-mirror
5.) 在系统以 user-mode-linux 模式启动之前, 一些 arch 基本系统文件要求定制。 在 /mnt/etc/fstab 加入:
/dev/ubd0 / ext2 defaults 0 0
可以通过禁用 hotplugin 来加快启动时间,在 /mnt/etc/rc.conf 加入:
DAEMONS=(syslog-ng !hotplug !pcmcia network netfs crond)
6.) 卸载文件系统。 注意: 如果你在加载的系统中改变 任何东西 (例如 /mnt) 如果它在 运行 这些有可能 毁了 它 !
umount /mnt
modprobe tun tunctl -u users chown root.users /dev/net/tun ifconfig tun0 192.168.0.100 up
8.) 现在您能启动镜像。为了使用网络,您要在 uml 内核中声明正确的设备值。 (确保普通用户通过运行 uml 命令有足够的权限使用网络!)
linux ubd0=archRootFs eth0=tuntap,,,192.168.0.100
",,," 意思是:
eth0=transport,tuntap device,MAC adress,ip
例如:
eth0=tuntap,tap0,3f:2a:bb:00:00:00,192.168.3.23