お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-10-05 13:58:03

santamasashi
メンバ
登録日: 2009-09-25

UMLの起動

UserModeLinux-Community Ubuntu Documentation(https://help.ubuntu.com/community/UserModeLinux)
というページを参考にUbuntu9.04にUMLを設定しようとしています。
システムは以下の通りです。
Ubuntu
リリース9.04(jaunty)
カーネル Linux 2.6.28-15-generic
GNOME 2.26.1
ハードウェア
メモリ:1.8GB
プロセッサ 0:Intel(R) Core(TM)2 Duo CPU  E8500 @ 3.16GHz
プロセッサ 1:Intel(R) Core(TM)2 Duo CPU  E8500 @ 3.16GHz

また以下が参考資料をもとに行った作業です。
カーネルとルートファイルシステムを同一ディレクトリに置いておく必要があるため、/home/yamada内に「UML」というディレクトリを作成した。コマンドは以下の通り。
$ mkdir UML

1)必要なもの(user-mode-linux, uml-utilities, bridge-utils, debootstrap)をインストールする。
$ sudo apt-get install user-mode-linux uml-utilities bridge-utils debootstrap
 インストール後、インストールしたものがそれぞれどこに格納されているかを確認した。
 私は、dpkgコマンドを用いてインストールした4つのパッケージがどこに置かれているかを確認した。(これを載せるとあまりにも長い文章のため、uml-utilitiesの例だけ書き、その他の保管場所は省略。)
 uml-utilitiesのパッケージがどこに置かれているか確認するために入力したのは以下のコマンド。
***@ubuntu:~$ dpkg -L uml-utilities
/.
/usr
/usr/sbin
/usr/sbin/jail_uml
/usr/sbin/tunctl
/usr/lib
/usr/lib/uml
/usr/lib/uml/port-helper
/usr/lib/uml/uml_net
/usr/bin
/usr/bin/jailtest
/usr/bin/humfsify
/usr/bin/uml_mconsole
/usr/bin/uml_moo
/usr/bin/uml_mkcow
/usr/bin/uml_switch
/usr/bin/uml_watchdog
/usr/bin/uml_mount
/usr/share
/usr/share/doc
/usr/share/doc/uml-utilities
/usr/share/doc/uml-utilities/README.Debian
/usr/share/doc/uml-utilities/copyright
/usr/share/doc/uml-utilities/examples
/usr/share/doc/uml-utilities/examples/tty_log.pl
/usr/share/doc/uml-utilities/examples/interfaces.example
/usr/share/doc/uml-utilities/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/uml_mconsole.1.gz
/usr/share/man/man1/uml_mkcow.1.gz
/usr/share/man/man1/uml_moo.1.gz
/usr/share/man/man1/uml_mount.1.gz
/usr/share/man/man1/uml_switch.1.gz
/usr/share/man/man1/humfsify.1.gz
/usr/share/man/man1/jail_uml.1.gz
/usr/share/man/man8
/usr/share/man/man8/tunctl.8.gz
/etc
/etc/network
/etc/network/if-up.d
/etc/network/if-up.d/uml-utilities
/etc/network/if-pre-up.d
/etc/network/if-pre-up.d/uml-utilities
/etc/default
/etc/default/uml-utilities
/etc/init.d
/etc/init.d/uml-utilities
yamada@ubuntu:~$
 このようにしてパッケージがどこにインストールされたかを確認した。
 カーネルがどれかという問題も、user-mode-linuxのパッケージがどこに置かれているのかを確認した際に、/usr/bin/linux.umlというものが示されていたため、「linux.uml」がカーネルであると確認することができた。

2)ルートファイルシステムを置くための空のファイルを作成する。
$ dd if=/dev/zero of=uml-root-hardy bs=4096 seek=1M count=1
 この作業はUbuntu8.04ではスムーズにできていた作業だが、Ubuntu9.04でインストールを操作した際は、コマンド実行後に何も起きずないというエラーが生じた。これを解決するためにddコマンドについていろいろ調べた結果、bsの値が大きすぎて処理をために多くの時間がかかるのが問題ではないかと考えた。そこで以下のコマンドで再実行した結果、スムーズに空のファイルを作成することができた。
/UML$ dd if=/dev/zero of=uml-root-hardy bs=512 seek=1M count=1
1+0 記録始め
1+0 記録終わり
512 バイト (512 B) コピー終了、 7.4849e-05 s, 6.8 MB/s
 
3)ファイルシステムを作成する。
/UML$ mkfs.xfs uml-root-hardy
 この作業を行った際に、xfsprogsというパッケージがまだインストールされていないと表示されるので、以下のコマンドでインストールした。ここで、xfsprogsとは、XFSファイルシステムを使用するためのコマンド郡である。
/UML$ sudo apt-get install xfsprogs
 インストール完了後、再度ファイルシステムを実行するコマンドを実行すると、無事作業は完了した。
/UML$ mkfs.xfs uml-root-hardy
meta-data=uml-root-hardy isize=256 agcount=4, agsize=32768 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=131072, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=1200, version=2
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0

4)ファイルシステムをマウントする。
/UML$ sudo mount –o loop uml-root-hardy /mnt
 ここでは、先ほど作成したuml-root-hardyというファイルシステムを、mountコマンドを用いてマウントした。
 mountコマンドでは、ファイルシステムをマウントできるのはスーパーユーザだけであり、他のユーザはmountを使用してファイルシステムをリストすることができる。
 ここで、きちんとマウントできているかを確認した。その際に用いるのが、dfコマンドである。dfコマンドを実行した結果以下の画面が表示された。
/UML$ df -a
ファイルシステム           1K-ブロック    使用   使用可 使用% マウント位置
/dev/sda1            302105360   4266392 282492880   2% /
tmpfs                   964364         0    964364   0% /lib/init/rw
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
varrun                  964364       128    964236   1% /var/run
varlock                 964364         0    964364   0% /var/lock
udev                    964364       148    964216   1% /dev
tmpfs                   964364       440    963924   1% /dev/shm
devpts                       0         0         0   -  /dev/pts
fusectl                      0         0         0   -  /sys/fs/fuse/connections
lrm                     964364      2192    962172   1% /lib/modules/2.6.28-15-generic/volatile
securityfs                   0         0         0   -  /sys/kernel/security
binfmt_misc                  0         0         0   -  /proc/sys/fs/binfmt_misc
/home/yamada/.Private
                     302105360   4266392 282492880   2% /home/yamada
gvfs-fuse-daemon             0         0         0   -  /home/yamada/.gvfs
/dev/loop0              519488      4256    515232   1% /mnt
/dev/loop1              519488      4256    515232   1% /mnt
 ここには見当たらなかった。できていなかったと再度マウントするためのコマンドを実行したところ、以下の表示があり、きちんとマウントできていると確認することができた。
/UML$ sudo mount -o loop uml-root-hardy /mnt
mount: mtab によると、/home/yamada/UML/uml-root-hardy は loop として /mnt にマウント済です

5)rootアカウントに交代する。
/UML$ sudo –i
 ここからはrootアカウントで行う必要がある作業であるため、rootアカウントに交代した。

6)マウントパーティションの基礎システムをインストールする。--arch optionにはi386かamd64を使用する。
 ここでは、マウントパーティションの基礎システムをインストールした。最初は、--arch optionとしてamd64を使用したが、そうすると以下のエラーが最後に表示された。
W: Failure trying to run: chroot /mnt mount -t proc proc /proc
そのため、上のchrootコマンドを打ち込んでみた。結果は以下の通り。
# chroot /mnt mount -t proc proc /proc
chroot: cannot run command `mount': Exec format error
 そこで、amd64とi386を調べてみたが、amd64とはAMD社のマイクロプロセッサに搭載するもので、i386はIntel社のマイクロプロセッサに搭載するものであった。ここで、[システム]→[システム管理]→[システム・モニタ]を確認すると、Intel社のものであるため、i386を使うべきだと考えた。これはスムーズに作業を完了することができた。入力したコマンドは以下の通りである。
# debootstrap –arch i386 hardy /mnt http://us.archive.ubuntu.com/ubuntu
 そして最終的には以下のコマンドが表示された。
I: Base system installed successfully
 これにて完了。

7)fstabファイルを作成する。
# echo “/dev/ubd0  /       xfs    defaults     0 1” > /mnt/etc/fstab
# echo “proc       /proc   proc   defaults     o o” >> /mnt/etc/fstab
 fstabファイルを作成した。入力後に/mnt/etc内を確認すると、fstabというファイルに入力した文字が表示されているのが確認できた。fstab内は以下の通りであった。
/dev/ubd0  /      xfs    defaults    0 1
proc       /proc  proc   defaults    0 0

8)ルートファイルシステムのためのデバイスファイルを作成する。またパーミッションを設定する。
# mknod --mode=660 /mnt/dev/ubd0 b 98 0
# chown root:disk /mnt/dev/ubd0
 この作業後、/mnt/dev内にubd0ファイルが作成されるのを確認した。
 ここで使用したmknodコマンドとは、指定したタイプのスペシャルファイルを作成する際に使用するコマンドである。オプションとして用いている「--mode=660」とはchmodコマンドと同様にアクセス権を設定している。また「b」とはブロックデバイスとの意味で、「98」とはメジャー番号、「0」とはマイナー番号の意味である。[5]
 またchownコマンドのオプションの「root:disk」とは所有者がroot、グループがdiskに限るということである。

9)hostsファイルを作成する。
# echo “192.168.71.105 localhost” > /mnt/etc/hosts
 ここはデフォルトでは、127.0.0.1となっていたが、私のinetアドレスは192.168.71.105であると確認済みであるため、そちらで入力した。入力後、/mnt/etc/hostsを確認すると、以下のように表示された。
192.168.71.105 localhost

10)ネットワークインターフェイスを設定する。:eth0 using dhcp
# echo "auto lo" > /mnt/etc/network/interfaces
# echo "iface lo inet loopback" >> /mnt/etc/network/interfaces
# echo "auto eth0" >> /mnt/etc/network/interfaces
# echo "iface eth0 inet dhcp" >> /mnt/etc/network/interfaces
 この作業後に、/mnt/etc/network/interfacesを確認すると、きちんと入力した内容が以下のように表示されるのを確認できた。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

11)ファーストターミナルとシリアルターミナルのにソースリストを追加する。
# echo “tty0” >> /mnt/etc/securetty
# echo “ttys/0” >> /mnt/etc/securetty
 作業後に、/mnt/etc/securettyを確認すると、きちんと入力した内容が表示されるのを確認できた。

12)他のターミナルイベントを削除する。
# rm /mnt/etc/events.d/tty2
# rm /mnt/etc/events.d/tty3
# rm /mnt/etc/events.d/tty4
# rm /mnt/etc/events.d/tty5
# rm /mnt/etc/events.d/tty6
# rm /mnt/etc/udev/rules.d/ 75-persistent-net-generator.rules
 作業後に、/mnt/etc/events.dを確認すると、tty2,tty3,tty4,tty5,tty6が削除されており、また/mnt/etc/udev/rules.dの75-persistent-net-generator.rulesが削除されているのも確認することができた。

13)ノーマルアカウントに戻る。
# exit
 ここでrootアカウントである必要はなくなったので、一般ユーザに戻る。

16カーネルの移動
 カーネルとルートファイルシステムを同一のディレクトリ内に置くためにカーネル「linux.uml」をディレクトリに移動した。コマンドは以下の通り。
$ mv /usr/bin/linux.uml ./UML
 作業後、UMLディレクトリを確認すると、カーネル(linux.uml)とルートファイルシステム(uml-root-hardy)が置いてあるのを確認できた。

17)UMLの起動
 ここでUMLを起動する。
UML$ linux.uml ubd0=uml-root-hardy umid=um11
実際に起動はするが、failの部分もあり、6つウィンドウが起動するが、1つしかログインの画面が表示されない。
表示されたのは以下の通り。
***@ubuntu:~/UML$ linux.uml ubd0=uml-root-hardy umid=um1
Locating the bottom of the address space ... 0x10000
Locating the top of the address space ... 0xc0000000
Core dump limits :
    soft - 0
    hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode
Adding 19218432 bytes to physical memory to account for exec-shield gap
Linux version 2.6.26 (2.6.26) (root@autolux) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #2 Thu Aug 20 05:57:24 UTC 2009
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 12783
Kernel command line: ubd0=uml-root-hardy root=98:0
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 28224k available
SLUB: Genslabs=12, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Mount-cache hash table entries: 512
Checking for host processor cmov support...Yes
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
net_namespace: 652 bytes
Using 2.6 host AIO
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
mconsole (version 2) initialized on /home/yamada/.uml/um1/mconsole
Checking host MADV_REMOVE support...OK
Mapper v0.1
mmapper_init - find_iomem failed
UML Watchdog Timer
Host TLS support detected
Detected host type: i386 (GDT indexes 6 to 9)
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFS: nTxBlock = 221, nTxLock = 1768
SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug enabled
SGI XFS Quota Management subsystem
msgmni has been set to 55
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
SoftDog: cannot register miscdev on minor=130 (err=-16)
TCP cubic registered
NET: Registered protocol family 17
Initialized stdio console driver
Console initialized on /dev/tty0
console [tty0] enabled
Initializing software serial port version 1
console [mc-1] enabled
ubda: unknown partition table
registered taskstats version 1
Filesystem "ubda": Disabling barriers, not supported by the underlying device
XFS mounting filesystem ubda
VFS: Mounted root (xfs filesystem) readonly.
* Setting preliminary keymap...                                                Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
                                                                         [fail]
* Setting the system clock
hwclock is unable to get I/O port access:  the iopl(3) call failed.
* Unable to set System Clock to: Mon Oct  5 03:47:11 UTC 2009
* Starting basic networking...                                          [ OK ]
* Starting kernel event manager...                                      [ OK ]
* Loading hardware drivers...                                                  error receiving uevent message: No buffer space available
                                                                         [ OK ]
* Setting the system clock
hwclock is unable to get I/O port access:  the iopl(3) call failed.
* Unable to set System Clock to: Mon Oct  5 03:47:14 UTC 2009
* Loading kernel modules...                                                     * Loading manual drivers...                                             [ OK ]
* Setting kernel variables...                                                  error: "vm.mmap_min_addr" is an unknown key
                                                                         [fail]
* Activating swap...                                                    [ OK ]
* Checking root file system...                                                 fsck 1.40.8 (13-Mar-2008)
fsck: fsck.xfs: not found
fsck: Error 2 while executing fsck.xfs for /dev/shm/root
                                                                         [ OK ]
* Checking file systems...                                                     fsck 1.40.8 (13-Mar-2008)
fsck: cannot check /dev/ubd0: fsck.xfs not found
                                                                         [ OK ]
* Mounting local filesystems...                                         [ OK ]
* Activating swapfile swap...                                           [ OK ]
* Checking minimum space in /tmp...                                     [ OK ]
* Configuring network interfaces...                                            modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

                                                                         [ OK ]
以上です。
自分としては、エラーは

mmapper_init - find_iomem failed
SoftDog: cannot register miscdev on minor=130 (err=-16)
Couldnt get a file descriptor referring to the console
error: "vm.mmap_min_addr" is an unknown key

の4つだと考えています。
どなたかエラーなくUMLを起動するためにどうすればいいかアドバイスお願いします。

オフライン

 

#2 2009-10-05 15:05:33

weyk
メンバ
登録日: 2009-04-03

Re: UMLの起動

以前の状態のエラーは解決しているようなので何よりです。

 そこで、amd64とi386を調べてみたが、amd64とはAMD社のマイクロプロセッサに搭載するもので、i386はIntel社のマイクロプロセッサに搭載するものであった。ここで、[システム]→[システム管理]→[システム・モニタ]を確認すると、Intel社のものであるため、i386を使うべきだと考えた。これはスムーズに作業を完了することができた。入力したコマンドは以下の通りである。

単に、x86系32bitという意味と、x86系64bitsという意味で考えればよいかと思います(最初に命令セットを実装したのAMDだたからその名前に というレベルだと思いますので)。intelのCPUにおいても、最近のものは、ほぼ、間違いなく、全て64bitsでの利用も可能です。ただし、UMLにて使用する場合には、必ず、Host環境と一致させる必要があります。そのため、必ず、UMLをインストールしようとしているものにあわせてください。
# amd64でエラーが出るということは、i386でインストールしているのではないかと・・・。

9)hostsファイルを作成する。
# echo “192.168.71.105 localhost” > /mnt/etc/hosts
 ここはデフォルトでは、127.0.0.1となっていたが、私のinetアドレスは192.168.71.105であると確認済みであるため、そちらで入力した。入力後、/mnt/etc/hostsを確認すると、以下のように表示された。
192.168.71.105 localhost

これは、ループバック用のインターフェースのためのIPですから、127.0.0.1で固定です。そのための、専用のIPアドレスです。
これを間違うと、仮想環境が、仮想環境自身に通信しているつもりが、ホスト側の環境のネットワークデバイスに接続してしまう・・・という可能性があります。
もし、仮に、その仮想環境が、「hogehoge.foodomain」という名前で、仮想環境のインターフェースに割り当てているIPアドレスが「192.168.0.250」だと仮定すると、/etc/hostsには、

コード:

127.0.0.1 localhost localhost.localdomain
192.168.0.250 hogehoge hogehoge.foodomain

のように設定することになります。
# ホスト環境のインターフェースに割り当てているIPアドレスとは別ものです。

※使用するイメージファイルの作成が完了したら、sodo umount /mntでアンマウントしたほうがよい?

17)UMLの起動
 ここでUMLを起動する。
UML$ linux.uml ubd0=uml-root-hardy umid=um11
実際に起動はするが、failの部分もあり、6つウィンドウが起動するが、1つしかログインの画面が表示されない。

1つしかログインの要求が来ないのは、おそらく、手順12で、tty2からtty6のイベントを削除しているからと考えられます。
なので、そもそも、ウィンドウが1つだけ出ればよいんですが・・・どこをみらべ良いのか判りませんでした。作成したイメージ内の設定と、起動オプションが合ってないのかもしれません。
手従どおりでも、fsckも失敗していたりする(新たに構築したイメージにはxfsに関するパッケージを入れてない)ので、「参照した手順では、ここまで」ということのようです。そこから先、問題を解決しようとすると、自力で先頭に立って先に進むか、知っている人を見つけてきて聞くか になりそうです。

# なお、私は今回の件で初めて存在を知りました。Linux KernelをLinuxの一般プロセスとして実行するための仕組み(主に、カーネルデバッグ/検証目的)なんですね・・・

オフライン

 

#3 2009-10-05 20:04:39

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

>weykさん
お返事ありがとうございます。

本当にきちんとUMLというディレクトリにカーネルとファイルシステムを置いているか確認しました。
***@ubuntu:~$ cd UML
***@ubuntu:~/UML$ ls -l uml-root-hardy
-rw-r--r-- 1 *** *** 536871424 2009-10-05 14:01 uml-root-hardy
***@ubuntu:~/UML$ ls -l linux.uml
-rwxrwxrwx 1 root root 2700804 2007-07-02 19:16 linux.uml
 この結果のように、私が作成したUMLというディレクトリの中にカーネルもファイルシステムも置かれていることをきちんと確認できた。

 マウントがきちんと行われているかの確認をした。コマンドは以下の通り。
***@ubuntu:~/UML$ sudo mount -o loop uml-root-hardy /mnt
[sudo] password for ***:
mount: mtab によると、/home/***/UML/uml-root-hardy は loop として /mnt にマウント済です
 このようにマウントがきちんとされていると確認したのちに以下の操作を行った。
***@ubuntu:~/UML$ ls -ltr /mnt/dev
合計 0
…(様々なファイルシステム)
brw-rw---- 1 root disk  98,   0 2009-10-04 18:29 ubd0
 このように確認を行ったが、きちんと98,0というノードでubd0が作成されていた。
 ここで用いたlsコマンドのオプションは以下の通りである。「-l」はファイルの詳細を表示、「-t」は最新更新日時を最新のものから純に表示、「-r」はエントリ名で降順に並び替えて表示というものである。
 
 9)でhostsファイルを作成するときに、勝手に自分のアドレスにしていたが、これは固定アドレスであるため、ファイルシステムを作成し直し、以下のようにした。
# echo “127.0.0.1 localhost” > /mnt/etc/hosts

 12)の操作で、tty2~6を削除したためでした。
再度ファイルシステムを作成する際に、tty2~6を削除する作業をしなかったところ、6つともにログイン画面が表示されました。

この作業を行った結果の実行画面が以下の通りです。
***@ubuntu:~/UML$ linux.uml ubd0=uml-root-hardy umid=um11
Locating the bottom of the address space ... 0x10000
Locating the top of the address space ... 0xc0000000
Core dump limits :
    soft - 0
    hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode
Adding 19263488 bytes to physical memory to account for exec-shield gap
Linux version 2.6.26 (2.6.26) (root@autolux) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #2 Thu Aug 20 05:57:24 UTC 2009
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 12794
Kernel command line: ubd0=uml-root-hardy root=98:0
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 28224k available
SLUB: Genslabs=12, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Mount-cache hash table entries: 512
Checking for host processor cmov support...Yes
Checking that host ptys support output SIGIO...Yes
Checking that host ptys support SIGIO on close...No, enabling workaround
net_namespace: 652 bytes
Using 2.6 host AIO
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
mconsole (version 2) initialized on /home/yamada/.uml/um11/mconsole
Checking host MADV_REMOVE support...OK
Mapper v0.1
mmapper_init - find_iomem failed
UML Watchdog Timer
Host TLS support detected
Detected host type: i386 (GDT indexes 6 to 9)
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFS: nTxBlock = 221, nTxLock = 1768
SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug enabled
SGI XFS Quota Management subsystem
msgmni has been set to 55
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
SoftDog: cannot register miscdev on minor=130 (err=-16)
TCP cubic registered
NET: Registered protocol family 17
Initialized stdio console driver
Console initialized on /dev/tty0
console [tty0] enabled
Initializing software serial port version 1
console [mc-1] enabled
ubda: unknown partition table
registered taskstats version 1
Filesystem "ubda": Disabling barriers, not supported by the underlying device
XFS mounting filesystem ubda
Starting XFS recovery on filesystem: ubda (logdev: internal)
Ending XFS recovery on filesystem: ubda (logdev: internal)
VFS: Mounted root (xfs filesystem) readonly.
* Setting preliminary keymap...                                                Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
                                                                         [fail]
* Setting the system clock
hwclock is unable to get I/O port access:  the iopl(3) call failed.
* Unable to set System Clock to: Mon Oct  5 10:59:12 UTC 2009
* Starting basic networking...                                          [ OK ]
* Starting kernel event manager...                                      [ OK ]
* Loading hardware drivers...                                           [ OK ]
* Setting the system clock
hwclock is unable to get I/O port access:  the iopl(3) call failed.
* Unable to set System Clock to: Mon Oct  5 10:59:15 UTC 2009
* Loading kernel modules...                                                     * Loading manual drivers...                                             [ OK ]
* Setting kernel variables...                                                  error: "vm.mmap_min_addr" is an unknown key
                                                                         [fail]
* Activating swap...                                                    [ OK ]
* Checking root file system...                                                 fsck 1.40.8 (13-Mar-2008)
fsck: fsck.xfs: not found
fsck: Error 2 while executing fsck.xfs for /dev/shm/root
                                                                         [ OK ]
* Checking file systems...                                                     fsck 1.40.8 (13-Mar-2008)
fsck: cannot check /dev/ubd0: fsck.xfs not found
                                                                         [ OK ]
* Mounting local filesystems...                                         [ OK ]
* Activating swapfile swap...                                           [ OK ]
* Checking minimum space in /tmp...                                     [ OK ]
* Configuring network interfaces...                                            modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

                                                                         [ OK ]

特に変化は見られないようでした。
自分でも努力してみますが、
何かありましたらアドバイスお願いします。

オフライン

 

#4 2009-10-05 23:29:08

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: UMLの起動

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#5 2009-10-05 23:34:43

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: UMLの起動

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#6 2009-10-05 23:45:48

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: UMLの起動

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#7 2009-10-06 00:16:27

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: UMLの起動

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#8 2009-10-06 14:34:09

weyk
メンバ
登録日: 2009-04-03

Re: UMLの起動

標準で配布されているUML(User Mode Linux)のカーネルイメージから、ほぼ素のディスクイメージで起動する時に出るメッセージ内の、気になったところだけ調べてみました(調べてみてなんの解決にも(進展も)なってないのもあります)とはいっても結構長いので、
# ここに上げてないのは、問題が無さそうかなぁ と考えています。
---------------

Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode

実行モードの選択時のチェック。skas3はホスト側カーネルを対応カーネルとして構築しておく必要があるので、対応してなければ最終的にSKAS0にて動作する。問題なし。カーネルを入れ替えているのに・・・ということであれば、チェックでエラーになっている項目を再確認してみる?
# ほか、TTというモードもある。
---------------

Mapper v0.1
mmapper_init - find_iomem failed

どうも、I/O memory(のエミュレーション)をするデバイスの動作らしい。この(サンプルに近い)デバイスは「mmapper」という名前のI/O memoryを定義しておくと、それを開いてデバイスとして割り当てる という動作をするっぽい。I/O memoryの割り当ては、カーネルのオプションに「iomem=name,file」という形式で指定。使わないなら、UMLのカーネル(=実行ファイル)構築時に外してしまえばOK。エラーが出ていてもおそらく問題なし。

http://user-mode-linux.sourceforge.net/old/iomem.html
# http://user-mode-linux.sourceforge.net/ が最新サイトで、oldサイト(のバックアップ?)の方が情報が多いそうな。
---------------

SoftDog: cannot register miscdev on minor=130 (err=-16)

SfotDogはWatchDogデバイスの1つ。このデバイスの、misc_registerに失敗している。エラーコードの-16はEBUSYであり、これは、「MINORが指定されていて、その番号は使用済み」か、「MINORが自動採番で番号に空きが無い」のいずれかの場合に発生する模様。WatchDogはMINORを130固定で指定しているので、登録済みと思われる。
実は、メッセージの上のほうに、「UML Watchdog Timer」の表示があるので、UML用の代替デバイスが既に登録されていると思われる。
# としたら、カーネル内で両方が有効になってしまうのは、おかしいということに。オプションで直るのか不明。
---------------

Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console
Couldnt get a file descriptor referring to the console

コンソールに接続する為のファイル識別子が取得できないというエラー(0,1,2?)。どこか設定がたらないっぽい。どこの設定にしたがって、6つなのかがわからない・・・
# rm /mnt/etc/events.d/tty[2-6]を行ってても出る・・・行った分のxtermではloginプロンプトはちゃんと出なくなるけど。
---------------

* Setting the system clock
hwclock is unable to get I/O port access:  the iopl(3) call failed.
* Unable to set System Clock to: Mon Oct  5 10:59:12 UTC 2009

ハードウェアクロックの設定に失敗している。問題は無いような気がする。
---------------

* Setting kernel variables...
error: "vm.mmap_min_addr" is an unknown key
                                                                         [fail]

対処としては、おそらく、「/etc/sysctl.d/」内のファイルのどこかにある「vm.mmap_min_addr = 」で始まる行を該当行をコメントに。不明な設定として無視されているっぽいので、残っていても、おそらく、実害はなし。
---------------

* Checking root file system...
fsck 1.40.8 (13-Mar-2008)
fsck: fsck.xfs: not found
fsck: Error 2 while executing fsck.xfs for /dev/shm/root

ルートファイルシステムのイメージファイルをxfsで作成し、かつ、その中にパッケージとしてxfsprogsを入れていないため と思われる。fsckが掛かってない以外、とくに問題なし?
ext3等のデフォルトで使用できるファイルシステムにするか、xfsprogsを入れてあげれば解決?
---------------

modprobe: FATAL: Could not load /lib/modules/2.6.26/modules.dep: No such file or directory

UMLの環境では、modprobeは使わない(静的にリンクする必要がある?)っぽい?必要なモジュールがちゃんと静的にリンクされてて、ネットワークが設定される過程で発行されているが確実であれば(IPv6の関連で発行している可能性が高いので)、無視でもよさそう。
他の仮想環境だかのページで、modules.depに空ファイルおいとくとか、modprobeをtrueへのシンボリックリンクにしてしまおう みたいな記事も見かけた・・・。

オフライン

 

#9 2009-10-06 19:30:55

eng16danbo
メンバ
From: 東京都八王子市
登録日: 2007-08-03

Re: UMLの起動

初歩的な質問なのですがUMLってWindows上でも動くのですか???

オフライン

 

#10 2009-10-07 00:35:44

hir0
メンバ
登録日: 2008-09-28

Re: UMLの起動

もしかしたらUMLは仮想端末内で起動するCUI環境のLinuxを起動する仮想環境システムかも知れませんね。
ログイン画面で root と入力してみてくだい。

なにげにインストールを実行したら運良くエラーは出ませんでした。

これにGUI環境を入れると端末内にデスクトップが現れる?
もしすんなり行かないのならグラフィカルな仮想環境はバーチャルボックスやVMウェア(名前あってますよね?)が良いかも。

検証などは時間の出来たときに行いたいと思いますので今回は参考URLの実行までということで、、、

オフライン

 

#11 2009-10-09 10:16:06

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

hir0 による投稿:

もしかしたらUMLは仮想端末内で起動するCUI環境のLinuxを起動する仮想環境システムかも知れませんね。
ログイン画面で root と入力してみてくだい。

なにげにインストールを実行したら運良くエラーは出ませんでした。

これにGUI環境を入れると端末内にデスクトップが現れる?
もしすんなり行かないのならグラフィカルな仮想環境はバーチャルボックスやVMウェア(名前あってますよね?)が良いかも。

検証などは時間の出来たときに行いたいと思いますので今回は参考URLの実行までということで、、、

rootでログインするとは、
HostOS上でrootになるということでしょうか。

オフライン

 

#12 2009-10-09 10:18:17

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

kiyoshi による投稿:

小生の勘違いかもしれませんが、#1の最初の方だけ読んで、気になったことがあったので書き込みます。間違っていたら、ゴメンなさい。

#1の2)に

santamasashiさん による投稿:

/UML$ dd if=/dev/zero of=uml-root-hardy bs=512 seek=1M count=1

とありますが、uml-root-hardyファイルは512MBではありませんか?
UserModeLinuxについては知りませんが、さすがに、512MBでは容量不足だと思います。

#1の2)よりも後の方は読んでいませんが、そこで、サイズが大きくなっているのなら、問題ないので、無視してください。

そうかもしれません。別の方からも指摘されました。
ではどのくらいの容量が必要なのでしょうか。

bs=4096で起動してみると大きすぎてddコマンドがなかなか完了しないため小さくしたのですが。
もしよろしければアドバイスお願いします。

オフライン

 

#13 2009-10-09 10:26:52

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

kiyoshi による投稿:

santamasashiさんの#1 による投稿:

実際に起動はするが、failの部分もあり、6つウィンドウが起動するが、1つしかログインの画面が表示されない。

他の5つ(6つ?)は黒字に白色で、「login:」とか表示されているのでしょうか?そして、ログインするとデスクトップが起動するのですか?
もしもそうなら、問題は無いような気もします。

散々掻き回してゴメンなさい。容量不足という小生の指摘は的外れのような気がするので、こちらからは失礼します。

他の5つは白い画面で、
loginなどの文字は表示されません。

オフライン

 

#14 2009-10-09 12:56:18

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: UMLの起動

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#15 2009-10-09 12:59:43

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: UMLの起動

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#16 2009-10-09 13:13:12

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

kiyoshi による投稿:

ちなみに、以前立てられたトピックでmizunoさんが素晴らしい方法をご提示くださっている
https://forums.ubuntulinux.jp/viewtopic.php?pid=40966#p40966
のですけど、読んでおられますよね?これなら時間がかからないと思います。

個人的には、パーティションを(スワップパーティション以外は)分けない場合、6GB以上は必要だと思っています。

はい。読ませていただきました。
それを実行したのですが、
やはり作成されずにずっと何も起きませんでした。

6Gですか。やはりbs=4096で作成されない時点で
他の何かがおかしいんですかね。

オフライン

 

#17 2009-10-09 13:14:41

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

kiyoshi による投稿:

UMLは未経験ですし、Googleってもいないので、全く間違っているかもしれません。他の方からの書き込みがありましたらそちらを参考にしてください。

作成されたuml-root-hardyファイル(仮想?ファイルシステム・・・仮想パーティション?)の中に、Ubuntuのすべての機能が書き込まれるのでしたら、通常にハードディスクにインストールした場合と同様に、快適に色々なアプリケーションなどをインストールして操作を行いたいのでしたら、少なくとも4GB程度の容量が必要だと思います。ご参考のリンク先で4G程度になっているのはそれが理由だと考えています。

私は個人で作成したファイルは別パーティションに保存して使用しており、EvolutionとかGnome-gamesとか古いカーネルとか様々な自分にとって不要なものをアンインストールしてしまっているので、/の使用容量は2GB以下だったりしますが;)

hir0さんが#10で可能性をあげておられますが、もしかしてUMLではCUI環境だけが作られる・・・というのでしたら、必要な容量はかなり小さいでしょうし、LiveCDのような、vmlinuz、initrd、filesystem.squashfsのようなもの+casper-rwというようなものでしたら、最低限必要な容量はあまり大きく無いかもしれません。
(ただし、当然ですが、作成したデータを、そのパーティションに残しておきたいとか、大容量が必要なパッケージ:アプリケーションを使われるのでしたら、当然、必要な容量は大きくなります。)

ありがとうございます。
やはり4G程度は必要なのですかね。

オフライン

 

#18 2009-10-09 13:31:23

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

eng16danbo による投稿:

初歩的な質問なのですがUMLってWindows上でも動くのですか???

自分の調べたところによると別に問題なく起動すると思います。
間違っていたらごめんなさい。

オフライン

 

#19 2009-10-09 13:41:34

weyk
メンバ
登録日: 2009-04-03

Re: UMLの起動

santamasashi による投稿:

eng16danbo による投稿:

初歩的な質問なのですがUMLってWindows上でも動くのですか???

自分の調べたところによると別に問題なく起動すると思います。
間違っていたらごめんなさい。

UMLは、LinuxのカーネルをLinuxのアプリケーションとして動かすためのパッチのようなもののようです。
そのため、おそらくは、Linux以外では動作しません。
# ディストリビューションが異なるのは、OKっぽい(makeすれば)。実際にどうmakeして、どうディスクイメージを準備するのかは不明。

# HostをMS-Windowsとして、UMLによるLinuxのGuest環境を利用することができるか? ということですよね?(一旦、MS-Windowsの中でVMwareなどによりLinuxを起動しているなら、そのLinuxの中でUMLによる仮想化は可能っぽい)

オフライン

 

#20 2009-10-09 19:42:39

jackalope
メンバ
登録日: 2009-01-01

Re: UMLの起動

santamasashiさん による投稿:

自分としては、エラーは

mmapper_init - find_iomem failed
SoftDog: cannot register miscdev on minor=130 (err=-16)
Couldnt get a file descriptor referring to the console
error: "vm.mmap_min_addr" is an unknown key

の4つだと考えています。
どなたかエラーなくUMLを起動するためにどうすればいいかアドバイスお願いします。

2種類のUMLカーネルとルートファイルで試してみましたところ、mmapper...とSoftDog...はUMLカーネルで結果が変わりますので、設定の詳細は分かりませんがカーネルを再構築すれば解決するでしょう。

error:"vm.mmap...はルートファイルで結果がかわります。
関係箇所は、/etc/sysctl.confです。

Couldnt get...の原因は分かりませんでした。

santamasashiさん による投稿:

他の5つは白い画面で、
loginなどの文字は表示されません。

起動する端末の数は、/etc/default/console-setupで設定します。

オフライン

 

#21 2009-10-10 11:26:58

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

jackalope による投稿:

santamasashiさん による投稿:

自分としては、エラーは

mmapper_init - find_iomem failed
SoftDog: cannot register miscdev on minor=130 (err=-16)
Couldnt get a file descriptor referring to the console
error: "vm.mmap_min_addr" is an unknown key

の4つだと考えています。
どなたかエラーなくUMLを起動するためにどうすればいいかアドバイスお願いします。

2種類のUMLカーネルとルートファイルで試してみましたところ、mmapper...とSoftDog...はUMLカーネルで結果が変わりますので、設定の詳細は分かりませんがカーネルを再構築すれば解決するでしょう。

error:"vm.mmap...はルートファイルで結果がかわります。
関係箇所は、/etc/sysctl.confです。

Couldnt get...の原因は分かりませんでした。

santamasashiさん による投稿:

他の5つは白い画面で、
loginなどの文字は表示されません。

起動する端末の数は、/etc/default/console-setupで設定します。

丁寧な解説ありがとうございます。
教えていただいたところを
試してみます。

オフライン

 

#22 2009-10-12 19:35:54

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

jackalope による投稿:

santamasashiさん による投稿:

自分としては、エラーは

mmapper_init - find_iomem failed
SoftDog: cannot register miscdev on minor=130 (err=-16)
Couldnt get a file descriptor referring to the console
error: "vm.mmap_min_addr" is an unknown key

の4つだと考えています。
どなたかエラーなくUMLを起動するためにどうすればいいかアドバイスお願いします。

2種類のUMLカーネルとルートファイルで試してみましたところ、mmapper...とSoftDog...はUMLカーネルで結果が変わりますので、設定の詳細は分かりませんがカーネルを再構築すれば解決するでしょう。

error:"vm.mmap...はルートファイルで結果がかわります。
関係箇所は、/etc/sysctl.confです。

Couldnt get...の原因は分かりませんでした。

santamasashiさん による投稿:

他の5つは白い画面で、
loginなどの文字は表示されません。

起動する端末の数は、/etc/default/console-setupで設定します。

mmapper_init - find_iomem failed
SoftDog: cannot register miscdev on minor=130 (err=-16)
というエラーに関してですが、カーネルは構築しておらず、
$ sudo apt-get install user-mode-linux
という形でインストールしたのですが、
他の解決策はありませんか?

また起動する端末の数に関しては、
/etc/default/console-setupを編集し、
ACTIVE_CONSOLWS="/dev/tty[1-6]"
という部分を
ACTIVE_CONSOLWS="/dev/tty[1]"
ACTIVE_CONSOLWS="/dev/tty1"
というように編集して再起動したのちに
$ linux.uml ubd0=uml-root-hardy umid=uml1
という操作を行ったにも関わらずどちらも
Segmentation fault
と表示されてしまいます。

ACTIVE_CONSOLWS="/dev/tty[1-6]"
と戻して実行しても
Segmentation fault
というエラーが表示されてしまいます。

どのように対処すればよろしいでしょうか?

オフライン

 

#23 2009-10-13 12:03:26

jackalope
メンバ
登録日: 2009-01-01

Re: UMLの起動

santamasashiさん による投稿:

カーネルは構築しておらず、$ sudo apt-get install user-mode-linuxという形でインストールしたのですが、
他の解決策はありませんか?

私が使用したUMLカーネルは、Ubuntuのuser-mode-linuxとUMLのオフィシャルサイト(http://user-mode-linux.sourceforge.net)の物で、UMLカーネルの構築はしていません。
オフィシャルサイトのカーネルではmmapp...SoftDog...のエラーはでません。

santamasashiさん による投稿:

Segmentation faultというエラーが表示されてしまいます。
どのように対処すればよろしいでしょうか?

Segmentation faultの原因は分かりません。
#1の内容では起動できていていますね。
#1を書いてから#22までの間に何か変更したのではないですか?

私の環境、ホストがUbuntu9.04、ルートファイルがHardy(参考:https://help.ubuntu.com/community/UserModeLinux(/etc/sysctl.conf,/etc/default/console-setupは変更しています))とDebian4.0(http://fs.devloop.org.uk/)でUMLは起動します。

オフライン

 

#24 2009-10-13 13:55:39

santamasashi
メンバ
登録日: 2009-09-25

Re: UMLの起動

jackalope による投稿:

私の環境、ホストがUbuntu9.04、ルートファイルがHardy(参考:https://help.ubuntu.com/community/UserModeLinux(/etc/sysctl.conf,/etc/default/console-setupは変更しています))とDebian4.0(http://fs.devloop.org.uk/)でUMLは起動します。

自分でもいろいろ編集してみたのですが
わからないため教えてください。
/etc/sysctl.confと/etc/default/consolesetupはどのように変更したのでしょうか?

ちなみにSagmentation faultの問題は解決できました。
よろしくお願いします。

オフライン

 

#25 2009-10-13 14:09:04

weyk
メンバ
登録日: 2009-04-03

Re: UMLの起動

/etc/sysctl.confと/etc/default/consolesetupはどのように変更したのでしょうか?

念のため。
編集するのはUMLを起動するときに使用する(Guest環境の)ディスクイメージの中です。/mnt にmountしていれば、それぞれ、/mnt/etc/sysctl.confと/mnt/etc/default/consolesetupになります。本物の(Host側の)ファイルではないので注意してください。
# もしくは、UML環境の中で操作するなら、そのまま、/etc/sysctl.confと/etc/default/consolesetupです。
具体的なコマンドなどがない為、発言からは、正しく操作しているかのうせも、誤って操作している可能性も、両方とも考えられるため、念のため書いておきます。

※Guest環境を起動したまま(Guest側でmountしたまま)、Host側からディスクイメージをmountして書き換えたりしないよう注意してください。1つの実体を複数のOSでmountしてそれぞれから更新すると、おそらく、内容が壊れます(常に操作に同期して更新されるわけではないので、基本的に、「同時にmountしてはいけない」と考えた方が安全です)

SoftDog等の問題は、
・エラーの出ないオプションで作成されたカーネルを使う(UMLのオフィシャルサイトのものとか)
・自分でエラーが出ないようにmakeする(ついでにいろいろ調整も可能)
のいずれかではないかと・・・

オフライン

 

Board footer

Powered by FluxBB