回首页

后一页
前一页
如何在 Linux 下安装及使用 CD-ROM :安装
姓名:Jeff Tranter,
Email:jeff_tranter@pobo
地址 :
转摘 : /






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


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

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

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 的启动磁片, 你可以:


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

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

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


支援 CD-ROM 或其它硬体
升级至更新的核心版本
缩小核心, 节省记忆体资源.

有关建立核心的详情请见 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 的文件获得更多资讯.

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

4.3.1. 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 的机种了.

4.3.2. 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 这档案取得进一步资讯.

4.3.3. 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), 包含了许多此驱动程式的常见问题.

4.3.4. 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 档案

4.3.5. 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 以取得更多资讯.

4.3.6. 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 档案

4.3.7. 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 档

4.3.8. 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 档

4.3.9. 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 档.

4.3.10. 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 档案

4.3.11. 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档以得到最新资讯.

4.3.12. 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 核心介面).

4.3.13. 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 的指示去做却还有问题, 有一些地方可以先确认一下. 这里由简单到复杂一条条列出来. 如果问题刚好出现在某步骤, 先解决这问题再进行下一步.

4.6.1. 第一步: 确定你用你自己编译的核心启动系统
你可以检查核心中的时戳, 看看是不是有包含支援 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)? 用软碟开机的话, 做了一片新开机片, 并用它开机了吗?

4.6.2. 第二步: 确定需要的核心驱动程式有被编译进去
你可藉由观察 /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
...


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

4.6.3. 第三步: 起动时, 核心有侦测你的机器吗?
当核心起动时, 确定你的 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 下还没有驱动程式. 你可以看一下文後的参考资料表, 试著求一点帮助.

4.6.4. 第四步: 你 能 从 机 器 上 读 出 资 料 吗?
试著从 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 下试试看, 确认是不是这状况.

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

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

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

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

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


% dmesg
SBPCD: sbpcd_open: no disk in drive


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

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

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

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

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

4.6.7. 要是一切都没用呢?
如果你还有问题, 这里有一些最後的建议, 你可以试试:


小心地重读这份 HOWTO 文件
读文後列出的参考文件, 特别是相关的核心原始码的 README 档.
在 comp.os.linux 或其它 USENET 新闻组贴帖子, 问问题.
送一个问题到 Linux 通信论坛
用最新版的 Linux 核心
向店家求救
找你的 CD-ROM 厂商
寄封信给相关驱动程式的作者
寄信给我(作者)
叫出 emacs, 打入``ESC-x'',``doctor'' (:-)

后一页
前一页

回首页