まずは、上のリンク先からDASDイメージ(f11-s390x.img), README, hercules.cnf, hercules.initをとってきて、母艦のLinuxの適当なディレクトリ(今回は、/home/hercules/fedora11_s390x)に置きます。
[hercules@ap01 fedora11_s390x]$ pwd /home/hercules/fedora11_s390x [hercules@ap01 fedora11_s390x]$ ls -l 合計 550516 -rw-rw-r-- 1 hercules hercules 1386 7月 16 2009 README -rw-rw-r-- 1 hercules hercules 558951862 3月 3 13:00 f11-s390x.img -rw-rw-r-- 1 hercules hercules 1707 3月 3 01:41 hercules.cnf -rw-rw-r-- 1 hercules hercules 966 11月 20 2008 hercules.initREADMEを読むと、hercules.initスクリプトを実行すると、トンネリングデバイスなどの各種設定を行ってからherculesを起動してくれるようですが、今回はこのスクリプトを使わずにCentOSのときと同様に手動で各種設定を行ってみます。
まずトンネリングデバイスとIPフォワーディング、IPマスカレードの設定を行います。
[root@ap01 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward [root@ap01 ~]# chown root.hercules /dev/net/tun [root@ap01 ~]# chmod 660 /dev/net/tun [root@ap01 ~]# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.200.0/24 -j MASQUERADE次に、hercules.cnfを編集して、DASDイメージへのパスを正しく設定します。今回は、/home/hercules/fedora11_s390x/f11-s390x.imgとなります。 MAINSIZEとNUMCPUはそれぞれ、1024と4となっていますので、母艦の性能に合わせて適当に変えます。今回は控えめ(?)に512と1にしてみました。
hercules -f hercules.cnfでエミュレータを起動します。以下のようにz/Architectureモードで起動していることがわかります。
エミュレータが起動したら、"IPL 122"と入力してenterしてしばらく待つと、Fedora11が起動します(下図)。
この時点で母艦Linux上の別の端末からsshでログインできます。 rootユーザーのパスワードは、"fedora"です。 ログインして"uname -m"コマンドを実行してみると、アーキテクチャ名が"s390x"と表示されますね。
-bash-4.0# uname -m s390xbogomips値も見てみます。(どの程度参考になるかわかりませんが)CentOSの時よりはだいぶ大きな値が出てるっぽいです。
-bash-4.0# dmesg | grep -i bogo Calibrating delay loop (skipped)... 1487.00 BogoMIPS preset無事Fedora11も起動したので、早速"yum -y update"を実行してみたところ、以下のようなエラーが出てしまいパッケージの更新ができません。
(39/39): glibc-common-2.10.90-20.s390x.rpm | 6.0 MB 01:11 ------------------------------------------------------------------------------------------ Total 80 kB/s | 28 MB 05:57 Running rpm_check_debug ERROR with rpm_check_debug vs depsolve: Traceback (most recent call last): File "/usr/bin/yum", line 29, inGoogleで同様の事例がないか調べてみると、どうもpythonのデフォルトの文字コードがUTF-8でなくASCIIとして認識されていることが問題だそうな。ということで先達に習って、"/usr/lib/python2.6/site-packages/"に以下の内容で、名前が"sitecustomize.py"というファイルを作って、再度実行してみました。yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 305, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 257, in main return_code = base.doTransaction() File "/usr/share/yum-cli/cli.py", line 422, in doTransaction print to_utf8(msg) File "/usr/lib64/python2.6/codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 20: ordinal not in range(128)
import sys sys.setdefaultencoding("utf-8")再度yumを実行してみると、"UnicodeDecodeError:..."のエラーは出なくなりましたが、今度は別のエラーが・・・(続きます)
2010/03/09 追記: UnicodeDecodeErrorのメッセージを追記しました。
0 件のコメント:
コメントを投稿