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'' (:-)