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を展開する。そうすれば、knoppixがcolinux内から起動できるはずだが、これはWindowsのカーネルパニックとなってしまった。knoppixの起動スクリプトの中で、違うカーネルで起動されたことを認識して、自動的にデバイスの設定の処理に入るのだけど、そこでいろいろなモジュールをロードして構成を作る処理があって、そこで落ちている模様。
結局原因はわからなかったけど、この方法だと、パッケージ管理や起動するデーモンも生LinuxとcoLinuxで同一になってしまう等、他にもいろいろ問題もありそうなので、すっぱりあきらめる(すっぱいぶどう理論)。
そこで、この状態でホームディレクトリだけを共有しようと思って、/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と同じ画面が、WindowsのVNCビューワーに表示された。VNCのフルスクリーンモードにすると、生のLinuxと同じKDEの画面が表示された。これでalt-tab以外は、操作も見ためも全く同じになった。alt-tabはWindowsが横取りしてしまうので、そこだけショートカットを置き換えて、一応、作業完了。
以上で、若干もたつきがある以外は、生Linuxと同じ画面、同じ操作を作ることができた。巡回、ブログ書き、メール等は、こちらでやることにする。問題点は、Windowsに降りていく気がしないので、(今日もそうだけど)仕事をする気になら(以下自粛)