colinuxと生Linuxのホーム共有

Knoppixベースで作った環境が気にいって、どうしても仕方なくWindowsで作業する時にもこれを使いたいと思った。そこで、ほぼ同じ環境をcolinuxから使えるようにしたので、その作業メモ。

最初に、colinuxを普通にインストールして、RAWパーティッションをマウントした。手順として、colinuxの設定ファイルに次の記述を追加。

 <block_device index="2" path="\Device\HarddiskVolume4" enabled="true" alias="hda6" />
<cofs_device index="0" type="flat" path="\DosDevices\c:\" enabled="true" />

それから、/etc/fstabに以下を追加

 /dev/cobd2      /mnt/knoppix    ext3 	defaults		0	0
cofs0 /mnt/win cofs defaults 0 0

そうすると、/mnt/knoppix以下にRAWパーティッションのファイルが、/mnt/win以下には、Windowsのファイルが見えるようになる。

次に、RAWパーティッションに、colinuxのvmlinux-modules.tar.gzを展開する。そうすれば、knoppixcolinux内から起動できるはずだが、これはWindowsカーネルパニックとなってしまった。knoppixの起動スクリプトの中で、違うカーネルで起動されたことを認識して、自動的にデバイスの設定の処理に入るのだけど、そこでいろいろなモジュールをロードして構成を作る処理があって、そこで落ちている模様。

結局原因はわからなかったけど、この方法だと、パッケージ管理や起動するデーモンも生LinuxcoLinuxで同一になってしまう等、他にもいろいろ問題もありそうなので、すっぱりあきらめる(すっぱいぶどう理論)。

そこで、この状態でホームディレクトリだけを共有しようと思って、/homeを消して、

 /home -> /mnt/knoppix/home/

というシンボリックリンクを貼る。ユーザのUIDを合わせると(もともと一致していたので)、何なく共有できた。

KDEのデスクトップの設定は、ほとんどホームディレクトリにあるので、これで、coLinux側に必要なパッケージをインストールすれば、同じデスクトップが立ち上がるはずだが、coLinuxと同時インストールしたDebianのルートディスクのイメージは、サイズが1Gなので、kde全部は入りそうにない。

そこで、ルートパーティンションの移植を行なうことにした。

ルートイメージファイルを新しく作ってもいいのだが、こういう事態に供えて、予備のパーティッションを切ってあったので、そこに、ルートイメージのファイルをコピーすることにする。

まず、デフォルトのrootファイルシステムのままで、仮にパーティッションをcoLinuxアサインする。

   <block_device index="2" path="\Device\HarddiskVolume2" enabled="true" />

なお、"\Device\HarddiskVolume2"という名前は、本家Wikiの情報から、ddを落として、それを見て設定した。

そうすると、coLinuxから/dev/cobd2として、そのパーティッションが見えるようになるので、それを初期化して、マウントして、ファイルをコピーする。記憶を頼りに、手順を再現すると。

  # mkfs.ext3 /dev/cobd2
# mkdir /tmp/a
# mount /dev/cobd2 /tmp/a
# tar cf - / --exclude /home ... |(cd /tmp/a; tar xf -)

...の部分は、/home /mnt /tmp /proc /sysを除外した。その後、これらのディレクトリを作成する。

  # cd /tmp/a
# mkdir home mnt mnt/win mnt/knoppix tmp
# chmod 777 tmp
# ln -s /mnt/knoppix/home home

こうすると、colinuxデフォルトの(インストーラと同時にダウンロードされた)Debianイメージの内容が、(ほぼ)そっくり新しいパーティッションに移るので、こちらを起動パーティッションにする。

   <block_device index="0" path="\Device\HarddiskVolume2" enabled="true" />
<memory size="384" />

ついでにcoLinuxに割当てるメモリを384K(約半分)にして、再起動。

それから、aptラインを書き換えてdist-upgrade後、kde一式とvncserverをインストールして、vncの起動。

 $ vncserver -geometry 1024x768 -depth 16

これで、生Linuxと同じ画面が、WindowsVNCビューワーに表示された。VNCのフルスクリーンモードにすると、生のLinuxと同じKDEの画面が表示された。これでalt-tab以外は、操作も見ためも全く同じになった。alt-tabはWindowsが横取りしてしまうので、そこだけショートカットを置き換えて、一応、作業完了。

以上で、若干もたつきがある以外は、生Linuxと同じ画面、同じ操作を作ることができた。巡回、ブログ書き、メール等は、こちらでやることにする。問題点は、Windowsに降りていく気がしないので、(今日もそうだけど)仕事をする気になら(以下自粛)

やはり、Windowsは超豪華BIOSとして使うのが吉かもしれません。