2000/01/13    MOL and Related Updates

今シーズンは、暖冬の予想に反して快調に雪が降り始めたと思って喜んでいたのだが、ここに来て予想通りになってきた。この時期にスキー場で雨ばかりとは許しがたい。というわけで正月休み以降、滑りに行けていない。
だからというわけではないが、今ちまたで話題の MOL  (Mac On Linux) を試すことにした。

[1] Kernel Update

ずーっと、不都合を感じなかったので、LinuxPPC-1999 標準の 2.2.6-15apmac を使い続けてきたのだが、MOL のためにようやく重い腰を上げ、カーネルの更新をする事にした。2.2.14 にするために、カーネルソース添付のドキュメントに従い、以下のパッケージをアップデート。
util-linux-2.10d-1a.ppc.rpm
mount-2.10d-1a.ppc.rpm
losetup-2.10d-1a.ppc.rpm
procps-2.0.6-1.ppc.rpm
procps-X11-2.0.6-1.ppc.rpm
knfsd-1.4.7-7.ppc.rpm
knfsd-clients-1.4.7-7.ppc.rpm
fbset-2.1-1.ppc.rpm
procps、knfsd、fbset は ftp://rawhide.redhat.com/pub/rawhide/SRMPS/SRPMS のものを rpm --rebuild したのみ。
util-linux、mount、losetup は、もともと別ソースパッケージから生成される仕様だったが、mount のソースが独立には配布されなくなってしまったようなので、util-linux のサブパッケージとするようにした。util-linux に使った私家版SPECはこれで、対応するSRPMは
util-linux-2.10d-1a.src.rpm
である。2.10d に対応させた私家版 nfsmount のパッチを使っている。開発環境は
binutils-2.9.5.0.14-0a
glibc-2.1.3.0j
gcc-2.95.2-1cm
を使った。
これらのパッケージは、G3-PB/266 上の linuxppc-1999 ではテストしたが、上記のパッケージはどれも正常に動作しないとシステムに重大な支障をきたすので、もとに戻せる体制を整えてから入れる。いずれにせよ使う場合はいつものように自己責任で

カーネルは、標準の 2.2.14 に BenH 氏の http://calvaweb.calvacom.fr/bh40/vmlinux.ibook.11.gz の内、usb パッチ以外(USB がないので)をあてて作成。コンフィギュレーション(.config)はこれで、IP MASQUERADE を使えるようにしてある。 2.2.14 のカーネルヘッダー

kernel-headers-2.2.14-1a.ppc.rpm
も用意する。

[2] MOL-0.9.32-1

以上の準備の後、
mol-0.9.32-1.src.rpm
http://www.ibrium.se/linux/ より入手し、rpm --rebuild、
mol-0.9.32-1.ppc.rpm
を rpm -ivh する。http://www.ibrium.se/linux/userguide.html に従い、strip_nwrom した Mac OS ROM を /usr/lib/mol/rom/rom.nw におく。 これで、X の中で startmol とすればウインドウモードで Mac OS が走り始めるわけだが、PowerBook で使う場合、狭いのでフルスクリーンモードで使うよう
/etc/molrc
.....
enable_mol_video:       yes
enable_xvideo:          no

#enable_mol_video:      no
#enable_xvideo:         yes
#xscreen:               800/600
.....

のように変更。processor、ram_size もプラットホームにあわせる。これで、CNTL+COMMAND+F2 などとして VC2 に行き、root で startmol する。VC7 で VC1 の X が走っていたとすれば、VC8 が Mac OS となる。VC の移動後、キーボードやマウスの挙動がおかしい場合は、CNTL+COMMAND を押すとなおる。

Mac OS 側で TCP/IP が使えるようにするには、Linux 側と Mac OS 側で異なる IP アドレスを用意する必要がある。使える IP アドレスを複数持っている場合には、ただ単にそれを指定すればよい。使えるアドレスが1つしかない場合は Linux 側で IP Masquerade の設定をし、プライベートアドレスを使う。ここでは、linuxppc-user (msg00783) に従い、ネットワークインターフェイス一つで間に合わせることにする。
まず、ipchains をインストールしていない場合は

ipchains-1.3.8-3.ppc.rpm
を入れる。後は、root で
# echo 1 > /proc/sys/net/ipv4/ip_forward
# /sbin/ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 arp broadcast 192.168.1.255
# /sbin/ipchains -P forward DENY
# /sbin/ipchains -A forward -s 192.168.1.0/255.255.255.0 -j MASQ
などとし、Mac OS 側の TCP/IP で
IP アドレス: 192.168.1.2
サブネットマスク:255.255.255.0
ルータアドレス:192.168.1.1
ネームサーバーアドレス:xxx.xxx.xxx.xxx(使えるもの、192.168.1.1 も可)
等とすれば、外に出ていけるようになる。

今の所、全く安定しており(もちろん、Mac OS はフリーズする場合がないとは言えないが Linux がカーネルパニックになることはない)、PowerBook のユーザーにはとても便利。後は音が出れば言うことはないのだが。


Back to Keisuke Fujii's MkLinux/LinuxPPC Life