Next Previous Contents

4. 安装

在 Linux 下安装 CD-ROM 包含了以下步骤:

  1. 安装硬体
  2. 设置及重建 Linux 核心
  3. 建立设备档及设定启动参数
  4. 重新启动 Linux 核心
  5. 挂上媒体(片子)

下几节将会详细列出该有的步骤.

4.1 安装硬体

按照厂商的说明书指示去安装硬体, 或请厂商帮你装. 详细情形会因你使用的介面及内接 或外接而有所不同. 对 Linux 来说, 并没有特别的安装要求. 你也许要设定机器或介面 卡上的跳线(jumper)以使之正常工作; 有些核心驱动程式有 README 档教你如何做.

就如同档案ide-cd中所描述的, ATAPI CD-ROM 在做排线上唯一的一台机器时, 应调成 'single' 或 'master', 不要调 'slave'. (虽然最新的核心已不是很必要这样 做了.)

4.2 设置及建立核心

当开始从 CD-ROM 安装 Linux 时你应该早就有一片 boot 或者 boot兼root 磁片. 如果可能的话, 你可以选有支援你的 CD-ROM 的 boot 磁片. 如果你找不到支援你的 CD-ROM 的启动磁片, 你可以:

  1. 从网路安装
  2. 启动DOS, 将 Linux 档案装在你的硬碟上
  3. 启动DOS, 一片一片地制作开机安装片
  4. 找个可以帮你做支援你 CD-ROM 的启动磁片的人

Linux Installation HOWTO 中对安装 Linux 有更详细的步骤. 如果你是买Linux CD-ROM, 经常也会有一些安装指示 (在 CD 盒的小封面底, 或在 CD 的档案里).

Linux 刚安装好时, 多数人基於以下原因, 会重新编译核心:

有关建立核心的详情请见 Kernel HOWTO 我只针对和 CD-ROM 有关的稍微提一下.

很明显的, 你在 make config 时, 需要加入对你的 CD-ROM 的支援.

如果你有 ATAPI 的机种, 你对下面问题应回答yes

Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]

对 SCSI 机种, 回答以下问题'y':

SCSI support (CONFIG_SCSI) [Y/n/m/?]
SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]

当然也要加入对你用的SCSI卡的支援, 如这行提示:

Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [Y/n/m/?]

对专属介面 CD-ROM, 使用相对应的驱动程式. 你可以用上一章列的表得知你用的光碟机 该用那种驱动程式.

基本上所有 CD-ROM 碟片都用 ISO-9660 档案系统, 所以你也必须引入它:

ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]

虽说对 CD-ROM 运作不是必要的, 如果你有 Linux 支援的音效卡, 你也许会想在核心起 动它, 以便将来使用. Sound HOWTO 将是一个很好的参考.

然後你应该照正常的步骤去编译及安装核心. 在你建造设备档及照下一节设定启动参数 前, 不要急著用新造的核心开机!

ISO-9660 档案系统及几乎所有 CD-ROM 驱动程式都可被做成可载入模组. 这样子一些核 心驱动程式就不必重开机即可载入及去除. 我建议你先不要做成模组. 可在(核心中)模组 的文件及 Kernel HOWTO 中找到使用模组的方法.

如果列在这里的机器并没有被你的核心支援, 八成需要更新核心...

你也可能要自己抓核心之外的修补档, 这通常牵涉到修补核心. 当然, Kernel HOWTO 也解释了如何做.

注意新版的核心有个功能表式的设置程式, 可用 make menuconfig 做, 或是 X11 式的设 置程式(用 make xconfig). 三种方法都提供线上求助.

(译注: 1.3.xx 版以上才有 menuconfig; xconfig 好像较早就有)

4.3 建立设备档及设定起动时参数

核心使用特别的档案来辨识该用那个驱动程式. 如果你用的是一个发行的 Linux 套件, 安装後你也许已经有必需的设备档了. 例如说, 在 Slackware Linux 下, 有个选单型安 装程式, 它包含了 CD-ROM 安装. 多数系统也有 /dev/MAKEDEV 这个 叙述档(script). 如果你不用这些方法, 你可用像以下的手动的方法做. 即使你用了 ``较自动'' 的装法, 仍然建议你再确认一下, 以确保它们的正确性.

你可以用指出你机器型式的 shell 命令建立设备档. 这应该可用 root这个身份完成. 注意有些 Linux 套件用的名称可能不太一样.

另外也建议你建立一个符号连结, 这会好记一点. 例如说, 对一台 IDE 介面的机器来说 , 可以如下般建立:

% ln -s /dev/hdd /dev/cdrom

如果你想放唱片, 你就要设定档案模式(不是符号连结档, 是真正的设备档!), 使其它人 也可读取.

% chmod 666 /dev/hdd
% ls -l /dev/hdd
brw-rw-rw-   1 root     disk      22,  64 Feb  4  1995 /dev/hdd

起动 Linux 时, 驱动程式要确定该设备是否存在, 这通常是靠自动侦测. 多数驱动程式 会侦测好几个位址, 但因配备不同. 可能的设备冲突. 及硬体限制, 有时需要手动给予这 些资讯. 多数驱动程式支援从核心的命令列取得这些资讯. 这可以手动输入, 或加在你的 开机载入程式里. 例如说, 你用 LILO 当开机载入程式的话, 你可以在 /etc/lilo.conf 用 append 命令:

append = "sbpcd=0x230,SoundBlaster"

请看 LILO 的文件获得更多资讯.

下一节我讨论每一种驱动程式, 它的设备档, 启动参数, 及它们的具备的能力. 你也许 只想看和你的机器有关的部份.

Sbpcd 驱动程式

                  作者 : Eberhard Moenkeberg (emoenke@gwdg.de)
      支援多次烧录碟片?: 是 (但并非所有机种皆可)
          支援多台机器?: 是
      可做成可载入模组?: 可
        可读取数位音轨?: 可 (只有CR-562, CR-563及CD-200)
            能自动侦测?: 能
                 设备档: /dev/sbpcd, 主编号25
                 设定档: sbpcd.h
         核心设定的问题: Matsushita/Panasonic CDROM support?
             请另外阅读: ide-cd

sbpcd=<io-address>,<interface-type>

第一个参数是 I/O 基底位址(如0x230). interface-type 可以是 ``SoundBlaster'' , ``LaserMate'' 或 ``SPEA'' ,请看 sbpcd.h 中的提示. 要关闭 此驱动程式, 用 sbpcd=0.

可照下面建立设备档:

% mknod /dev/sbpcd b 25 0

一片卡最大可以装到四台, 後三台的次编号分别由一到三. 如果你的界面卡更多, 可建 立主编号 26,27,28. 最多可有 4 片卡, 也就是 16 台 CD-ROM 可用, 对一般使用者应 该够了 :-).

请看 sbpcd 档案以获得更多关於此驱动程式的资讯.

如果你最近才买, 不要假设接声霸卡的就应该用这驱动程式. 现在 Creative Labs 卖的几乎都是 EIDE/ATAPI 的机种了.

Sonycdu535 驱动程式

                  作者 : Ken Pizzini (ken@halcyon.com)
      支援多次烧录碟片?: 否
          支援多台机器?: 否
      可做成可载入模组?: 是
        可读取数位音轨?: 不可
            能自动侦测?: 不能
                 设备档: /dev/sonycd535, 主编号 24
                 设定档: sonycd535.h
         核心设定的问题: Sony CDU535 CDROM support?
             请另外阅读: sonycd535

这个驱动程式的命令列是这样的:

sonycd535=<io-address>

io-address 是基底位址(如 0x320). 不然你也可以写在 sonycd535.h 里编译.

设备档这样建立:

% mknod /dev/sonycd535 b 24 0

有些 Linux 套件用 /dev/sonycd 这个档. 旧版核心给它主编号 21, 确定一下你的设备 档是正确的.

这个驱动程式原本只是修补, 不过现在已是标准核心的一部份了. 请参考 sonycd535 这 档案取得进一步资讯.

Cdu31a 驱动程式

                  作者 : Corey Minyard (minyard@-rch.cirr.com)
      支援多次烧录碟片?: 是
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 可
            能自动侦测?: 不能
                 设备档: /dev/cdu31a, 主编号 15
                 设定档: cdu31a.h
         核心设定的问题: Sony CDU31A/CDU33A CDROM support?
             请另外阅读: cdu31a

这个驱动程式的命令列是这样的:

cdu31a=<io-address>,<interrupt>,PAS

第一个参数是 I/O 基底位址(如 0x340). 第二个是中断号码(0 代表不用中断, 用轮 询), 第三个参数只有在连接 Pro Audio Spectrum 16 音效卡时要加, 固定是PAS.

如果是作成模组, 命令列格式则有些不一样. 用 modprobe 或 insmod 命令时, 是以以下 形式载入:

cdu31a_port=<io-address> cdu31a_irq=<interrupt>

io-address 是必要的, 而 interrupt 则可有可无.

设备档这样建立:

% mknod /dev/cdu31a b 15 0

详细资讯请参见 cdu31a 档案.

这个驱动程式也有个资讯网站台, 可在 http://www.infinet.com/~zureal/cdu31a.html 找到. 作者是 Jeffrey Oxenreider ( zureal@infinet.com), 包含了 许多此驱动程式的常见问题.

Aztcd 驱动程式

                  作者 : Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
      支援多次烧录碟片?: 是
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 不能
                 设备档: /dev/aztcd0, 主编号 29
                 设定档: aztcd.h
         核心设定的问题: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
             请另外阅读: aztcd

核心命令列像这样:

aztcd=<io-address>

唯一的参数是 I/O 基底位址(如 0x340)

设备档如下建立:

% mknod /dev/aztcd0 b 29 0

注意这个驱动程式仅供 CDA268-01A 用. 其他机型如 CDA268-03I 及 CDA269-031SE 等不 是专属介面, 应该用 IDECD (ATAPI) 驱动程式.

详细资讯请参考 aztcd 档案

Gscd 驱动程式

                  作者 : Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
      支援多次烧录碟片?: 否
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 不能
                 设备档: /dev/gscd0, 主编号 16
                 设定档: gscd.h
         核心设定的问题: Goldstar R420 CDROM support?
             请另外阅读: gscd

核心命令列如下:

gscd=<io-address>

它用 I/O 基底位址作为其参数.(如0x340)

设备档可照下例建:

% mknod /dev/gscd0 b 16 0

详细资讯请参考 gscd 档案及 http://linux.rz.fh-hannover.de/~raupach 以取得更多资讯.

Mcd 驱动程式

                  作者 : Martin  (martin@bdsi.com)
      支援多次烧录碟片?: 否
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 不能
                 设备档: /dev/mcd, 主编号 23
                 设定档: mcd.h
         核心设定的问题: Standard Mitsumi CDROM support?
             请另外阅读: mcd

这是旧版的 Mitsumi 机器驱动程式, 出来很久了. 也许你想用新的 mcdx 驱动程式, 它提供更多功能, 但也许没这麽稳.

允许的核心命令列如下:

mcd=<io-address>,<irq>

参数分别是介面卡的 I/O 基底位址(如 0x340)及 IRQ 要求号码.

设备档如下建立:

% mknod /dev/mcd b 23 0

详情请参阅 mcd 档案

Mcdx 驱动程式

                  作者 : Heiko Schlittermann
      支援多次烧录碟片?: 是
          支援多台机器?: 是
      可做成可载入模组?: 可
        可读取数位音轨?: 不可(硬体不支援)
            能自动侦测?: 不能
                 设备档: /dev/mcdx0, 主编号 20
                 设定档: mcdx.h
         核心设定的问题: Experimental Mitsumi support?
             请另外阅读: mcdx

这是新的实验性 Mitsumi 驱动程式. 旧的 mcd 可能仍然比较稳, 且仍然存在.

可接受的核心命令列:

mcdx=<io-address>,<irq>

参数分别是介面卡 I/O 基底位址(如 0x340)及 IRQ 要求号码.

设备档照下面方法建:

% mknod /dev/mcdx0 b 20 0

如果你最近买 Mitsumi 机器, 不要假设它应该用这驱动程式; 现在 Mitsumi 也只做 EIDE/ATAPI 机种了, 应该用 idecd 驱动程式.

详细资讯见 mcdx 档

Cm206 驱动程式

作者 : David A. van Leeuwen (david@tm.tno.) 支援多次烧录碟片?: 是 支援多台机器?: 否 可做成可载入模组?: 可 可读取数位音轨?: 不可 能自动侦测?: 能 设备档: /dev/cm206cd, 主编号 32 设定档: cm206.h 核心设定的问题: Philips/LMS CM206 CDROM support? 请另外阅读: cm206

核心命令列像下面:

cm206=<io-address>,<interrupt>

第一个是基底位址(如 0x340), 第二个是中断号码.

照下面方法造设备档:

% mknod /dev/cm206cd b 32 0

更详细的资讯请见 cm206 档

Optcd 驱动程式

                  作者 : Leo Spiekman (spiekman@dutette.et.tudelft.nl)
      支援多次烧录碟片?: 是
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 不能
                 设备档: /dev/optcd0, 主编号 17
                 设定档: optcd.h
         核心设定的问题: Experimental Optics Storage ... CDROM support?
             请另外阅读: optcd

它接受下面的核心命令列:

optcd=<io-address>

参数是介面卡 I/O 基底位址.

设备档建立法:

% mknod /dev/optcd0 b 17 0

详细资讯见 optcd 档.

Sjcd 驱动程式

                  作者 : Vadim V. Model (vadim@rbrf.msk.su)
      支援多次烧录碟片?: 否
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 不能
                 设备档: /dev/sjcd, 主编号 18
                 设定档: sjcd.h
         核心设定的问题: Experimental Sanyo H94A CDROM support?
             请另外阅读: sjcd

核心命令列像下面这行:

sjcd=<io-address>,<interrupt>,<dma>

指出基底位址, 中断, 及DMA直接记忆体存取通道号码. (如 sjcd=0x340,10,5)

设备档以下面方法做:

% mknod /dev/sjcd b 18 0

详情见 sjcd 档案

Bpcd 驱动程式

                  作者 : Grant R. Guenther (grant@torque.net)
      支援多次烧录碟片?: 不明
          支援多台机器?: 否
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 能
                 设备档: /dev/bpcd, 主编号 41
                 设定档: bpcd.h
         核心设定的问题: MicroSolutions backpack CDROM support?
             请另外阅读: bpcd

这驱动程式的核心命令列如下:

bpcd=<io-address>

参数是使用的基底位址(如 bpcd=0x3bc)

设备档的建造法:

# mknod /dev/bpcd b 41 0

这个驱动程式已包含於2.1版的核心原始程式中. 请看bpcd档以得到最新资讯.

SCSI CD-ROM 驱动程式

                  作者 : David Giller
      支援多次烧录碟片?: 是 (受限於机器)
          支援多台机器?: 是
      可做成可载入模组?: 可
        可读取数位音轨?: 不可
            能自动侦测?: 能
                 设备档: /dev/scd0, 主编号 11
                 设定档: cdrom.h
         核心设定的问题: SCSI CDROM support?
             请另外阅读: 无

对每一种不同的 SCSI 卡而言, 用的命令列参数不一样, 请参考 SCSI HOWTO.

可以接多台机器(至多接到 SCSI bus 能接的上限). 设备档主编号是 11, 次编号由 0 起 算:

% mknod /dev/scd0 b 11 0
% mknod /dev/scd1 b 11 1

(译注: 在核心里叫做 /dev/sr0, /dev/sr1, 等, 但其实它们就是/dev/scdX)

此驱动程式本身不支援读取数位音轨功能, 然而有些 SCSI CD-ROM 有这能力, 可用 cdda2wav 程式达成(它使用通用 SCSI 核心介面).

IDECD 驱动程式

                  作者 : Scott Snyder (snyder@fnald0.fnal.gov)
      支援多次烧录碟片?: 是
          支援多台机器?: 是
      可做成可载入模组?: 不可
        可读取数位音轨?: 可 (在硬体支援的机种上)
            能自动侦测?: 能
                 设备档: /dev/hd{a,b,c,d}, 主编号 22
                 设定档: cdrom.h
         核心设定的问题: Include support for IDE/ATAPI CDROMs?
             请另外阅读: ide-cd

这是 ATAPI CD-ROM 驱动程式. 它支援下面的命令列格式:

hdx=cyls,heads,sects,wpcom,irq
  或
hdx=cdrom

这里的 hdx 可以是 {hda,hdb,hdc,hdd}, 或只有 hd, 表示下一台机器. 只有前三个参数 是必要的(cyls,heads,sects), 例如说, hdc=1050,32,64 hdd=cdrom

要让 IDE 驱动程式认识你的 CD-ROM 可能有点麻烦, 特别是你有超过二台设备或超过一 个 IDE 接头. 通常这需要由 LILO 送出正确的命令列参数. /usr/src/linux/Documentation/ide-cd这档案有详细介绍, 请仔细看.

最近的核心对多台 IDE 设备支援的更好了. 所以如果在旧核心上有问题, 升级也许能解 决.

有些 IDE 介面硬体有问题, 但核心可以处理. 这种情形你要送参数给核心以启动此功能. 细节请见核心内文件.

4.4 起动 Linux 核心

现在你可以用新核心启动了. 请注意看一下和以下的很像的讯息 ,它指出 CD-ROM 驱动程 式有没有发现你的 CD-ROM( 讯息会因你用的 CD-ROM 种类不同而有变化)

        hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive

如果讯息卷动得太快了, 应该也可以用 dmesg 或 tail /var/adm/messages 来查看.

如果没有找到该机器, 那就代表有问题出现了, 请看``问题与解决''一节.

4.5 挂上, 卸下, 及退出光碟片

若想挂上 CD-ROM, 把光碟片放进机器, 然後以 root 身份执行 mount 命令. (这里假设你已经如我们所建议的, 做了符号连结, 并且也有空的 /mnt/cdrom 目录)

% mount -t iso9660 -r /dev/cdrom /mnt/cdrom

现在你可以到 /mnt/cdrom 下去存取 CD 上的东西了.

你也许还想用其它的参数挂载 CD-ROM. 欲知详情, 见 man(8) 说明页.

你可以在 /etc/fstab 加进一行, 使 Linux 开机时就自动挂上 CD-ROM, 或给予一些挂载 时的参数. 请看 fstab(5) 说明页.

注意, 若想要听 CD 唱片, 那就不要挂上它.

要卸下 CD-ROM, 以 root 身份执行 umount 命令.

% umount /mnt/cdrom

只有在没人存取 CD-ROM 时(包括没人目前目录在 CD-ROM 时) 才可以卸下该片子. 卸下 後就可以退片了. 大多数机器都有退片钮, 不过也有一个软体退片程式 eject 可以靠命令就退出片子.

注意不要在碟片还在挂载中时退出片子( 这种状况因 CD-ROM 种类不同而可能或不可能 发生.). 有些 CD-ROM 驱动程式可以在卸下时自动退片, 而挂上时自动进片. (你可以重 新编译核心或用软体命令关闭这功能)

(译注 : 有些光碟机挂上时会把面板锁定, 就无法退片了, 当然不会不小心按到退片钮而 将片子退出)

也有可能在放了 CD 唱片後, 无法挂上 CD-ROM 片子了. 这时你要用 CD 播放程式送出 ``停 止'' 命令後再尝试挂上. 这问题只在 sbpcd 驱动程式出现过.

Stephen Tweedie ( sct@dcs.ed.ac.uk) 写了一个叫 Supermount 的程式提供了包括 CD-ROM 的可移动媒体的透明化挂载能力. 你可以在 ftp://sunsite.unc.edu/pub/linux/patches/diskdrives/找到.

4.6 问题与解决

如果你按照本 HOWTO 的指示去做却还有问题, 有一些地方可以先确认一下. 这里由简单 到复杂一条条列出来. 如果问题刚好出现在某步骤, 先解决这问题再进行下一步.

第一步: 确定你用你自己编译的核心启动系统

你可以检查核心中的时戳, 看看是不是有包含支援 CD-ROM 的版本. 你可以用 uname 这 个命令来检查:

% uname -a
Linux fizzbin 2.0.18 Fri Sep 6 10:10:54 EDT 1996 i586

或显示 /proc/version 档中的内容:

% cat /proc/version
Linux version 2.0.18 (root@fizzbin) (gcc version 2.7.2) Fri Sep 6 10:10:54 EDT 1996

如果这个时间戳记比你编译还早, 那你就是在用旧核心了. 你真的重开机过吗? 如果你 用 LILO, 是否忘记重装一次(一般执行/etc/lilo/install)? 用软碟开机的话, 做了一片 新开机片, 并用它开机了吗?

第二步: 确定需要的核心驱动程式有被编译进去

你可藉由观察 /proc/devices 来看编译进了什麽驱动程式:

% cat /proc/devices
Character devices:
 1 mem
 2 pty
 3 ttyp
 4 ttyS
 5 cua
 7 vcs

Block devices:
 3 ide0
22 ide1

首先看你的 CD-ROM 驱动程式. CD-ROM 都是区块设备. 在这里我们看到主编号 22 的 idecd 驱动程式存在著.

% cat /proc/filesystems
        ext2
        msdos
nodev   proc
        iso9660

你也可以藉由看 /proc/ioports 档来看使用了那些 I/O port:

howto % cat /proc/ioports
 ...
0230-0233 : sbpcd
 ...

如果有东西你记得有编译但却没显示, 那麽就是你设置核心时出了问题. 从再设置及重建 核心开始, 再重复安装核心的步骤.

第三步: 起动时, 核心有侦测你的机器吗?

当核心起动时, 确定你的 CD-ROM 被侦测到了. 应该在开机讯息里可以看到. 如果讯息卷 动太快, 看不到, 你可以用 dmesg 命令来叫回它:

% dmesg

或 者

% tail /var/adm/messages

如果开机没找到, 那一定某处有问题. 确定它开电源了, 并且连线也都接对了. 如果你 的机器有位址的跳线(如 SCSI ID 或 562B 的 ID), 确定它设在正确位置上(例如, 若是 只有一台则设 "drive 0") ATAPI CD-ROM 若是该 IDE 排线上唯一一台, 则必须设 "single" 或 "master", 不要设 "slave". 如果在 DOS 下很正常, 那你就可以相信硬体 是正常的了.

有些驱动程式用自动侦测, 有些不用, 而且自动侦测也不是完全可信的. 使用你的驱动 程式提供的核心命令列选项. 如果你不是很确定 I/O 位址或其它参数的话, 你可能要试 好几遍. LILO 可以被设成允许你起动时手动输入参数.

另一个可能就是你用错驱动程式了. 有些文件将专属介面写成 IDE, 使人们误以为它是 ATAPI 的机种.

还有一个可能是你的机器(或介面卡)是那种需要 DOS 驱动程式来驱动它的所谓 ``相 容型''. 这样的话, 你要先用 DOS 开机, 载入这个驱动程式, 再按 Control-Alt-Del 重起动 Linux.

如果本文件中没列出你的机器, 那可能在 Linux 下还没有驱动程式. 你可以看一下文後 的参考资料表, 试著求一点帮助.

第四步: 你 能 从 机 器 上 读 出 资 料 吗?

试著从 CD-ROM 读资料. 打入以下命令後, 应该可以看到 CD-ROM 的灯亮起来(如果有灯 的话), 而且也不会回报错误. 照你的驱动程式的设备档, 并确定放了一片 CD-ROM 片子; 按下 Control-C 离开.

dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out

如果成功, 那核心就能成功的和机器通讯, 你可以跳到下一步.

如果不能的话, 问题可能出在设备档. 确定在 /dev 下的设备档的主编号及次编号如前面 写的一样. 也检查一下它是否允许读取及写入权.

也有一点点可能是硬体问题. 可能的话, 在 DOS 下试试看, 确认是不是这状况.

第五步: 你 能 挂 上 片 子 吗?

如果你能读取但不能挂上, 首先确定一下核心有没有支援 ISO-9660 档案系统. 如前所 述, 看 /proc/filesystems 档.

注意一下, 请在挂上时用 ``-t iso9660'' 及 ``-r'' 选项. 还有在 CD-ROM 中放的是资料碟片, 不是唱片. 通常要以 root 身份执行挂上命令.

确定挂载点存在, 且是个空目录.

如果你想开机时自动挂载, 确定在 /etc/fstab 中有正确的一行.

如果你有跑 syslog, 那可能你看不见有些核心发出的讯息. 试试 dmesg 命令:

% dmesg
SBPCD: sbpcd_open: no disk in drive

错误也可能记录在 /var/adm 目录下的档案中, 全看你的系统怎麽设的.

消除听音乐时的问题

如果你的机器读 CD-ROM 时没问题, 但听唱片就有问题, 这里提供些解决之道.

你需要些可放唱片的软体. 有些程式可能和你的机器不相容. 试试其它的或重新编译它. 一个找软体的好地方在 ftp://sunsite.unc.edu/pub/linux/apps/sound/cds/

有些 CD-ROM 不支援放唱片. 检查 README 档或原始码看看是不是这情形.

检查一下声音是不是会从耳机孔出来. 如果可以, 那八成和你的音效卡有关. 使用混音程 式设定输入频道及音量. 确定你从 CD-ROM 接了条音源线到音效卡上. 也确认一下核心的 音效卡驱动程式存在及可用(请看 Sound HOWTO).

要是一切都没用呢?

如果你还有问题, 这里有一些最後的建议, 你可以试试:


Next Previous Contents