これは、PC/AT 用の Linux でも、富士通パーティションでフォーマットして ある MO を扱えるようにする方法です。HD も扱えるかも知れませんが、試し ていません。
まずは Linux のカーネルと Linux/TOWNS パッチを用意しましょう。Linux の カーネルは以下のサイトなどにあります。traceroute などを使い、ネットワー ク的にもっとも近い所から入手しましょう。
Linux/TOWNS のカーネルは あせるかでたうんずから 入手しましょう。
の中から一番近い所からダウンロードして下さい。
Linux のカーネルに、Linux/TOWNS パッチを当てます。新しい tar なら、 tar xIvf linux-2.2.18.tar.bz2 としてもよいでしょう。
# cd /usr/src # bzip2 -dc linux-2.2.18.tar.bz2 | tar -xovf - # bzcat lt-2218-01.patch.bz2 | patch -p0
この Linux/TOWNS カーネルで CONFIG_TOWNS
を N にしても良
いですが、make xconfig
で、Help を参照しようとするとエラー
が起こったり、PC/AT の VGA コンソールが使えなくなったりします。フレー
ムバッファのコンソールは動作します。それでも良い人はこのままコンパイル
しても構いません。
Linux/TOWNS カーネルはリネームして、もう一度 Linux カーネルを展開しま す。
# mv linux linux-2.2.18-lt # bzip2 -dc linux-2.2.18.tar.bz2 | tar -xovf - # mv linux linux-2.2.18 # ln -s linux-2.2.18 linux
2.4.19 の場合はこうします。
# cd /usr/src # tar xIvf linux-2.4.19.tar.bz2 # ln -s linux-2.4.19 linux # bzcat lt-2419-01.patch.bz2 | patch -p0 # mv linux-2.4.19 linux-2.4.19-lt # tar xIvf linux-2.4.19.tar.bz2
ここで、Configure.help の日本語訳があるならば利用しましょう。2001/1/15 現在、2.2.18 の日 本語訳は無いようです。
# cd /usr/src/linux/Documentation/ # gunzip Configure.help-2.2.18.ja.gz # mv Configure.help Configure.help.orig # mv Configure.help-2.2.18.ja Configure.help
富士通パーティションを扱ってるソースを Linux/TOWNS カーネルから持って きます。
# cd /usr/src/linux/ # cp -v ../linux-2.2.18-lt/include/linux/genhd.h include/linux/ # cp -v ../linux-2.2.18-lt/drivers/block/genhd.c drivers/block/ # cp -v ../linux-2.2.18-lt/drivers/scsi/sd.c drivers/scsi/ # vi include/linux/genhd.h
include/linux/genhd.h の適当な所で、#define CONFIG_FM_PARTITION
1
を追加を追加します。例えば以下の様にします。
#ifdef CONFIG_TOWNS
#define CONFIG_FM_PARTITION 1
#endif /* CONFIG_TOWNS */
#define CONFIG_FM_PARTITION 1
2.4.19 の場合はこうします。ソースの書き換えは必要ありません。make xconfig 時に、CONFIG_FM_PARTION を ON にしましょう。
# cd /usr/src/linux-2.4.19-lt/fs/partitions/ # cp -v Config.in Makefile check.c /usr/src/linux/fs/partitions/ # cp -v towns.c towns.h /usr/src/linux/fs/partitions/
カーネルをコンパイルします。富士通フォーマットを扱う為の設問はありませ
ん(Linux/TOWNS カーネルもしくは、2.4.19 ならば
CONFIG_FM_PARTION
を Y にしましょう)。VFAT(DOS) 領域で漢
字を使ったファイル名を扱いたい時は、
CONFIG_NLS_CODEPAGE_932
を Y(M) としましょう。
# make -j4 mrproper # make -j4 xconfig # nice -5 make -j4 dep # make clean # nice -5 make -j4 bzImage # nice -5 make -j4 modules # nice -5 make -j4 modules_install
これで、カーネルが出来上がりました。出来上がったカーネルを LILO に登録 します。/etc/lilo.conf を書き換えて、
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz # /sbin/lilo
を実行しましょう。ここは各自の環境に合わせてください。また、カーネルコ ンパイルなどが失敗していた時の為に、古いカーネルでも起動できるようにし ておいた方が良いでしょう。
ここで、VFAT(DOS) 領域のファイルに漢字を使っていて、Linux のコンソール
(コンソールエミュレータ)では EUC-JP で漢字を扱いたいならば、mount コマ
ンドオプションに codepage=932,iocharset=euc-jp
を追加しま
す。カーネルのコンフィグ時に、CONFIG_NLS_CODEPAGE_932
に
Y(M) と答えるのを忘れないで下さい。ただし、2.2.17 で
iocharset=euc-jp
とすると、VFAT(DOS) のファイルシステムを
破壊すると言うバグ(漢字を含んでいないファイル名のファイルを扱う場合で
も破壊します)がある為に、とても悲しい思いをします。
ブート時から VFAT(DOS) 領域でファイル名で漢字を扱いたいならば、
/etc/fstab を書き換えて、vfat の mount オプションに
codepage=932,iocharset=euc-jp
付け加えてください。
この文書により、何らかの障害が起こっても、私は責任を負いません。
(c)2001-2002 村上 智一