This page is written in japanese (ISO-2022-JP).

FFMHOB linux conference FAQ-02 (カーネル関連)

[Q] make config でモジュール化した機能を有効にするにはどうすれば良いのですか?

[A]
make config で module 化した機能は、起動時のカーネルからは外されてます。 その機能を使うにはそのモジュールを追加で読み込ませるわけですが、 現在どんなモジュールがロードされているかは lsmod で表示出来ます。 modules-[12].* は以下の URL の各カーネルバージョンの下にあります。

[Q] REX3586 をモジュール化した後の設定はどうすれば良いのですか?

[A]
REX-3586 は /etc/rc.d/rc.inet1 で ifconfig を実行する前に at1700 というモジュールがロードされてないと動きません。 kerneld を動かしておくか、ifconfig 直前に modprobe すれば大丈夫だと思 います。

[Q] kernel の configure の時に y/n で答える質問の意味を教えて下さい。

[A]
設定内容の意味は、JE4 なら CD-ROM の /TOWNS/kern/reconfig.euc に解説が あります。

なお、make config のときに ? を選択すると説明表示が出ます。

[Q] 標準でインストールされる kernel の configure の内容を教えて下さい。

[A]
最初からついてくる ZIMAGE の config は CD-ROM の /TOWNS/LINUX/ZIMAGE.CFG に書いてあります。

[Q] ODP を搭載した後で FD からブートできなくなってしまったんですが...

[A]
カーネル作成時に math emulation を "y" にしてブートディスクを作成した結果、FDからの ブートが可能になりました。math emulation を "n" にした場合は、DOSBOOT5 でのブートは可能ですが(これでも稀に失敗します)、FDでのブートは必ず 失敗します。アーバンODBT-486Zを使っている場合は、math emulation を "y" にすべきのようです。

[Q] FD から Linux をブートするには

[A]
  1. make zdisk
    
    或いは
    make zImage
    dd bs=8192 if=arch/i386-TOWNS/zImage of=/dev/fd0
    
  2. rdev -R /dev/fd0 1
    

[Q] TOWNS-linux のパッチは自分で作らなければならないのですか?

PC/AT 版のパッチが DL6 に登録されますが、 DL6 にない TOWNS 用のパッチは 自分で作らなければならないのですか?

[A]
TOWNS-Linux のパッチは PC/AT 版が出てから作成されるため、 公開に少し時間がかかります。少々お待ち下さい。

[Q] kerneld を動かしておけば modprobe は必要ないんですか?

[A]
kerneld を動かしておけば必要になった時点で自動的に module を load してくれるので、予め modprobe とかする必要は 無くなります。

[Q] kerneld はいつ起動すればいいんですか?

[A]
mount が clock の行より前(mount -avt nonfs)に行われるので、 kerneld はそれよりも更に前で起動しれください。

[Q] ネットワークの設定をするには何を参照すればいいんですか?

[A]

[Q] kernel-1.3.84 と module-1.3.69 でマウスが認識されないのですが

[A]
  1. /etc/conf.modules に以下の記述を追加して対処します。 alias char-major-10-64 tmouse alias char-major-10-65 tmouse
    • /usr/src/linux で make modules 及び make modules_install を実行する。
    • 下の2つのファイルを TLX1384A.LZH に含まれている新しいものに置き換える。 /usr/towns/etc/mouse_config.sh /usr/towns/etc/pad_probe
    • /dev/MAKEDEV.towns-2.1 に TLX1384A.LZH に含まれているパッチを当て、1.3.84 のカーネルで起動してから実行する(オプションでカーネルのバージョンを指定して もよい)。

[Q] Slackware はどこにありますか?

[A]
などにリンクがあります。

[Q] カーネルのソースはどこにありますか?

[A]
などから探して下さい。

[Q] linux のカーネルを 1.xx から 2.xx にするときの手順を教えて下さい。

[A]

1.3.8x 以降の場合

  1. 前提
    linux 1.xx は ELF ベースのシステムであるとします.
  2. 必要なファイル
    1. binutils-2.6.0.10.bin.tar.gz
      アセンブラ as やリンカ ld がはいっています.
    2. gcc272-no-sr-bug.lbin.tgz
      JE4 CD-ROM の gcc-2.7.0 より新しく,かつ障害が修正された gcc-2.7.2です.
    3. gmake.tgz
      libc を 5) に更新すると,古い libc に依存していた gmake が動作 しなくなるため,5) の libc で動作するようにしてある gmake です.
    4. ld.so-1.7.14.tar.gz
      ダイナミックローダーの新版です.
    5. libc-5.2.18.bin.tar.gz
      libc の安定版 (5.2.x 版 ) の新版です.libc には 5.3.x 版という 開発版もありますが,安定版の方を使いました.
    上記ファイルの入手方法ですが,UnixUser 誌の 1996 年 6 月号の付録であ る LibCD Vol.27 にはこれらすべてが入っていました.

    インターネットでは

    などにあります。

    あと,カーネルをモジュール化している場合は,

    1. modules-1.3.69f
    以降の版が必要です.
  3. 更新手順 root になって,1.で準備したファイルを / に置きます. なお 4) の ld.so と 6) は説明上 /usr/src に置くとします. そして,以下の手順で更新します.
    1. libc-5.2.18.bin.tar.gz # cd / # rm -f /usr/lib/libc.so /usr/lib/libm.so # rm -f /usr/include/iolibio.h /usr/include/iostdio.h # rm -f /usr/include/ld_so_config.h /usr/include/localeinfo.h # rm -rf /usr/include/netinet /usr/include/net /usr/include/pthread # tar zxvf libc-5.2.18.bin.tar.gz
    2. binutils-2.6.0.10.bin.tar.gz # tar zxvf binutils-2.6.0.10.bin.tar.gz # cd /usr # rm -rf m68k-linux m68k-linuxaout sparc-sun-solaris2 sparc-sun-sunos4.1
    3. gmake.tgz # cd / # tar zxvf gmake.tgz
    4. gcc272-no-sr-bug.lbin.tgz # rm -f lib/cpp # tar zxvf gcc272-no-sr-bug.lbin.tgz # ln -s /usr/bin/cpp /lib/cpp
    5. ld.so-1.7.14.tar.gz # cd /usr/src # tar zxvf ld.so-1.7.14.tar.gz # cd ld.so-1.7.14 # sh instldso.sh
    6. modules-1.3.69f.tar.gz # tar modules-1.3.69f.tar.gz # cd modules-1.3.69 # make install これで必要なファイルは更新されました. まずは再起動してみましょう.
  4. カーネルの更新 うまく起動したら,通常の手順と同様にしてカーネル pre-2.0.4 を展開し ます. # cd /usr/linux # tar zxvf linux-1.99.4.tar.gz # mv linux linux-1.99.4 # ln -s linux-1.99.4 linux # lha x tlxp204a.lzh # tar zxvf newfiles.tgz # zcat tlxp20p4.gz | patch -p -s マウスに関する padprobe や mouse_config.sh 関連は,カーネル 1.3.84 と同じです.1.3.84 が動作している場合は,特に変更はありません.それよ りも前のバージョンからの更新の際には,パッチに添付の README ファイルを ご覧ください.

    それでは make します. 最後の2手順は,modules を利用している場合に必要です.

    # cd linux # make config # make dep # make clean # make zImage # make modules # make modules_install # cd arch/i386-TOWNS/boot # /sbin/rdev -R zImage 1 これで新カーネル zImage が できましたので,これを使って再起動します. その後,modules を使っている場合は『depmod -a』して再起動します.

JE4 の 1.3.30の場合

上記 1.3.8x 以降の場合の手順の他に 以下の作業が必要です。 以下、/usr/src で tl20xxx.lzh を展開したものとします。
  1. /usr/src/linux-TOWNS-2.0.14/misc/conf.modules を /etc にコピーする # cp -f /usr/src/linux-TOWNS-2.0.14/misc/conf.modules /etc [RET]
  2. /usr/src/linux-TOWNS-2.0.14/pad-probe ディレクトリで make install を 実行した後、/usr/towns/etc/mouse_config.sh 中の“KERNELD=no"を“KERNE LD=yes"に変更する(make config で Kernel daemon support をyにした場 合のみ)
  3. /usr/src/linux-TOWNS-2.0.14/MAKEDEV.towns-2.2 を /dev にコピーし、実 行可能にした後に、それを実行する # cp -f /usr/src/linux-TOWNS-2.0.14/MAKEDEV.towns-2.2 /dev [RET] # cd /dev [RET] # chmod +x MAKEDEV.towns-2.2 [RET] # ./MAKEDEV.towns-2.2 [RET]
  4. FTOWNS1 MES14 #427 の野村さんの発言に従って、/etc/rc.d 以下のファイ ルに変更を加える

[Q] gcc272-no-sr-bug.lbin.tgz を入れると fvwm の色が変わってしまったんですが...

[A]
xrdb は、.Xresources を読む時に cpp を使います。 gcc272-no-sr-bug.lbin.tgz では、 /lib/cpp のシンボリックリンクがおかしくなってしまっているので rm /lib/cpp ln -s /usr/bin/cpp /lib/cpp などとするか ln -s /bin/bash /bin/ash などとしてください。

[Q]Linux2.0.21にあげるときのメモ

[A]
Linux+JE4 から 2.0.21 まで上げたときのメモです。
  1. SHUさんのドキュメントを元にライブラリ等の更新。(moduleは後)
  2. カーネルソースの作成
    1. 入手してきたlinux-2.0.0.tar.gzを展開。
    2. patch-2.0.21.gz まであてる。
    3. 完成したソースを次回用に保存。
  3. タウンズパッチを当てます。
    1. /usr/srcでtl2021w1.lzhを展開。
    2. READMEファイルにある指示1〜6を行ないます。
  4. カーネルメイク
    1. /usr/src/linuxに移動して、以下の順に実行します。 # make config # make dep ; make clean # make zImage # make modules # make modules_install
  5. /usr/srcでmodules-2.0.0.tar.gzを展開。 できたディレクトリに移り、インストール。 # make install
  6. 最後の修正
    1. /etc/rc.d/rc.Sの中に、 if [ -x /sbin/depmod ]; then /sbin/depmod -a fi if [ -x /sbin/kerneld ]; then /sbin/kerneld fi を追加。
    2. /usr/towns/etc/mouse_config.hの"KERNELD=no"を"KERNELD=yes"に修正。
    3. /devに移り、次を実行します。 # cd /dev # chmod +x MAKEDEV.towns-2.2 # ./MAKEDEV.towns-2.2
  7. 私はLILOを使っているので、再設定。そして再起動。

[Q] JE4 以前のシステムから Slackware 3.1 ベースにあげるには

[A]
VIC 氏作成のインストール方法です。
  1. ハードディスクからのインストール
    1. Slackware-3.1 の準備 DOS フォーマットされた任意のドライブ上に Slackware-3.1 を 用意します。
      1. ftp DOS パーティション上に ftp し、かつ "SLACKWAR" ディレクトリが ルートディレクトリにある場合はそのまま利用可能です。 なお、任意のディレクトリ配下にファイルを ftp している場合は、 "ftp したディレクトリ\SLACKWAR\SLAKWARE" ディレクトリの内容を ルートディレクトリ配下の "\SLACKWAR\SLAKWARE" ディレクトリ配下に 複写または移動してください。 ハードディスク容量が足りない場合は、"\SLACKWAR\SLAKWARE" 配下の A1〜A8,N1〜N6 ディレクトリとその配下のファイルを複写してください。
      2. CDROM CDROM より Slackware のモジュール("\SLACKWAR\SLAKWARE" 配下の ファイル) をハードディスク上の "\SLACKWAR\SLACWARE" 配下に 複写します。 ハードディスク容量が足りない場合は、"\SLACKWAR\SLAKWARE" 配下の A1〜A8,N1〜N6 ディレクトリとその配下のファイルを複写してください。
    2. TOWNS モジュールの準備 JE4 や RunRun Linux、Linux 入門より TOWNS のモジュール ("\TOWNS" 配下のファイル)をハードディスク上の "\TOWNS" 配下に 複写します。
    3. インストール インストールガイドに従い、基本システムをインストール してください。 インストール元のデバイスには Slackware を展開した ハードディスクを選択してください。Slackware-3.1 を展開した ディレクトリより、Slackware-3.1 ベースの新しい基本システムが インストールされます。
  2. フロッピーディスクからのインストール Slackware を展開できるディスクがない場合は、 フロッピーディスクによるインストールになります。
    1. Slackware-3.1 の準備 Slackware のインストール手順に従い、A1〜A8,N1〜N6 のディスクを 作成してください。
    2. インストール インストールガイドに従い、基本システムをインストール してください。 インストール元のデバイスにはフロッピーディスクを 選択してください。Slackware-3.1 を展開した フロッピーディスクからより、Slackware-3.1 ベースの 新しい基本システムがインストールされます。
  3. 追加インストール 追加インストールについては JE4 や RunRun のドキュメントに したがって、インストールしてください。 なお、インストール元が古い Slackware にならないよう 気をつけてください。

お願い

なお、カーネルのバージョンによっては動かない可能性がありますので、 なるべく最新のカーネルを使用してください。

[Q]カーネルのリメイクに失敗した時

[A]
レジスタダンプの中の EIP とカーネルのシンボルテーブル (/usr/src/linux/System.map)を突き合わせると、カーネルの中のどの辺で panic したのか判るかもしれません。

[Q] kernel をバージョンアップしたら時間が変になってしまいました。

[A]
  1. make config で、 Enhanced Real Time Clock Support を、Yes にしてください。
  2. /usr/towns/src/sbinのclock を入れ直せば正常になります。

[Q] カーネルテストに参加する際の注意事項は何ですか?

[A]
基本的には各自の環境で問題無いかどうかをチェックするだけでいいで す。つまり、 新しいカーネルを試したら、すぐに報告しましょう。

[Q] make zdisk で作成したフロッピーから起動しようとすると> TOWNS Linux loging... で止まってしまいます。

[A]
フロッピーが 2HD(1440KB) でフォーマットしてあるとそうなるようです。 もしそうなら 2HD(1.2MB) で試して下さい。

[Q] TOWNS で Debian linux を使いたいのですが

[A]
以下の URL を参照してみて下さい。

このページに関する、御意見、御質問、バグレポートなどは