DebianでUML環境を作る

DebianでUML環境を作ったことを忘れないためのメモ

環境整備
# apt-get install user-mode-linux
/etc/group にグループuml-netが作成される
# apt-get install uml-utilities
setuid問題 <--メモには残っているが、なんだったか既に覚えていない

もし /dev/net/tunがなかったら
# modprobe tun ; modprobe netlink_dev
#  mkdir -p /dev/net 
# mknod -m 660 /dev/net/tun c 10 200 
# chmod 660 /dev/net/tun
# chown root.uml-net /dev/net/tun

ls -l /dev/net/tun 
crw-rw----    1 root     uml-net   10, 200 Sep 10 10:56 /dev/net/tun

# usermod -G uml-net  あなたのアカウント
準備
% mkdir uml01 <- 好きなディレクトリ名 
% cd uml01

約536MB -> CDR 1枚に入るサイズ

% dd if=/dev/zero of=root_fs bs=8192 count=65536

%  /sbin/mke2fs ./root_fs
mke2fs 1.27 (8-Mar-2002)
./root_fs is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=1
64 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: 

%  mkdir uml
%  sudo mount -o loop ./root_fs uml

% df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda1             28834716   1094048  26275944   4% /
/dev/hda2             48062468   1558240  44062752   4% /home
/home/あなたのディレクトリ/uml01/root_fs
                        507748        13    481521   1% /home/あなたのディレクトリ/uml01/uml

%  sudo /usr/sbin/debootstrap woody uml 
もしくは
% sudo /usr/sbin/debootstrap --arch i386 woody uml ftp://ftp.jp.debian.org/debian


etc以下のファイルを変更

% sudo su

chrootをする
# cd uml ; chroot .

まず/dev/ubdを作る
# (cd dev ; ./MAKEDEV ubd)

etc以下次のファイルを書き直す
./network/interfaces
./fstab
./apt/sources.list
./hostname
./hosts

# cd etc 
あとはエディットする
----./network/interfacesの例--
## 自分の環境にあわせるように
iface lo inet loopback
auto lo

#--DHCP--
#iface eth0 inet dhcp  <-- DHCPの時
#auto eth0
#--------

#---fixed ip---
auto eth0
iface eth0 inet static
	address 192.168.1.3
	netmask 255.255.255.0 
	network 192.168.1.0   
	broadcast 192.168.1.255
	gateway 192.168.1.1   
#-----
----

----./fstabの例----
#これはudb0を使う限り固定
/dev/ubd0     /     ext2   defaults,errors=remount-ro 0 1
proc	      /proc proc   defaults                   0 0
-----

----./apt/sources.listの例---
##たぶんこれで固定
deb ftp://ftp.jp.debian.org/debian woody main contrib non-free
deb http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free
deb http://security.debian.org/ stable/updates main
deb-src http://non-us.debian.org/debian-non-US stable/non-US main
deb-src http://ftp.jp.debian.org/debian/ stable main 
---

hostnameとhostsはおすきに


# exit

$ sudo umount /home/あなたのディレクトリ/UML/uml01/root_fs


UML起動


%  linux single rw ubd0=./root_fs eth0=tuntap,,,the-ip-of-your-host-machine

xtermが立ち上がる


UML起動後

----ネットワークのコンフィグレーションをしていない場合は手動で
# ifconfig lo 127.0.0.1 up
# ifconfig eth0 192.168.1.3 up    <--- 適切なIPアドレス
# route add default gw 192.168.1.1  <---適切なGWのIPアドレス
----

# /usr/sbin/base-config

ここの中で必ずtaskselにいく、FINISHでよい。こうするとapt-get update;
apt-get upgradeで必要なファイルをインストールしてくれる。


キーワード: UML debian 自分で環境を作る

目次へ

すずきひろのぶ hironobu at h2np dot net 更新日: