Gentoo Linux/TOWNS 導入メモ


Abstract:
この文章は、富士通社製 FM-TOWNS へ Gentoo Linux をインストールする具体的な手法について、 FM-TOWNS に依存する内容を中心にまとめたものです。

1. はじめに

この文章は、富士通社製 FM-TOWNS (以下、 FM-TOWNS) へ Gentoo Linux をインストールする具体的な手法について、 FM-TOWNS に依存する内容を中心にまとめたものです。

本文章では、まず "用意するもの" の章で、 FM-TOWNS へ Gentoo Linux をインストールする際に必要となるものについて述べ、 次に "インストール" の章で、実際に Gentoo Linux をインストールする方法について述べます。続いて、 "X.Org の導入" の章で、 Linux/TOWNS 上で動作する X window system として、 X.Org を導入するための具体的な方法について述べます。

そして、最後に "最新の状況と今後の予定" の章で、最新の状況及び今後の予定等について述べます。

Impotant:
なお、この文章では Gentoo Linux のインストール手法のうち、 AT 互換機と共通する部分については、原則として省略してあります。
この文章に記載されていない詳細なインストール手順については、 Gentoo Linux 1.4 インストールガイドもしくは Gentoo ハンドブックの第1部 "Gentoo のインストール" を参照の上で、 AT 互換機の場合と同様に進めてください。

Warning:
この文章の内容に関しましては、動作確認等行なっておりますが、基本的に無保証ですので、どうか御了承下さい。


2. 用意するもの

本章では、インストールに当たって用意するものについて述べます。


3. インストール

本章では、実際に FM-TOWNS へ Gentoo Linux を導入するための手法について述べます。

Note:
"はじめに" で述べた通り、本章に記載されていない手順については、 AT 互換機と共通する部分ですので、作業を進める際は Gentoo Linux 1.4 インストールガイド もしくは Gentoo ハンドブックの第1部 "Gentoo のインストール" を参照して下さい。

また、これ以降、本文中に示されるリスト中で出てくる >, # はそれぞれ DOS, miniroot でのプロンプトを表します。また、リスト中に薄黄色の文字で表記されている部分はユーザによる入力を表します。

3.1. miniroot を起動する

まず最初に、 miniroot を dosboot5 を用いて起動します。

ここで、 dosboot5, bzboot を TOWNS-OS の f:\linux ディレクトリに置き、 zimage-gentoo-towns.bin, rootfs-gentoo-towns.gz をそれぞれ zimage.bin, rootfs.gz に名前を変更して同じ所に置いたとすると、以下のようにして miniroot を起動します。

Code: 3.1. miniroot の起動
  > cd f:\linux
  > dosboot5 -i zimage.bin -r rootfs.gz root=/dev/ram0

3.2. network の設定

ここで、 Ethernet カードが手元にある場合は、これで Internet に繋げるための設定を行ないます。

Impotant:
pppoe による network 接続や Ethernet カード以外のデバイスを用いた network 接続には未対応です。どうか御了承下さい。

設定には、 miniroot に附属している netconf というスクリプトを使用します。これは network 関連の設定を対話的に行なうためのシェルスクリプトです。以下のようにして起動します。

netconf を起動したあとは、設定についての質問に順次答えていきます。

ここで、 FM-TOWNS の IP アドレスを 192.168.0.1 とし、 gateway 兼 DNS サーバの IP アドレスを 192.168.0.254 とすると、以下のように答えていきます。

Code: 3.3. netconf による network の設定

  *** This is a net-configuration script.

  Enter network interface. (default: eth0) 
  Try to use DHCP for network configuration? (yes/no) (default: no)
  Enter network address.      (default: 192.168.10.1) 192.168.0.1
  Enter broadcast address.    (default: 192.168.10.255) 192.168.0.255
  Enter netmask.              (default: 255.255.255.0) 
  Enter gateway address.      (default: 192.168.10.253) 192.168.0.254
  Enter primary DNS server.   (default: 192.168.10.253) 192.168.0.254
  Enter secondary DNS server. (default: ) 

  Network interface  = eth0
  Network address    = 192.168.0.1
  Broadcast address  = 192.168.0.255
  Netmask            = 255.255.255.0
  Gateway address    = 192.168.0.254
  Primary DNS        = 192.168.0.254
  Secondary DNS      = 

  ---> Network configuration OK? (yes/no) (default: no) yes

設定後は、 ifconfig を用いて network 関連の設定が適切かどうか確認します。

また、外部に対して ping が飛ぶかどうかも確認します。

Code: 3.5. 外部への ping の確認
  # ping www.gentoo.org
  # ping www.nurs.or.jp

なお、 netconf の "Try to use DHCP for network configuration?" という質問に yes と答えると、 udhcpc が起動し、 DHCP による network の設定が行なわれます。

ここで、 udhcpc が IP address の取得に成功すれば、その IP address を用いて設定が行なわれ、失敗すれば通常の手動による設定に移行します。

3.3. CD-ROM の mount

ここで、 LiveCD1 が手元に有る場合は、以下のようにして LiveCD1 を mount します。

Code: 3.6. LiveCD1 の mount
  # mount -t iso9660 /dev/cdrom /mnt/cdrom

そして、以下のようにして実際に LiveCD1 の内容が読めるかどうか確認します。

Code: 3.7. mount の確認
  # ls /mnt/cdrom

3.4. HDD の partition を切る

HDD の partition を切るには、 fdisk を使用します。なお、 miniroot 附属の fdisk は、FM-TOWNS の partition に対応しています。

ここで、 Gentoo Linux のインストール先となる HDD が /dev/sdb として認識されている場合は、以下のようにして fdisk を実行します。

Code: 3.8. fdisk の起動
  # fdisk /dev/sdb

なお、 partition の構成は、 AT 互換機の場合と同様にしても良いですが、カーネルの boot には TOWNS-OS 等から bzboot を使用するので(後述)、 boot partition は reserve として用意する以外は特に必要ないでしょう。

3.5. file system の作成

file system の作成方法については AT 互換機の場合と同様です。

miniroot では ext2, ext3, reiserfs の作成及び mount に対応しています。その他の file system には対応していませんのでご了承ください。

なお、 file system として reiserfs を使用する場合、あらかじめ modprobe reiserfs を実行して、 reiserfs のドライバを手動でカーネルに組み込む必要があります。

3.6. partition の mount 以降の作業

これ以降、以下の作業について、 AT 互換機の場合と同様に作業を行ないます。

Note:
stage1 及び stage2 の実行は相当な時間がかかります。
他の作業をしながらコンパイルの完了を数日間待ち続けるだけの忍耐力を持ち合わせているのではない限り(^^;;)、出来れば stage3 からの実行をお勧めします。

なお、 stage 圧縮ファイルを Internet 経由で取得するためのスクリプトを miniroot に用意してあります。以下のように実行します。

Code: 3.9. stage 圧縮ファイルの取得
  # getstage 1    // stage1 圧縮ファイルを取得
  # getstage 2    // stage2 圧縮ファイルを取得
  # getstage 3    // stage3 圧縮ファイルを取得

また、 getstage による stage 圧縮ファイルの取得先は miniroot の /etc/mirrors に記述してありますので、 network の状況により適宜変更して下さい。

3.7. FM-TOWNS 対応 portage ツリーの取得と展開

ここで、 FM-TOWNS 対応 portage ツリーの取得と展開を行ないます。

まず、 FM-TOWNS 対応 portage ツリーを .tar.bz2 で固めた portage-towns.tar.bz2 を Internet 経由で取得するか、前もって入手しておき、適当な場所においておきます。そしてこれを以下のようにしてルートディレクトリ上に展開します。

Code: 3.10. portage ツリーの取得
  // Internet に繋がる環境がある場合は、以下のようにして
  // portage-towns.tar.bz2 を取得する
  # wget http://zool.jpn.org/gentoo-towns/releases/portage-towns.tar.bz2
  # tar -jxvf portage-towns.tar.bz2 -C /

Impotant:
この時、 /etc/portage/package.maskportage-towns.tar.bz2 の展開により上書きされます。既にこれらのファイルが存在する場合は、これらのファイルを別名に変更して退避させておき、後でファイルの内容を手動で merge させるようにして下さい。

なお、 FM-TOWNS 対応 portage ツリーの CVS HEAD 版を使用する場合は、以下のようにします。この時、 /usr/local/TOWNS 及び /etc/portage/package.mask の作成を手動で行うようにしてください。

Code: 3.11. portage ツリー (CVS HEAD 版)の取得
  // Internet に繋がる環境がある場合は、以下のようにして
  // gentoo-x86-towns.tar.gz を取得する
  # wget "http://zool.jpn.org/cgi/viewcvs.cgi/gentoo-x86-towns/gentoo-x86-towns.tar.gz?tarball=1" \
                -O gentoo-x86-towns.tar.gz // 実際は1行

  // tarball 展開前に /usr/local/TOWNS ディレクトリを手動で作成
  # mkdir /usr/local/TOWNS
  # tar -zxvf gentoo-x86-towns.tar.gz -C /usr/local/TOWNS
  # mv /usr/local/TOWNS/gentoo-x86-towns /usr/local/TOWNS/portage

  // /usr/local/TOWNS/portage の下に package.mask があるので、
  // これを /etc/portage に転送
  # cp /usr/local/TOWNS/portage/package.mask /etc/portage

これにより、/usr/local/TOWNS/portage なるディレクトリが作成され、そこに FM-TOWNS 対応 portage ツリーが置かれます。

そして、 /etc/make.conf を以下のように編集します。

Code: 3.12. PORTDIR_OVERLAY, FEATURES 変数の設定
  // PORTDIR_OVERLAY 変数に /usr/local/TOWNS/portage を追加する
  PORTDIR_OVERLAY="/usr/local/TOWNS/portage"
  // emerge 実行時に、自動的に Manifest と files/digest-* が生成されるようにする
  FEATURES="digest"

Warning:
2005 年 6 月 7 日公開分より、 Manifest と files/digest-* を portage ツリーに同梱するのを廃止しました。これに伴い、これ以降の FM-TOWNS 対応 portage ツリーを使用する場合は、 FEATURES 環境変数に "digest" を追加する必要があります。

なお、 portage-towns.tar.bz2 には、 FM-TOWNS 対応 portage ツリーを更新するための portage-towns パッケージが同梱してあります。したがって、gentoo-towns.tar.bz2 の展開後は、 emerge portage-towns の実行により、 /usr/local/TOWNS/portage 以下を最新のものに保つことができます。

Code: 3.13. portage ツリーの更新
  # emerge portage-towns
  # etc-update

Impotant:
emerge portage-towns の後は /etc/portage/package.mask が変更されますので、 etc-update を忘れないでください。

Note:
emerge portage-towns を使わずに手動で portage ツリーを更新することもできます。
この場合は、 /usr/local/TOWNS/portage ディレクトリと /etc/portage/package.mask を別名に変更させた後、 portage-towns.tar.bz2 をルートディレクトリに展開してください。

Warning:
2004 年 12 月 14 日公開の snapshot バージョンより、FM-TOWNS 対応 portage ツリーの置き場所を /usr/towns/portage から /usr/local/TOWNS/portage へ変更しました。
なお、従来の /usr/towns ディレクトリは /usr/local/TOWNS へのシンボリックリンクとして、当分の間存続します。
もし、 2004 年 12 月 14 日以降に /usr/towns ディレクトリが存在する状態から emerge snapshot-towns を実行する場合は、あらかじめ手動で以下の作業を行なうようにして下さい。

Code: 3.14. /usr/local/TOWNS への移行
  // /usr/towns ディレクトリを移動
  # cd /usr
  # mv ./towns local/TOWNS
  // /usr/towns を /usr/local/TOWNS へのシンボリックリンクとする
  # ln -sf local/TOWNS ./towns

次に、以下の emerge を実行して、 FM-TOWNS 対応の Linux カーネルのソースツリーと、 FM-TOWNS の partition に対応した util-linux をインストールします。

Code: 3.15. emerge {towns-sources|util-linux} の実行
  # emerge towns-sources
  # emerge util-linux

Note:
ここで、カーネルに 2.6 系のものを使用したい場合は、 emerge towns-sources の代わりに emerge towns-dev-sources を実行してください。

その他必要があれば、以下のようにして FM-TOWNS 対応ユーティリティをインストールしていきます。

Code: 3.16. 主要な FM-TOWNS 対応ユーティリティのインストール
  # emerge cmos
                // FM-TOWNS の CMOS の操作を行うコマンド
  # emerge tname
                // FM-TOWNS の機種判定を行うコマンド
  # emerge kfont
                // コンソール上の漢字フォントを変更するコマンド
  # emerge kanjimode
                // コンソール上の漢字モードを変更するコマンド
  # emerge pad_probe
                // パッドデバイスの認識を行うコマンド

Warning:
2005 年 5 月 4 日公開分より、 gentoo-towns パッケージを廃止しました。

3.8. カーネルの再構築

ここでは、カーネルの再構築の手順について述べます。

前述の emerge towns-sources が正常に終了した時点で、 FM-TOWNS 対応カーネルのソースコードが /usr/src/linux-x.y.z-towns-rR 以下にインストールされ、このディレクトリに /usr/src/linux シンボリックリンクが張られた状態になっています。
(ここで、x,y,z,R の部分はインストール時におけるカーネルパッケージの最新バージョンです。)

この状態から、以下のようにしてカーネルの設定を手動により行ない、再構築を行ないます。

Code: 3.17. 手動によるカーネルの再構築
  # cd /usr/src/linux
  # make clean
  # make menuconfig
  # make dep && make bzImage && make modules && make modules_install

具体的なカーネルの設定については、 root partition で使用した file system のドライバ等やモジュール化が出来ないもの等を除き、モジュール化しておくのが吉です。参考として筆者が Linux 2.4.26 において動作確認した時の .config を示します。

Impotant:
特に、 root partition で使用した file system のドライバをモジュール化すると、カーネルが起動できなくなりますので、注意して下さい。

Note:
後の章で述べる X.Org を導入する場合は、他機種互換の新しいフレームバッファドライバをカーネルに組み込む必要があります。

また、カーネル設定に関する参考資料として以下の文書を挙げておきます。

なお、 genkernel を用いたカーネルの再構築には未対応ですので御了承下さい。

カーネルの再構築の後は、 bzImagebzboot が置かれている TOWNS-OS もしくは MS-DOS の partition に置きます。

ここで、 bzbootf:\linux ディレクトリに置かれていて、 f: ドライブが miniroot から /dev/sda1 のデバイス名で見えているものとすると、以下のようにします。

Code: 3.18. MS-DOS partition に bzImage を置く
  # mkdir /mnt/dos
  # mount -t msdos /dev/sda1 /mnt/dos
  # cp -p arch/i386/boot/bzImage /mnt/dos/linux

3.9. system logger のインストール以降の作業

これ以降、以下の作業について、 AT 互換機の場合と同様に作業を行ないます。

なお、ブートローダの設定については、ここでは bzboot を使用するため、必要ありません。

3.10. キーボードとフォントの設定

/etc/rc.conf の設定時に、キーボードとフォントに関する設定を行ないます。

Impotant:
特にキーボードの設定については、必ず適切に行なわないと、再起動後にキーボードの操作が激しくおかしくなるので注意してください。

キーボード周辺の設定は以下の通りに行ないます。

Code: 3.19. キーボード周辺の設定
  # cd /usr/share/keymaps/i386/qwerty
  # dumpkeys > fmtowns.map
  # gzip -9 fmtowns.map

そして、 /etc/rc.conf の設定で以下の部分を次のように変更します。

また、再起動後もFM-TOWNS 内蔵のフォントを使用したい場合は以下のようにします。

Code: 3.21. フォント周辺の設定
  # cd /usr/share/consolefonts
  # setfont -o fmtowns.fnt
  # gzip -9 fmtowns.fnt

そして、 /etc/rc.conf の設定で以下の部分を次のように変更します。

3.11. 再起動

すべての設定が完了した後は、 miniroot を reboot により終了させ、再度 TOWNS-OS もしくは MS-DOS を立ち上げます。

そして、 Gentoo Linux のインストール先が /dev/sdb2 とすると、以下のようにして再起動を行ないます。

Code: 3.23. 再起動
  > bzboot bzimage root=/dev/sdb2

以上で、再起動が成功すれば、 FM-TOWNS 上で Gentoo Linux が利用できるようになります。


4. X.Org の導入

本章では、 Gentoo Linux/TOWNS 上での X window system の導入方法について述べます。

ここでは、 Linux/TOWNS で X window system を起動させる手法として、他機種互換の新しいフレームバッファ上で X.Org を起動させる手法を用いることとします。

この手法については、

等の資料を参考にさせて頂きました。

Impotant:
当然ですが、これ以降の作業を行なう前提として、カーネルの再構築時に、他機種互換の新しいフレームバッファドライバを有効にしておく必要があります。

4.1. X.Org のインストール

まずは、X.Org のパッケージをインストールします。次の emerge を実行します。

これにより、 X.Org 本体の最新版がインストールされる他、 Linux/TOWNS 特有の xorg.conf やキーボード周辺の設定ファイルがインストールされます。

Note:
X.Org 本体のインストールには非常に時間がかかります。忍耐を持って待ちましょう。忍耐力を不幸にも持ち合わせていない場合は、 GRP を利用したインストールをお勧めします。
なお、FM-TOWNS の他、 machine power のある AT 互換機をいくつか持っていて、大きな規模のパッケージをインストールしたい場合には、分散コンパイルのための distcc の導入を強くお勧めします。

なお、 xorg-x11 パッケージのインストール後は、いくつかの設定ファイルが変更されていますので、 etc-update を実行して設定ファイルの更新を行なうのを忘れないで下さい。

4.2. X.Org の設定

そして、 X.Org のパッケージをインストールした後は、手元の環境に応じて設定の変更を行ないます。

/etc/X11/xorg.conf について、必要に応じて以下の部分を修正します。

Code: 4.3. /etc/X11/xorg.conf の編集
  Section "Files"
        FontPath        "/usr/X11R6/lib/X11/fonts/misc/"
        // ↓ 必要に応じて、 FontPath 行を追加
        FontPath        "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath        "/usr/X11R6/lib/X11/fonts/100dpi/"
  EndSection

  Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "busmouse"
        // ↓ 実際にマウスが繋がっている device file を指定する
        Option      "Device" "/dev/mouse"

        Option  "Emulate3Buttons"
        Option  "Emulate3Timeout"     "50"
  EndSection

4.3. X.Org の起動

以上により、 Linux/TOWNS 上で X.Org が起動できるようになります。 X.Org を起動するには、以下のようにして startx を実行します。

Code: 4.4. X.Org の起動
  # /etc/init.d/fmsetkb start
  # startx

Impotant:
前もって /etc/init.d/fmsetkb start を実行するのを忘れないようにして下さい。忘れるとキーボード入力がおかしくなります。

なお、/etc/init.d/fmsetkb start を実行してもキーボードの動作がおかしい場合は、/etc/conf.d/fmsetkb を修正してください。例えば、 X.Org の起動時に /var/log/XOrg.0.log に次のような log が残っていた場合、

/etc/conf.d/fmsetkb を以下のように修正します。

4.4. xdm の設定

ここで、 xdm を用いて X から login を行なう場合は、/etc/rc.conf を以下のように修正します。

次に、以下のようにして、default の runlevel に fmsetkb と xdm を登録します。

Code: 4.8. fmsetkb と xdm の登録
  # rc-update add fmsetkb default
  # rc-update add xdm default

Impotant:
fmsetkb の default runlevel への登録を忘れないで下さい。

以上で、 Linux/TOWNS 上で X window system が使用できるようになります。これ以降の詳細なデスクトップ構築の手法については、 Gentoo Linux デスクトップ構築ガイド を参照して下さい。


5. 最新の状況と今後の予定

FM-TOWNS 上の Gentoo Linux について、最新の状況や今後の予定などについては、筆者拙作の Web Page 上の Gentoo Linux/TOWNS 関連のノートにメモ書きとしてまとめておきましたので、御覧下さい。

また、本文書に関してその他見落としている事や御希望など有りましたら、御一報頂けると助かります(^^;;;;;;)。


6. 謝辞

この文章の最後にあたって、 FM-TOWNS に対応した Linux カーネルの開発について多大な尽力を行なっておられる kurati さんこと倉地 修さんに心より感謝いたします。倉地さんに関しましては、前述したようにフレームバッファを用いた XFree86 の起動についても参考にさせて頂きました。

また、 Linux/TOWNS 対応の X window system について、西 章兵さん他、 X TOWNS Version 5.5b10 を開発された皆様や、 X TOWNS のソースコードの配布やコンパイルの手法等について web page 上で有益な情報を提供して頂いている丸市 展之さんにも心より感謝致します。丸市さんに関しましては、 FM-TOWNS 対応の util-linux 2.11q のソースコードを頂くなど、 util-linux 2.12i の移植作業について、多大な御協力を頂きました。

そして、カーネル設定に関して参考となるドキュメントを公開しておられる近藤 道彦さん進藤 秀郎さんにも深く感謝致します。

最後に、 Linux/TOWNS 上で動作するアプリケーションやディストリビューションの開発に係わった全ての皆様や、 Gentoo Linux に係わった全ての皆様に心より感謝致します。


7. 配布条件

以下に本文書の配布条件を示します。


[Valid XHTML 1.0!] [Checked by Tidy!] [Valid CSS!] [Creative Commons]

Gentoo Linux/TOWNS にまつわる TODOへ戻るんだヌーン!
Gentoo Linux/TOWNS のファイル置場へ戻るんだヌーン!
過去の Gentoo Linux/TOWNS 関連のノート (〜 2006/03/13)へ戻るんだヌーン!
これまでの《Topics》へ戻るんだヌーン!

「Z.OOL.ネット信託統治領」の TOP Page へ戻るんだヌーン!


Generated by Wiki Engine VikiWiki version 1.9.8
Powered by Ruby version 1.8.3