Introduction:
โดยทั่วไปแล้ว CDROM ที่ใช้จะเป็นแบบ EIDE นั่นคือ Linux จะมองเห็น CDROM
ตัวนั้น เหมือนเป็น Harddisk ตัวหนึ่ง แต่ว่าจะมีข้อแตกต่างตรงที่ CDROM จะมี
file system มาตรฐาน ของตัวเอง นั่นคือ ISO9660 ดังนั้นการ mount CDROM ก็ต้อง
มี kernel ที่ support file system แบบ ISO9660 ด้วย
Prerequirement:
1. CDROM แบบ EIDE โดยจะต่อเข้ากับ สายแพร์ ที่เชื่อมเข้ากับ Harddisk
ก็ได้ หรือว่า จะต่อสายแยก อีกเส้นก็ได้โดยมีข้อกำหนดดังนี้
Primary Master (ต่อกับสายแพร์อันแรก และ set jumper เป็นแบบ master ,
ไม่ค่อยเจอ) จะเป็น /dev/hda
Primary Slave (ต่อกับสายแพร์อันแรก และ set jumper เป็นแบบ slave) จะเป็น
/dev/hdb
Secondary Master (ต่อกับสายแพร์อันที่สอง และ set jumper เป็นแบบ master)
จะเป็น /dev/hdc
Secondary Slave (ต่อกับสายแพร์อันที่สอง และ set jumper เป็นแบบ slave)
จะเป็น /dev/hdd
ข้อสังเกตุคือ โดยทั่วไป CDROM จะสามารถ dectec master/slave ได้เอง แต่บางรุ่น
ก็ต้อง set jumper และมักจะถูก set ให้เป็น Primary Slave มาจาก ร้าน เนื่องจากประหยัดสายแพร์
แต่ว่า ทำให้ ระบบโดยรวมทำงานได้ช้าลง ดังนั้น จึงควร set CDROM ให้เป็น Secondary
master จะดีกว่า
2. Kernel ที่ Support ISO9660 file system สามารถตรวจสอบดูได้ว่า เครื่องที่ใช้อยู่
support หรือไม่โดยการ
#cat /proc/filesystems
ext2
minix
nodev proc
iso9660
vfat
จะเห็นว่า มี iso9660 อยู่ ดังนั้น เครื่องนี่จึง support ISO9660 file
system แต่ถ้าไม่มี ก็ลอง insert module เข้าไปโดย
#insmod isofs
ถ้าไม่มี error แสดงออกมา แสดงว่า insert สำเร็จแล้ว ถ้ามี ก็ต้อง make
kernel ใหม่
การ mount CDROM แบบชั่วคราว :
สมมุติว่า ต้องการ mount CDROM ที่เป็น Secondary Master (/dev/hdc) ไปยัง
Directory /cdrom สามารถทำได้โดย ใส่แผ่น CDROM เข้าไปในเครื่อง แล้วทำการพิมพ์คำสั่งดังนี้
# mount -t iso9660 /dev/hdc /cdrom
ก็จะสามารถ mount ได้ และเมื่อต้องการ unmount ก็ทำได้โดย
# umount /cdrom
แต่ว่า ในขณะนั้น จะต้องไม่มีการ access CDROM หรือว่า อยู่ใน directory
ภายใน CDROM นั่น
การ mount CDROM ทุกครั้งที่ Boot up system :
การทำให้ Linux mount CDROM ให้ทุกครั้งที่ boot ก็ทำได้โดยการเข้าไปแก้ไข
File rc script ซึ่ง โดยทั่วไปจะแก้ไข file /etc/rc.d/rc.local และถ้า kernel
ไม่ support ISO9660 file system ก็ต้อง insert module ก่อนทำการ mount ด้วย
ดังนี้
Kernel support ISO9660 file system อยู่แล้ว ทำได้โดยเพิ่มข้อความต่อไปนี้เข้าไปที่
/etc/rc.d/rc.local ในส่วนล่างของ file
/sbin/mount -t iso9660 /dev/hdc /mnt
ถ้า Kernel ไม่ support และใช้ kernel version 2.0.30 อยู่ ก็ทำได้โดย
/sbin/insmod /lib/modules/2.0.30/fs/isofs.o
/sbin/mount -t iso9660 /dev/hdc /mnt
ถ้าเป็น kernel version อื่น ก็ทำการแก้ไข หมายเลขให้ตรงกัน โดยสามารถดู
เลข version ได้โดย
# uname -a
Linux ds90 2.0.30 #13 Tue Dec 9 11:39:29 ICT 1997 i586 unknown
#
ข้อหน้าสังเกตุคือ ถ้าไม่มีแผ่น CDROM ในเครื่อง จะไม่สามารถ mount CDROM
นั่นได้ และถ้าไม่ unmount ก็ไม่สามารถ eject เอา CDROM ออกได้เช่นกัน