Plamo4.0 についてのあれこれ



Linux My Tips ちょっとしたヒントとメモ
I enjoy Linux Linux 関連ページの目次にもどる。

plamo4.0についてのメモあれこれ

Plamo4.0についての詳細はこちらをどうぞ。
2004年7月下旬発売予定
『Plamo Linux Expert』 技術評論社 (ソフトウェアデザイン)


  • マシン2004/03
  • Scanjet4CとXSANE
  • ftpデーモン(Plamo 4.0 RC1 2004/06/09版)
  • 辞書の利用(bookview と ndtpd )
  • プリンタの設定
  • kyoto-inet BB への接続
  • カーネルのバージョンアップで
  • sound 関係kernel 2.6.2 で ALSA
  • xcdroast
  • bookview
  • 「Plamo Linux へようこそ!!」のメール


  • 2004年3月に組み立てたマシン
    これは私のマシンではなくて、ちょっと理由ありで、お借りしたもの。とはい
    え、まあ、手元にあったらあっちこっちいじり倒しになる可能性は大なのに、
    ご自由にということで、感謝、感謝。
    
    plamo4.0β2をインストールしました。
    これはいずれplamo4.0正式版にいれかえるつもりですから、
    ただいまのところ、試運転中(2004/4月---6月)
    
    マシンの構成は、IDE仕様
    M/B Intel815set
    Celeron 1Ghz
    Millenium  PCI
    
    要するにマザーボードの上にいろいろ乗っかっているし、
    CD-ROM と FDD がついているだけといういたってシンプルなマシンです。
    そこで、さっそくTVカードをつけ、Scanjet4C のためにSCSIカードを追加しました。
    
    もうちょっと詳しく(2004/05月現在の構成)
    00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 04)
    00:01.0 PCI bridge: Intel Corp. 82815 815 Chipset AGP Bridge (rev 04)
    00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB/ER Hub interface to PCI Bridge (rev 11)
    00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 11)
    00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 11)
    00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 11)
    00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 11)
    00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 11)
    01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 01)
    02:02.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
    02:03.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02)
    02:03.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02)
    02:05.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 03)
    02:09.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
    


    Scanjet4CとXSANE
    Scanjet4Cを使うために、DC390というSCSIカードを追加した。
    
    起動時、スキャナーを認識しているかどうかを確認
    
    
    
    sane-backends-1.0.14.tar.gz
    
    bash-2.05b# cat /proc/scsi/scsi
    Attached devices: 
    Host: scsi0 Channel: 00 Id: 05 Lun: 00
      Vendor: HP       Model: C2520A           Rev: 3503
      Type:   Processor                        ANSI SCSI revision: 02
    
    # modprobe sg
    bash-2.05b# sane-find-scanner
    
    found SCSI processor "HP C2520A 3503" at /dev/sg0
    found SCSI processor "HP C2520A 3503" at /dev/sga
      # Your SCSI scanner was detected. It may or may not be supported by SANE. Try
      # scanimage -L and read the backend's manpage.
    
      # No USB scanners found. If you expected something different, make sure that
      # you have loaded a driver for your USB host controller and have installed a
      # kernel scanner module.
    
      # Scanners connected to the parallel port or other proprietary ports can't be
      # detected by this program.
    
    bash-2.05b# ls -l sga
    crw-------    1 root     root      21,   0  7月 19日 1994年 sga
    
    bash-2.05b# ln -s /dev/sga /dev/scanner
    bash-2.05b# ls -l scanner
    lrwxrwxrwx    1 root     root            8  5月 30日  18:28 scanner -> /dev/sga
    
    ln -l /dev/sg0 /dev/scanner
    bash-2.05b# ls -l scanner
    lrwxrwxrwx    1 root     root            8  7月 19日  10:47 scanner -> /dev/sg0
    
    
    bash-2.05b# sane-find-scanner
    
    found SCSI processor "HP C2520A 3503" at /dev/scanner
    found SCSI processor "HP C2520A 3503" at /dev/sg0
    found SCSI processor "HP C2520A 3503" at /dev/sga
    
    
    SCSI Direct IO: Recent versions of the Linux SG driver for the 2.4 kernels 
      support direct IO, i.e., the SCSI adapter's DMA chip copies data directly 
      to/from user memory. Direct IO reduces memory usage, but it can lead to 
      access conflicts, if a backend uses shared memory. SANE does not use 
      direct IO by default. If you want to use it, run
    
    	configure --enable-scsi-directio=yes
    
    sane-backends-1.0.14/
    $ ./configure --enable-scsi-directio=yes
    $ make 
    # make install
    
    
    xsane-0.94.tar.gz
    
    
    ./configure
    make
    make install
    
    sakura@hanahana:/dev$ ls -l scanner
    lrwxrwxrwx    1 root     root            8  5月 30日  18:28 scanner -> /dev/sga
    
    ln -s /usr/local/bin/xsane ~/.gimp-1.2/plug-ins/
    
    

    ftp デーモン
    plamo4.0 rc1 で
    なぜかproftpd-1.2.9-i386-P1.tgzがインストールされていませんでした。
    
    状況は、
    plamo4.0 rc1 で、
    ローカルでplamo3.0 が入ったマシンから、plamo4.0 rc1へ
    ftpでログインできませんでした。
    ところがtelnet ではログインできるし、
    plamo4.0 rc1 --> plamo3.0 は ftp でログインできる。
    外への ftp は使えるし、問題ない。 
    
    はて?と思っていたのですが、
    plamo4.0 rc1 の
    /var/log/syslog を見ると、 /usr/sbin/in.ftpd がないというログが残ってました。
    つまりftpデーモンが走ってないということになるわけですよね。
    
    Jun 22 11:06:12 hanahana in.ftpd[617]: error: cannot execute /usr/sbin/in.ftpd: No such file or directory
    
    ということで /usr/sbin を調べてみると、
    plamo4.0 rc1 に proftpd がインストールされていない、ということがわかり、
    ですから、当時に、
    /usr/sbin には in.ftpd がないということがわかりました。
    
    plamo3.0 のほうを見ると、proftpd はこんな関係になってることがわかりました。
    lrwxrwxrwx    1 root     root            7  5月 23日 2003年 in.ftpd -> proftpd*
    lrwxrwxrwx    1 root     root            7  5月 23日 2003年 in.proftpd -> proftpd*
    
    -rwxr-xr-x    1 root     root       245808  7月 13日 2002年 proftpd*
    
    というわけで、インストールCD から、proftpd を追加インストールしました。
    ./n/proftpd-1.2.9-i386-P1.tgz
    
    追加インストール後のplamo4.0 rc1 の /usr/sbin
    bash-2.05b# ls -l in*
    lrwxrwxrwx    1 root     root            7  6月 22日  11:25 in.ftpd -> proftpd*
    lrwxrwxrwx    1 root     root            7  6月 22日  11:25 in.proftpd -> proftpd*
    
    -rwxr-xr-x    1 root     root       391764  4月 12日  13:07 proftpd*
    
    proftpd がインストール時にちゃんとインストールされていなかったのは、
    私の環境だけでしょうか。それとも何かタグのほうにミスでもあったのだろうか。
    


    辞書の利用(bookview と ndtpd )
    辞書の利用(bookview と ndtpd )
    
    /cdrom/contrib/Text 以下のものをインストール
    bookview-3.2-i386-P1.tgz
    ndtpd-3.1.5-i386-P1.tgz
    eb-4.0-i386-P1.tgz  
    
    ndtp関連
    ./var/log/packages/ndtpd
    ./var/log/scripts/ndtpd
    ./usr/etc/ndtpd.conf.sample
    ./usr/sbin/ndtpd
    ./usr/sbin/ndtpcheck
    ./usr/sbin/ndtpcontrol
    ./usr/sbin/ndtpdaily
    ./usr/sbin/ndtpupgrade
    ./usr/share/doc/ndtpd-3.1.5
    ./usr/share/info/ndtpd.info-2.gz
    ./usr/share/info/ndtpd.info.gz
    ./usr/share/info/ndtpd.info-1.gz
    ./usr/share/info/ndtpd-ja.info.gz
    ./usr/share/info/ndtpd-ja.info-1.gz
    ./usr/share/info/ndtpd-ja.info-2.gz
    ./usr/share/bookview/ndtp.tcl
    ./usr/var/ndtpd
    ./usr/libexec/ndtpstat
    
    
    ndtpd を手動で起動するには、
     # /usr/sbin/ndtpd
    
    設定にエラーがないかどうかを調べるためには、
    $ /usr/sbin/ndtpcheck
    
    kill や restartには、	
    /usr/sbin/ndtpcontrol
    
    
    ndtpd.conf を作る
    /usr/etc/ndtpd.conf.sample
    ndtpd.conf.sample を ndtpd.conf として変更する。
    
    plamo3.0 で使っていたndtpd.confを利用して編集した。
    ・ホスト名やパスを変更して流用しようとしたけれど、
      なぜかうまく動かないようだった。
    ・ndtpd.conf.sample を使った。
      なぜか、
    begin book 〜 end の間で、
      name                CHUJITEN 
      alias-waei          CHUJITEN 
    CHUJITEN というような大文字はだめで、chujiten のように小文字に変更した。
    同様に、READERS や  KOUJIEN、 GENIUSも小文字にした。
    
    こんなエラーがでました。
    bash-2.05b# ndtpcheck
    ndtpcheck: /usr/etc/ndtpd.conf:61: the book name contains invalid character: CHUJITEN
    bash-2.05b# ndtpcheck
    ndtpcheck: /usr/etc/ndtpd.conf:73: the book name contains invalid character: GENIUS
    
    きちんと起動するなら、
    起動時に ndtp が起動するように、
    /etc/inetd.conf に次の記述を加えます。
    ndtp  stream  tcp  nowait  root  /usr/sbin/ndtpd ndtpd --inetd
    
    
    /usr/etc/ndtpd.conf 
    
    ######################################################################
    # Configuration file for NDTPD and ebHTTPD.
    # (Copy this file to `ndtpd.conf', and edit it.)
    ######################################################################
    
    ### Port number `ndtpd' binds.
    ### (default: ndtp)
    # ndtp-port		ndtp
    
    ### Port number `ebhttpd' binds.
    ### (default: http)
    # http-port		http
    
    ### Owner of the server process.
    ### (default: none)
    #user			ndtpuser
    
    ### Group of the server process.
    ### (default: none)
    #group			ndtpgrp
    
    ### How many clients can be connected to the server at the same time.
    ### (default: 1)
    # max-clients		1
    
    ### Which hosts can or cannot connect to the server.
    ### (default: none)
    hosts			127.0.0.1
    hosts			::1
    hosts			!?
    hosts			hanahana.minerva.com
    
    ### Timeout seconds until the server disconnects an idle connection.
    ### (default: 900)
    # timeout		900
    
    ### Path to a working directory.
    ### Please create the directory and make it be writable for the server
    ### processes before executing the server.
    ### (default: /usr/var/ndtpd)
    # work-path		/usr/var/ndtpd
    
    ### How many hit entries the server tries to find at a search.
    ### (default: 50)
    # max-hits		50
    
    ### The maximum size of text the server may send as a response to
    ### a client.
    ### (default: 32768)
    # max-text-size		32768
    
    ### Syslog facility
    ### (default: daemon)
    syslog-facility		local0
    
    ###
    ### Book entry
    ###
    
    begin book
             name                chujiten 
             title               研究社 英和・和英中辞典 
             path                /home/sakura/dict
             appendix-path	/usr/share/eb/appendix/chujiten-2.3
             max-clients         2 
             hosts               127.0.0.1
             hosts               hanahana.minerva.com
          alias-eiwa          chujiten 
          alias-waei          chujiten 
         end 
    
    begin book
             name                genius
             title               ジーニアス英和辞典
             path                /home/sakura/dict/genius
             appendix-path	/usr/share/eb/appendix/genius-1.0
             max-clients         2 
             hosts               127.0.0.1
             hosts               hanahana.minerva.com
         end 
    
    begin book
             name                readers
             title               研究社 リーダーズ英和辞典
             path                /home/sakura/dict/readers
             appendix-path	/usr/share/eb/appendix/readers2-2.0
             max-clients         2 
             hosts               127.0.0.1
             hosts               hanahana.minerva.com
        end
    
    begin book
             name                 kojien
             title               広辞苑 第四版 電子ブック版
             path                /home/sakura/dict/koujien
             appendix-path	/usr/share/eb/appendix/kojien4-2.2
             max-clients         2 
             hosts               127.0.0.1
             hosts               hanahana.minerva.com
         end 
    
    ### Add a book group directive (lines between `begin book' and `end'),
    ### if you want to read another CD-ROM book.  A book group directive
    ### is required for each book.
    
    


    プリンタの設定
    
    plamo4.0RC1 のデフォルトのカーネルの設定は、
    
    # Parallel port support
    #
    CONFIG_PARPORT=m
    CONFIG_PARPORT_PC=m
    CONFIG_PARPORT_PC_CML1=m
    CONFIG_PARPORT_SERIAL=m
    CONFIG_PARPORT_PC_FIFO=y
    CONFIG_PARPORT_PC_SUPERIO=y
    CONFIG_PARPORT_PC_PCMCIA=m
    CONFIG_PARPORT_OTHER=y
    CONFIG_PARPORT_1284=y
    
    プリンタポートはすべてモジュールに設定されているので、
    カーネルはデフォルトのまま。
    たぶんそのままでも問題ないと思いましたが、起動時に、
    認識されてしまうほうが好きなので、
    /etc/rc.d/rc.modules で、起動時にモジュール読み込みにしておきました。
    
    # Parallel port (printer) support:
    /sbin/modprobe lp
    
    parport0: PC-style at 0x378 [PCSPP,TRISTATE]
    lp0: using parport0 (polling).
    lp0: console ready
    
    /usr/bin/printersetup を使って、ともあれプリンタの設定をする。
    
    テキストとps ファイルは印刷可能になるはずなのですが、
    テキスト印刷のためにはdpnote をインストールする。
    
    


    kyoto-inet BB への接続
    いままで「フレッツ ISDN」 を使っていました。
    昨日、2004年8月31日から、「kyoto-inet BB」が使えるようになりました。
    http://web.kyoto-inet.or.jp/ 
    
    電話線 --- ADSL モデム ---- ハブ ---------        kyoto-inet BBの接続状況
                                      | マシン1 plamo4.0(β)192.168.1.10 ×
                                      | マシン1 turbolinux 192.168.1.10 ○
                                      | マシン2 plamo3.0 (192.168.1.4)  ○
                                        マシン2 windows 98   ○
                                        マシン3 windows 98のみ ○
                                        マシン4 Dynabook(windowsMe)○
                                        マシン4 Dynabook(plamo1.4(2.2.17))○
                                                           192.168.1.5  
    
    こんな状態になっているのですが、
    なぜか マシン1 plamo4.0(β)192.168.1.10 だけが接続できずに
    タイムアウトになってしまいます。
    
    間にハブをはさまず、モデムから直接 plamo4.0 が入っているマシンの
    ネットワークカードに直結してつないでもだめでした。
    
    最初の設定実験を plamo4.0 環境からやっていたので、なぜ接続できないのか、
    モデムの設定もいじりようがなくなったので、思いきって、windows98 が入っ
    ているマシンのネットワークカードにモデムからつないでみたら、あらら!接
    続してしまったので、その同じマシン(マシン2)の plamo3.0 を起動してみ
    たら、こちらもすんなりつながってしまうのです。
    
    その他の環境はすべて kyoto-inet BB で接続できています。
     plamo4.0 が入っているマシンの別区画には、turbolinux があり、
    turbo からも接続確認できていますので、ネットワークカードそのものが
    おかしいわけではないし、何よりフレッツ ISDN では plamo4.0 環境も
    別に問題なく接続できています。
    
    というわけで、複数台のマシンと複数の Linux あれこれを試してみたところ、
    結局、kyoto-inet BB で接続できないのは、マシン1の plamo4.0 だけという
    ことになってしまったのですが、フレッツ ISDN では問題ないし、だから内部
    的なネットワーク環境も別に問題ないと思うのですが、はて?何をいじればと
    ちょっと首をひねってしまった。
    
    これは結局のところ、
    plamo4.0 情報
    「ごく一部のホストに対して,ping は通っても http や ssh などの TCP な通
    信が通らない」ということで、
    2.4.18 以降のカーネルで実装されている,「CONFIG_INET_ECN 」,
    Networking options
     └ TCP/IP networking
        └ IP: TCP Explicit Congestion Notification support
    が有効になっていると一部のホストに繋がらなくなる,
    という現象がいくつか報告されているようです。
    
    カーネルの再構築をするか、
    一時的な解決方法としては、
     # echo 0 > /proc/sys/net/ipv4/tcp_ecn 
    または、
    /etc/rc.d/rc.local に,
    echo 0 > /proc/sys/net/ipv4/tcp_ecn
    という行を追加する
    


    カーネルのバージョンアップで
    2.6系のカーネルソースの固まりを複数ロードして、試してみたのですが、全部同じエ
    ラーになります。ちょっとおかしいなと思ったので、plamo3.0 の環境で少し
    ハードディスクに余裕があったので、2.6.2 で、make manuconfig を起動して
    みましたら、こちらの環境では問題なく設定画面が出ます。
    
    --------plamo3.0 の場合
    bash-2.04# cd ./linux-2.6.2
    bash-2.04# ls
    COPYING         Makefile        crypto/   init/    mm/        sound/
    CREDITS         README          drivers/  ipc/     net/       usr/
    Documentation/  REPORTING-BUGS  fs/       kernel/  scripts/
    MAINTAINERS     arch/           include/  lib/     security/
    bash-2.04# make menuconfig
    bash-2.04# make menuconfig
      HOSTCC  scripts/fixdep
      SHIPPED scripts/kconfig/zconf.tab.h
      HOSTCC  scripts/kconfig/conf.o
      HOSTCC  scripts/kconfig/mconf.o
      SHIPPED scripts/kconfig/zconf.tab.c
      SHIPPED scripts/kconfig/lex.zconf.c
      HOSTCC  -fPIC scripts/kconfig/zconf.tab.o
      HOSTLLD -shared scripts/kconfig/libkconfig.so
      HOSTLD  scripts/kconfig/mconf
      HOSTCC  scripts/lxdialog/checklist.o
      HOSTCC  scripts/lxdialog/inputbox.o
      HOSTCC  scripts/lxdialog/lxdialog.o
      HOSTCC  scripts/lxdialog/menubox.o
      HOSTCC  scripts/lxdialog/msgbox.o
      HOSTCC  scripts/lxdialog/textbox.o
      HOSTCC  scripts/lxdialog/util.o
      HOSTCC  scripts/lxdialog/yesno.o
      HOSTLD  scripts/lxdialog/lxdialog
    scripts/kconfig/mconf arch/i386/Kconfig
    #
    # using defaults found in arch/i386/defconfig
    #
    
    
    ----------plamo4.0
    
    lrwxrwxrwx    1 root     root    11  9月  2日  21:25 linux -> linux-2.6.2/
    
    bash-2.05b# cd /usr/src/linux
    bash-2.05b# make menuconfig
      HOSTCC  scripts/fixdep
    /usr/include/netinet/in.h:212 から include されたファイル中,
                     scripts/fixdep.c:107 から:
    /usr/include/bits/socket.h:305:24: asm/socket.h: そのようなファイルやディレクトリはありません
    make[1]: *** [scripts/fixdep] エラー 1
    make: *** [scripts/fixdep] エラー 2
    
    make menuconfig を起動すると、上記のようなエラーになるので、
    試しに手動で、
    /usr/src/linux/include で、
    lrwxrwxrwx    1 root     root            8  9月  3日  10:57 asm -> asm-i386/
    というリンクを作ってみましたら、
    asm/socket.h: がないというエラーは消えても、
    新たに、asm-generic/errno.h: これがないというエラーがでてきます。
    
    bash-2.05b# make menuconfig
    make[1]: `scripts/fixdep' は更新済みです
      HOSTCC  scripts/kconfig/mconf.o
    /usr/include/linux/errno.h:4 から include されたファイル中,
                     /usr/include/bits/errno.h:25 から,
                     /usr/include/errno.h:36 から,
                     scripts/kconfig/mconf.c:12 から:
    /usr/include/asm/errno.h:4:31: asm-generic/errno.h: そのようなファイルやディレクトリはありません
    scripts/kconfig/mconf.c: 関数 `exec_conf' 内:
    scripts/kconfig/mconf.c:243: error: `EINTR' undeclared (first use in this function)
    scripts/kconfig/mconf.c:243: error: (Each undeclared identifier is reported only once
    scripts/kconfig/mconf.c:243: error: for each function it appears in.)
    scripts/kconfig/mconf.c:243: error: `EAGAIN' undeclared (first use in this function)
    make[1]: *** [scripts/kconfig/mconf.o] エラー 1
    make: *** [menuconfig] エラー 2
    
    --------------------
    
    (1)# make mrproper
    (2)# make include/asm
    (3)# make menuconfig
    
    (2) で、
    bash-2.05b# make include/asm
    Makefile:392: .config: そのようなファイルやディレクトリはありません
      SYMLINK include/asm -> include/asm-i386
    
    lrwxrwxrwx    1 root     root            8  9月  2日  22:40 asm -> asm-i386/
    
    さらに、このエラーに対して、
    > > /usr/include/asm/errno.h:4:31: asm-generic/errno.h: そのようなファイルやディレクトリはありません
    
    bash-2.05b# ls -l /usr/include/asm-generic
    lrwxrwxrwx    1 root     root           34  9月  3日  12:25 /usr/include/asm-generic -> /usr/src/linux/include/asm-generic/
    
    リンク作成してから、
    
    bash-2.05b# cd /usr/src/linux
    bash-2.05b# make menuconfig
    make[1]: `scripts/fixdep' は更新済みです
      HOSTCC  scripts/kconfig/mconf.o
      SHIPPED scripts/kconfig/zconf.tab.c
      SHIPPED scripts/kconfig/lex.zconf.c
      HOSTCC  -fPIC scripts/kconfig/zconf.tab.o
      HOSTLLD -shared scripts/kconfig/libkconfig.so
      HOSTLD  scripts/kconfig/mconf
      HOSTCC  scripts/lxdialog/checklist.o
      HOSTCC  scripts/lxdialog/inputbox.o
      HOSTCC  scripts/lxdialog/msgbox.o
      HOSTCC  scripts/lxdialog/textbox.o
      HOSTCC  scripts/lxdialog/util.o
      HOSTCC  scripts/lxdialog/yesno.o
      HOSTLD  scripts/lxdialog/lxdialog
    scripts/kconfig/mconf arch/i386/Kconfig
    #
    # using defaults found in arch/i386/defconfig
    #
    
    これで設定画面が起動してきます。
    
    結果的にやったことは、
    シンボリックリンクを2つ作ったことになりますが、
    なぜ手動でリンクを作らないといけないようになったのか、
    いまのところよくわからない。
    (1)
    /usr/src/linux/include
    lrwxrwxrwx    1 root     root            8  9月  3日  11:22 asm -> asm-i386/
    
    (2)
    /usr/include
    sakura@hanahana:/usr/include$ ls -l asm*
    lrwxrwxrwx    1 root     root           26  6月 19日  05:16 asm->/usr/src/linux/include/asm/  (こちらはデフォルトであったリンク)
    lrwxrwxrwx    1 root     root           34  9月  3日  12:25 asm-generic -> /usr/src/linux/include/asm-generic/
    
    この問題は結局のところ、それほどややこしい問題ではなくて、
    /usr/include/asm-generic が必要なのは 2.6 以降
    ということになるのでしょうね。
    /usr/include/adm-generic -> /usr/src/linux/include/asm-generic
    というリンクがデフォルトで存在するのは、
    Plamo4.0のRC 頃からということになるようです。
    
    
    sound関係
    
    環境は plamo4.0 kernel 2.6.2
    2.6 系だと、# Advanced Linux Sound Architecture があるので、
    手早いかと思ったのですが、
    「音がでない」とちょっとはまってしまいました。
    
    
    (1)/sbin/lspci でサウンド関係を調べる。
    
    sakura@hanahana:~$ /sbin/lspci
    00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 04)
    00:01.0 PCI bridge: Intel Corp. 82815 815 Chipset AGP Bridge (rev 04)
    00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB/ER Hub interface to PCI Bridge (rev 11)
    00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 11)
    00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 11)
    00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 11)
    00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 11)
    00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 11)
    01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 01)
    02:02.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
    02:03.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02)
    02:03.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02)
    02:05.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 03)
    02:09.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
    
    ---------------------------------------------------------------------
    Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
    ---------------------------------------------------------------------
    
    (2)カードのチェック
    
    /usr/src/linux/Documentation/sound/alsa/CMIPCI.txt を参考にしました。
    
    Brief Notes on C-Media 8738/8338 Driver
    4/6 Multi-Channel Playback
    --------------------------
    The recent CM8738 chips support for the 4/6 multi-channel playback
    function.  This is useful especially for AC3 decoding.
    
    When the multi-channel is supported, the driver name has a suffix
    "-MC" such like "CMI8738-MC6".  You can check this name from
    /proc/asound/cards.
    
    カードの詳細
    -------------------
    bash-2.05b# cat /proc/asound/cards
    0 [CMI8738MC6     ]: CMI8738-MC6 - C-Media PCI CMI8738-MC6
                         C-Media PCI CMI8738-MC6 (model 55) at 0xc800, irq 11
    --------------------
    
    (3)カーネルの設定
    (たぶん最低限かも。念のため OSS のほうも最低限チェックしておきました)
    
    # Sound
    #
    CONFIG_SOUND=m
    
    #
    # Advanced Linux Sound Architecture
    #
    CONFIG_SND=m
    CONFIG_SND_SEQUENCER=m
    CONFIG_SND_SEQ_DUMMY=m
    CONFIG_SND_OSSEMUL=y
    CONFIG_SND_MIXER_OSS=m
    CONFIG_SND_PCM_OSS=m
    CONFIG_SND_SEQUENCER_OSS=y
    # CONFIG_SND_RTCTIMER is not set
    # CONFIG_SND_VERBOSE_PRINTK is not set
    # CONFIG_SND_DEBUG is not set
    
    #
    # Generic devices
    #
    CONFIG_SND_DUMMY=m
    CONFIG_SND_VIRMIDI=m
    CONFIG_SND_MTPAV=m
    CONFIG_SND_SERIAL_U16550=m
    CONFIG_SND_MPU401=m
    
    # PCI devices
    CONFIG_SND_CMIPCI=m
    
    
    
    
    (4)  /etc/module.conf
    -------------
    alias char-major-116 snd
    alias snd-card-0 snd-cmipci
    alias char-major-14 soundcore
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    options snd major=116 cards_limit=1
    options snd-cmipci index=0 
    post-install snd-card-cmipci alsactl restore
    ---------------
    
    alsa の設定ファイルは、/usr/sbin
    -rwxr-xr-x    1 root     root        28731  5月 21日  11:29 alsaconf*
    -rwxr-xr-x    1 root     root        32004  5月 21日  11:29 alsactl*
    
    (5) alsaconf を起動して設定すると、/etc/modprobe.conf を変更してくれます。
       (これ大事です、最終的にこの設定をすれば使える)
    /etc/modprobe.conf
    # --- BEGIN: Generated by ALSACONF, do not edit. ---
    # --- ALSACONF verion 1.0.4 ---
    alias snd-card-0 snd-cmipci
    alias sound-slot-0 snd-cmipci
    # --- END: Generated by ALSACONF, do not edit. ---
    
    alsactl については、plamo.FAQ
    plamo FAQ
    
    http://plamo-linux.jp/I810/i810.html
    i810 のサウンド機能の設定
    alsactl コマンド
    ただし、ここでは /etc/asound.conf というファイルになっていますが、
    (私の場合) /etc/asound.state というファイルが使われるようです。
    
    
    (6) はまったかもしれないのは、とにかくうんともすんとも音が出なかったこと!
    
    上記設定をあれこれ見直したのですが、何が不備なのかがわからなかったのです
    が、
    http://plamo-linux.jp/I810/i810.html
    このページをゆっくり読み、
    ここで、
    ------------
    ALSA のドライバはロードされた時点では音量は全て mute された状態になって
    います。そのため、サウンドを処理するプログラム類は正しく動作していても音
    声が出力されないように見えることがあります。
    --------
    このあたりのことを中心に調べてみました。
    aumix や smix も確認し、
    /etc/module.conf に次の行を加えました。
    post-install snd-card-cmipci alsactl restore
    
    
    ここで行き当たったのが、alsa の設定ファイルで、このような設定ファイルが
    あることになかなか気がつかなかったのがはまりの原因だったようです。
    (cmipci であちこち調べてみましたが、まあ、いろいろ出てきましたけれど)
    
    alsa の設定ファイルは、/usr/sbin
    -rwxr-xr-x    1 root     root        28731  5月 21日  11:29 alsaconf*
    -rwxr-xr-x    1 root     root        32004  5月 21日  11:29 alsactl*
    
    Timidity でmid ファイルの演奏
    wavplay(wavplay-1.4.tar.gz をmake install)で wav ファイルの演奏
    mpg123 (mpg123-0.59r.tar.gz をmake install)で mp3 ファイル演奏
    などできるようになりました。
    
    
    xcdroast
    SCSI仕様のマシンが1台眠っていました。ところが、これにCD/RW がついてい
    て、他のマシンにつけかえるのもどうもなぁと思っていたので、CD 焼き専用
    に復活させようと思いました。ま、一世代前のマシンって感じですから、焼き
    には時間食うかもとは思うのですが、そう頻繁に使うわけでもないので、ま、
    いいかと。
    (メモによれば、このCD/RW は9000円 だったらしい。
      Vendor: MITSUMI   Model: CR-48X8TE )
    
    SCSI ディスクが3つついていて、それがけっこう細かくパーティションにわ
    けてあったので、もう思い切ってという感じで、こんな風にしました。
    よくみたら、plamo1.4 とかが残っていましたもん(笑)
    
    CD/RW 専用にするなら、ちょっと余裕がないことにはどうにもならんし。
    /dev/sdb1              4100372    225344   3663376   6% /
    /dev/sdc2              4279360   2040900   2017568  51% /usr
    
    plamo4.0 は、PlamoExpert 付録の CD からインストールしました。
    カーネルは 2.6.2 にしました。
    
    M/B AX6B Plus
    メモリ:128MB
    CPU  Pentium-II 450MHz
    CD-ROM  Toshiba   SCSI x32
    sound  SoundBlasterAWE64 
    Realtek RTL8029 EtherNet adapter
    
    なにせ今様じゃないんで、ネットワークカードも組込みで、
    NE*000 ethercard probe at 0x300: 00 40 b4 a0 86 1e
    eth0: NE2000 found at 0x300, using IRQ 9.
    これでしか認識してくれなかった。
    
    で、肝心のCD-RW は、
    /etc/modules.conf で、
    alias scd1 sr_mod
    alias scsi_hostadapter ide-scsi
    options ide-cd ignore=hda
    post-install ide-scsi /usr/sbin/hdparm -d 1 /dev/hda
    
    不要かもしれないのですが、
    lilo.conf にも、append ="hda=ide-scsi" をつけてみました。
    たぶん、どちらかの記述があればよいのではないかと。
    
    hda: CR-48X8TE, ATAPI CD/DVD-ROM drive
    
    (1)
    先に、この2つをインストールしたのですが、
    あとで、cdrtools-2.00.3.tar.gz を自分で make していれました。
    (理由はのちほど)
    cdrdao-1.1.5-i386-P1.tgz
    cdrtools-2.00.3-i386-P1.tgz
    
    
    (2)xcdroast-0.98alpha15.tar.gz をインストールする。
    ./configure で  gdk_pixbuf がないというエラーが出たので、
    gdk-pixbuf-0.21.0.tar.gz を先に、インストールする。
    
    checking for glib-config... /usr/bin/glib-config
    checking for GLIB - version >= 1.2.3... yes
    checking for gtk-config... /usr/bin/gtk-config
    checking for GTK - version >= 1.2.3... yes
    checking for gdk-pixbuf-config... no
    checking for GDK_PIXBUF - version >= 0.8.0... no
    *** The gdk-pixbuf-config script installed by GDK_PIXBUF could not be found
    *** If GDK_PIXBUF was installed in PREFIX, make sure PREFIX/bin is in
    *** your path, or set the GDK_PIXBUF_CONFIG environment variable to the
    *** full path to gdk-pixbuf-config.
    configure: error: Test for gdk_pixbuf failed. See the file 'INSTALL' for help.
    jeanne@jeanne:~/tools/cdtool/xcdroast-0.98alpha15$ make
    make: *** ターゲットが指定されておらず、makefile も見つかりません。中止。
    
    
     wget ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.21/gdk-pixbuf-0.21.0.tar.gz
    --15:52:12--  ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/0.21/gdk-pixbuf-0.21.0.tar.gz
    
    gdk-pixbuf-0.21.0.tar.gz をインストールする。
    
    ldconfig を忘れずに
    
    (3)その後、xcdroast は、
       ./configure
        make
        make install
    これでインストールが完了したのですが、
    xcdroast を起動すると、次のようになりました。
    
    
    bash-2.05b# xcdroast
    
    ** WARNING **: No /usr/local/bin/cdrecord installed
    
    
    ** WARNING **: (Invalid lib-directory? Check -l option)
    
    cdrtools-2.00.3-i386-P1.tgz このパッケージからインストールされた
    cdrecord 関連は、/usr/bin にインストールされているので、
    xcdroast を起動すると、こんなエラーが出る。
    
    というわけで、
    (4)cdrtools-2.00.3.tar.gz をインストールすることにしました。
    
    一般的にはこのように make すると記述されていたのですが、
    cdrtools-2.00.3.tar.gz
    tar xvfz cdrtools-2.00.3.tar.gz 
    	cd cdrtools-2.00.3
    	make
    	make INS_BASE=/usr/local install
    
    linux の場合は、
    ----------------
    You will definitely need the shell script Gmake.linux to use gmake
    on a linux system.
    
    Install it as /usr/bin/Gmake with:
    
    cp Gmake.linux /usr/bin/Gmake
    
    Then compile the system by calling:
    
    /usr/bin/Gmake
    or ./Gmake.linux
    ----------------
    上記のように行って、
    cdrtools-2.00.3 のディレクトリで、
    # cp Gmake.linux /usr/bin/Gmake
    $  ./Gmake.linux
    # make INS_BASE=/usr/local install
    
    注:cdrtools-2.00.3 のインストールについては、INSTALL と README さらに、
    README.linux をよく読むこと!
    さらに、./DEFAULTS も見ること!
    インストール先も設定したい時は、
    make INS_BASE=/usr/local install
    これで十分![plamo:23744] を参照。
    
    
    これで、ともあれ root で xcdroast を起動して、xcdroast の設定画面から、
    CD の設定、一般ユーザからも使えるように、などいくつか設定しました。
    
    
    追加:
    環境的に、そもそもが SCSI 仕様のマシンなので、
    scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
            
            aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
    これに SCSI の CD-ROM がすでに1つついていますから、
    MITSUMI の CD/RW は2つ目の CD-ROM になります。
    
    それが scsi にエミュレーションされて認識されないといけないので、
    demesg 見ながら、ちょっと疑ってました。
    
    カーネルは 2.6.2 です。
    
     ATA/ATAPI/MFM/RLL support  ---> 
    < >     SCSI emulation support   
    
    これが m になっていて、それでいいと思っていたのですが、
    ここにチェックを入れて組込みにしてみました。
    (/etc/modules.conf の記述がちゃんと効いてないのかな)
    
    すると、
    
      Vendor: TOSHIBA   Model: CD-ROM XM-6201TA  Rev: 1037
      Type:   CD-ROM                             ANSI SCSI revision: 02
    
    scsi1 : SCSI host adapter emulation for IDE ATAPI devices
      Vendor: MITSUMI   Model: CR-48X8TE         Rev: 1.0B
      Type:   CD-ROM       
    
    (こちら本来scsi CD-ROM)
    Uniform CD-ROM driver Revision: 3.20
    Attached scsi CD-ROM sr0 at scsi0, channel 0, id 3, lun 0 
    
    (これが MITSUMI の CD-ROM)
    sr1: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
    Attached scsi CD-ROM sr1 at scsi1, channel 0, id 0, lun 0
    
    ということで、
    xcdroast を起動して再度 CD-ROM の検出をして、これでほんとに OK 
    
    もう少し検討が必要。。。。
    ここから先は
    インストール & 種々設定あれこれ
    
    参考に
    xcdroast(使いかた)
    
    (plamo のような) iso イメージの書き込み方
    
    xcdroast
    
    FAQ for X-CD-Roast0.98alpha15
    ------------------------
    17. Uh...I feel stupid but how to write downloaded ISO-images?
    
    If you downloaded an ISO-image (e.g. a linux distribution) you have to copy that big file (extension should be .iso) first to an image-directory of X-CD-Roast. You specify these directories in Setup at the "HD Settings" tab. These are the places where X-CD-Roast will look for audio (.wav) or data tracks.
    Now you enter the "Create CD" menu and you will see your image-file displayed nicely in the "Image-Information" window. Go to "Write Tracks" -> click on "Layout tracks" tab, add your image-file, click on "Accept track layout" and finally a click at "Write tracks" will write that image perfectly to your CD-R/RW. 
    ------------------------
    
    音楽ファイルを xcdroast で焼く
    (検索する時は 「mid mp3 変換」などをキーワードに)
    mp3 ---> wav に変換する。
    mpg123 -w myfile.wav myfile.mp3
    
    mid ファイルを wav に変換するには、
    MIDIからMP3への変換 - timidityとlameを使う
    
    midファイル ----> wav に変換
    timidity -Ow test.mid
    
    


    bookview
    bookview の設定
    
    以下のものをインストール
    bookview-3.2-i386-P1.tgz 
    ndtpd-3.1.5-i386-P1.tgz
    ついでに、
    eb-4.0-i386-P1.tgz 
    
    plamo4.01_1 では、
    実行ファイルや設定ファイルなどのパスが変更になっているので注意
    
    ちなみに、
    plamo3.1 では
    /usr/local/share/eb/appendix
    
    plamo4.01_1 では、
    /usr/share/eb/appendix
    ここに、appendix ファイル を置く。
    
    appendix ファイル は次のものを使用
    genius-1.0.tar.gz  kojien2-2.0.tar.gz  readers-2.2.tar.gz
    chujiten-2.3.tar.gz  kojien-2.3.tar.gz  kojien4-2.2.tar.gz
    
    
    /usr/local/etc/ndtpd.conf --> plamo3.1
    
    plamo4.01_1 では、
    サンプルファイルは以下の場所
    /usr/etc/ndtpd.conf.sample
    cp /usr/etc/ndtpd.conf.sample /usr/etc/ndtpd.conf
    
    ndtpd
    /usr/sbin/ndtpd
    
    
    ndtp を起動する。
    # /usr/sbin/ndtpd 
    
    ndtpd.conf に関して
    辞書などの指定が大文字になっているとだめでした。
    bash-3.00# cd /usr/sbin
    bash-3.00# ./ndtpcheck
    ./ndtpcheck: /usr/etc/ndtpd.conf:64: the book name contains invalid character: CHUJITEN
    ./ndtpcheck: configuration failure
    bash-3.00# ./ndtpcheck
    ./ndtpcheck: /usr/etc/ndtpd.conf:64: the book name contains invalid character: CHUJITEN
    ./ndtpcheck: configuration failure
    
    そして、なにげなくwork-path を変更したらホスト接続を拒否されたので、
    これは注意。ndtpd がある場所を指定するわけではないことに注意。
    あくまでも作業ディレクトリ。
    work-path に注意
    ### Path to a working directory.
    ### Please create the directory and make it be writable for the server
    ### processes before executing the server.
    ### (default: /usr/var/ndtpd)
    work-path		/usr/var/ndtpd
    #work-path               /usr/sbin/ndtpd
    
    というわけで、plamo4.01_1 の/usr/etc/ndtpd.conf は次のようになりました。
    ホストは penguin マシン。
    ######################################################################
    # Configuration file for NDTPD and ebHTTPD.
    # (Copy this file to `ndtpd.conf', and edit it.)
    ######################################################################
    
    ### Port number `ndtpd' binds.
    ### (default: ndtp)
    #ndtp-port		ndtp
    
    ### Port number `ebhttpd' binds.
    ### (default: http)
    # http-port		http
    
    ### Owner of the server process.
    ### (default: none)
    ##user			ndtpuser
    user                    root
    
    ### Group of the server process.
    ### (default: none)
    ##group			ndtpgrp
    group                    root
    
    ### How many clients can be connected to the server at the same time.
    ### (default: 1)
    # max-clients		1
    
    ### Which hosts can or cannot connect to the server.
    ### (default: none)
    hosts			127.0.0.1
    #hosts			::1
    #hosts			!?
    hosts			penguin
    hosts                   penguin.minerva.com
    
    ### Timeout seconds until the server disconnects an idle connection.
    ### (default: 900)
    # timeout		900
    
    ### Path to a working directory.
    ### Please create the directory and make it be writable for the server
    ### processes before executing the server.
    ### (default: /usr/var/ndtpd)
    work-path		/usr/var/ndtpd
    #work-path               /usr/sbin/ndtpd
    
    ### How many hit entries the server tries to find at a search.
    ### (default: 50)
    # max-hits		50
    
    ### The maximum size of text the server may send as a response to
    ### a client.
    ### (default: 32768)
    # max-text-size		32768
    
    ### Syslog facility
    ### (default: daemon)
    syslog-facility		local0
    
    ###
    ### Book entry
    ###
    begin book
             name                chujiten 
             title               研究社 英和・和英中辞典 
             path                /application/dict2/
             appendix-path	 /usr/share/eb/appendix/chujiten-2.3
             max-clients         2 
             hosts               127.0.0.1
             hosts               penguin.minerva.com
          alias-eiwa          chujiten
          alias-waei          chujiten
         end 
    
    begin book
             name                genius
             title               ジーニアス英和辞典
             path                /application/dict2/genius
             appendix-path	/usr/share/eb/appendix/genius-1.0
             max-clients         2 
             hosts               127.0.0.1
             hosts               penguin.minerva.com
         end 
    
    begin book
             name                readers
             title               研究社 リーダーズ英和辞典
             path               /application/dict2/readers
             appendix-path	    /usr/share/eb/appendix/readers2-2.0
             max-clients         2 
             hosts               127.0.0.1
             hosts               penguin.minerva.com
             end
    
    begin book
             name                 koujien
             title               広辞苑 第四版 電子ブック版
             path                /application/dict2/koujien
             appendix-path	/usr/share/eb/appendix/kojien4-2.2
             max-clients         2 
             hosts               127.0.0.1
             hosts               penguin.minerva.com
    end
    
    ### Add a book group directive (lines between `begin book' and `end'),
    ### if you want to read another CD-ROM book.  A book group directive
    ### is required for each book.
    
    


    「Plamo Linux へようこそ!!」のメール
    plamo4.0_1 をインストールして、最初に mew を起動した時に、なぜか、
    「Plamo Linux へようこそ!!」のメールを受け取ることができなかった。
    
    そのメールはそのまま /var/spool/mail に残ったままになり、
    配送されてない?
    -rw-------    1 jeanne   users       60582  9月 28日  16:10 jeanne
    -rw-rw----    1 root     mail         7111 10月 23日 1998年 root
    -rw-rw----    1 root     root         7111 10月 23日 1998年 root.new
    
    しかし、kyoto-inet のメールボックスから受け取ったメールはちゃんと配送さ
    れているというちょっと目不思議な現象(実は不思議じゃないのだけれど)を
    面倒なので、そのままにしていました。
    でも、やっぱり plamo をインストールして mew を開いた時に最初に受け取るは
    ずのメールが受け取れないって、どうも気になります。
    
    原因のひとつはいたって簡単なことなのですが、私が手回しよく最初に mew を開く前に
     ~/.mew.el を私用に設定してしまったというあたりにあるようですが。
    
     .mew.el の最初にこんな記述があります。
    
    ;;; POPなどを利用する場合は,
    ;;; 以下の設定を無効にし,
    ;;(setq mew-mail-domain (getenv "HOSTNAME"))
    ;;(setq mew-mailbox-type 'mbox)
    ;;(setq mew-mbox-command "mewinc")
    ;;; ドメイン等を以下で設定してください.
    
    POP を利用することがわかってますから、私は最初にこの部分を無効にしました。
    デフォルトの .mew.el はここが有効になっています。
    その他の部分を書き換える前に、手回しよくこの部分を無効して、最初に mew
    を開いた時から POP を利用可能にしてしまうことで、/var/spool/mail に入っ
    てくるメールが配送されないことになってしまう。
    
    さて、
    POP を使ってメッセージを受信する場合
    メッセージの受信にローカルのメールボックスを利用したい場合
    この2つは同時には成り立たないのかしら?
    
    回答---- やっぱりいろいろ方法があります。
    [plamo:23867][plamo:23869]を参照しましょう。
    
    [plamo:23867]
    mew-config-alist に 両方のケースを書いておく。
    summary mode での C や draft mode での C-c C-o で切替えて使う。
    たとえば、
    ("local"
    	 ("user" . "jeanne")
    	 ("mail-domain" . "penguin")
    	 ("name" . "Chie Nakatani")
    
    [plamo:23869]を参考にして、
    incm -m /var/spool/mail/xxxx -i /root/Mail/inbox
    
    
    
    プラスα
    複数のメールサーバからメールを受け取りたい時
    
    (setq mew-config-alist
               '(("home"
                  ("inbox-folder"   . "+inbox")
                  ("pop-server"     . "mbox.kyoto-inet.or.jp"))
                 ("internet"
                  ("pop-user" . "chie@inter.net")
                  ("pop-server" . "pop.inter.net"))
                 ("plamo"
                  ("pop-user" . "jeanne")
                  ("pop-server"     . "plamo.linet.gr.jp."))))
    
    このようにしておいて、Shift-C を入力すると、
    Input/Output case value (default): 
    と聞いてくるので、inter.net に届いているメールを受信したい時は、
    internet と入力すると、internet に切り替わります。
    パスワードは記憶してないと!
    
    mew-info をもっと活用しよう!!
    
    


    このファイルの先頭に戻る


    I enjoy Linux
    Linux 関連ページの目次にもどる。


    back to Home Page(English)

    ホームページに戻る(日本語)