CD-үүд нь тэдгээрийг ердийн дискнүүдээс ялгах хэд хэдэн боломжуудтай байдаг. Эхлээд хэрэглэгч CD дээр бичих боломжгүй байсан. Тэдгээр нь замуудын хооронд толгойг шилжүүлэхдээ сааталгүйгээр үргэлжлэн уншдагаар хийгджээ. Тэр үед байсан адил хэмжээтэй зөөвөрлөгчийг зөөхөөс тэдгээрийг систем хооронд зөөх нь хамаагүй хялбар байдаг.
CD-үүд нь замтай байдаг боловч энэ нь дискний физик хэсэг биш харин үргэлжлэн уншигдах өгөгдлийн хэсгийг хэлдэг. FreeBSD дээр CD үүсгэхдээ CD дээр замууд үүсгэх өгөгдлийн файлуудыг бэлдэж дараа нь замуудыг CD уруу бичнэ.
ISO 9660 файлын систем нь эдгээр ялгаануудтай ажиллахаар хийгдсэн. Энэ нь тэр үед нийтлэг байсан файлын системийн хязгааруудыг харамсалтай нь кодчилдог. Азаар энэ нь зөв бичигдсэн CD-үүдэд тэдгээр хязгааруудыг давж гарахыг зөвшөөрөх өргөтгөлөөр хангадаг бөгөөд тэдгээр өргөтгөлүүдийг дэмждэггүй системүүдтэй ажиллаж чадсан хэвээр байдаг.
sysutils/cdrtools портод ISO 9660 файлын системийг агуулах өгөгдлийн файлыг үүсгэдэг програм mkisofs(8) байдаг. Энэ нь төрөл бүрийн өргөтгөлүүдийг дэмждэг тохируулгуудтай бөгөөд доор тайлбарлагдсан болно.
CD шарахдаа ямар хэрэгслийг ашиглах нь таны CD шарагч ATAPI юу аль эсвэл өөр үү гэдгээс шалтгаална. ATAPI CD шарагчид нь үндсэн системийн burncd програмыг ашигладаг. SCSI болон USB CD шарагчид нь sysutils/cdrtools портын cdrecord-г ашиглах ёстой. Мөн ATAPI тоног төхөөрөмж дээр SCSI хөтчүүдийн хувьд ATAPI/CAM модул ашиглан cdrecord-г хэрэглэх боломжтой байдаг.
Хэрэв та график хэрэглэгчийн интерфэйстэй CD шарагч програм хангамжийг хүсэж байгаа бол X-CD-Roast эсвэл K3b-г үзээрэй. Эдгээр хэрэгслүүд нь багц хэлбэрээр эсвэл sysutils/xcdroast болон sysutils/k3b портуудад байдаг. X-CD-Roast болон K3b нь ATAPI тоног төхөөрөмж дээр ATAPI/CAM модулийг шаарддаг.
sysutils/cdrtools портын хэсэг mkisofs(8) програм нь UNIX®-ийн файлын системийн нэрийн талбар дахь сангийн модны дүрс болох ISO 9660 файлын системийг үүсгэдэг. Хамгийн хялбар хэрэглээ нь:
# mkisofs -o imagefile.iso /path/to/tree
Энэ тушаал нь /path/to/tree дахь модны хуулбар ISO 9660 файлын системийг агуулах imagefile.iso файлыг үүсгэх болно. Энэ процессод файлын нэрсийг ISO 9660 файлын системийн стандартын хязгаарлалтуудад багтах нэрсэд тааруулах бөгөөд ISO файлын системүүдэд байдаггүй нэрс бүхий файлуудыг оруулахгүй байх болно.
Тэдгээр хязгаарлалтуудыг давж гарах хэд хэдэн
тохируулгууд байдаг. Ялангуяа -R
тохируулга UNIX
системүүдэд нийтлэг байдаг Rock Ridge
өргөтгөлүүдийг идэвхжүүлдэг, -J
нь Microsoft системүүдэд хэрэглэгддэг Joilet
өргөтгөлүүдийг идэвхжүүлдэг бөгөөд -hfs
нь Mac OS®-д
хэрэглэгддэг HFS файлын системүүдийг үүсгэхэд
ашиглагддаг.
Зөвхөн FreeBSD системүүдэд ашиглагдах CD-үүдийн
хувьд -U
тохируулга бүх файлын
нэрийн хязгаарлалтуудыг хаахад ашиглагдаж
болно. -R
тохируулгатай
хэрэглэгдэх үед энэ нь таны эхэлсэн FreeBSD-ийн
модтой ижил файлын системийн дүрсийг үүсгэдэг,
гэхдээ энэ нь ISO 9660 стандартыг хэд хэдэн
замаар зөрчиж болох юм.
Ердийн хэрэглээний сүүлийн тохируулга нь -b
юм. Энэ нь ачаалагдах “El Torito”
CD-г үүсгэхэд хэрэглэгдэх ачаалагдах дүрсний
байрлалыг заахад ашиглагддаг. Энэ тохируулга нь
CD уруу бичигдэх модны дээд хэсгийн ачаалагдах
дүрс хүрэх замыг заах нэмэлт өгөгдлийг авдаг.
Анхдагчаар
mkisofs(8) нь
“floppy disk emulation буюу уян дискний эмуляц” гэж
нэрлэгддэг горимд ISO дүрсийг үүсгэдэг бөгөөд
ачаалагдах дүрсийг яг 1200, 1440, эсвэл 2880 KB
хэмжээтэй байна гэж тооцдог. FreeBSD түгээлтийн
дискнүүдэд хэрэглэгддэг ачаалагч дуудагч зэрэг
зарим ачаалагч дуудагчид нь эмуляц горимыг
ашигладаггүй; энэ тохиолдолд -no-emul-boot
тохируулгыг ашиглах
шаардлагатай. Тэгэхээр хэрэв /tmp/myboot нь ачаалагдах FreeBSD
системийг /tmp/myboot/boot/cdboot дэх
ачаалагдах дүрстэй цуг агуулж байвал та ISO 9660
файлын системийн дүрсийг /tmp/bootable.iso-д иймэрхүү маягаар
үүсгэж болох юм:
# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
Үүнийг хийснийхээ дараа хэрэв та цөмдөө md-г тохируулсан бол файлын системийг ингэж холбож болно:
# mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 # mount -t cd9660 /dev/md0 /mnt
Энэ үед та /mnt болон /tmp/myboot нь ижил болохыг шалгаж болно.
mkisofs(8)-ийн ажиллагааг нарийн тааруулахын тулд та түүний бусад олон тохируулгуудыг ашиглаж болно. Ялангуяа ISO 9660-ийн байрлал болон Joilet ба HFS дискнүүдийн үүсгэлтэд өөрчлөлтүүд хийж болно. Дэлгэрэнгүйг mkisofs(8)-ийн гарын авлагын хуудаснаас үзнэ үү.
Хэрэв танд ATAPI CD шарагч байгаа бол та ISO дүрсийг CD уруу шарахдаа burncd тушаалыг ашиглаж болно. burncd нь үндсэн системийн хэсэг бөгөөд /usr/sbin/burncd гэж суулгагдсан байдаг. Энэ нь цөөн тохируулгуудтай болохоор хэрэглэхэд их хялбар байдаг:
# burncd -f cddevice data imagefile.iso fixate
Дээрх тушаал нь imagefile.iso-н хуулбарыг cddevice уруу шарах болно. Анхдагч төхөөрөмж нь /dev/acd0 юм. Бичих хурд, шарсны дараа CD-г гаргах болон аудио өгөгдөл бичихийг заах тохируулгуудын талаар burncd(8)-с үзнэ үү.
Хэрэв танд ATAPI CD шарагч байхгүй бол та өөрийн CD-үүдийг шарахын тулд cdrecord-г ашиглах шаардлагатай. cdrecord нь үндсэн системд байдаггүй; та үүнийг sysutils/cdrtools дахь портоос эсвэл тохирох багцаас суулгах ёстой. Үндсэн системд хийгдсэн өөрчлөлт нь энэ програмын хоёртын хувилбарыг ажиллахгүй болгож, магадгүй “асуудалд (coaster)” хүргэж болох юм. Тийм болохоор та өөрийн системээ шинэчлэхдээ портоо бас шинэчлэх эсвэл хэрэв та -STABLE салбарыг дагаж байгаа бол портыг шинэ хувилбар гарахад нь шинэчлэх хэрэгтэй.
cdrecord нь олон тохируулгатай байдаг боловч үндсэн хэрэглээ нь burncd-с бүр илүү хялбар байдаг. ISO 9660 дүрсийг шарахдаа:
# cdrecord dev=device imagefile.iso
cdrecord-г хэрэглэхэд гардаг нэг заль
нь dev
тохируулгыг олох явдал
юм. Зөв тохиргоог олохын тулд cdrecord-ийн -scanbus
тугийг хэрэглэх хэрэгтэй бөгөөд энэ нь
иймэрхүү үр дүнд хүргэж болох юм:
# cdrecord -scanbus Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) *
Энэ нь жагсаалтан дахь төхөөрөмжүүдийн хувьд
тохирох dev
утгыг жагсаадаг.
Өөрийн CD шарагчийг олохын тулд dev
тохируулгын утгад гурван дугаарыг таслалаар
тусгаарлан хэрэглэнэ. Энэ тохиолдолд CRW
төхөөрөмж нь 1,5,0, байх бөгөөд тохирох оролт нь
dev=1,5,0
болно. Энэ утгыг заах
амархан аргууд байдаг; дэлгэрэнгүйг
cdrecord(1)-с
үзнэ үү. Мөн тэндээс аудио замуудыг бичих,
хурдыг хянах болон бусад зүйлүүдийн тухай
мэдээллийг үзэж болно.
Та аудио өгөгдлийг CD-ээс файлуудын цуваа болгон задалж дараа нь эдгээр файлуудыг хоосон CD дээр бичин аудио CD-г хувилж болно. Энэ процесс нь ATAPI болон SCSI хөтчүүдийн хувьд нэлээн өөр байдаг.
SCSI хөтчүүд
Аудиог cdda2wav ашиглан задлана.
% cdda2wav -vall -D2,0 -B -Owav
cdrecord ашиглан .wav файлуудыг бичнэ.
% cdrecord -v dev=2,0 -dao -useinfo *.wav
Хэсэг 19.6.4 хэсэгт тайлбарласны дагуу 2,0 гэж зөв заагдсан эсэхийг шалгаарай.
ATAPI хөтчүүд
Тэмдэглэл: ATAPI/CAM модулийн тусламжтай cdda2wav тушаал ATAPI хөтчүүд дээр ашиглагдаж болно. Энэ хэрэгсэл нь доор санал болгож байгаа аргыг бодвол ихэнх хэрэглэгчдийн хувьд ихэвчлэн илүүтэй сонголт байдаг (доргио засварлалт, төгсгөгчийн асуудал гэх мэт).
ATAPI CD драйвер нь зам бүрийг /dev/acddtnn маягаар болгодог бөгөөд d нь хөтчийн дугаар ба nn нь шаардлагатай бол урдаа 0 тавьж хоёр оронтой тоогоор бичигдсэн замын дугаар юм. Тэгэхээр эхний диск дээрх эхний зам нь /dev/acd0t01, хоёр дахь нь /dev/acd0t02, гурав дахь нь /dev/acd0t03 гэх мэтчилэн байна.
Тохирох файлууд /dev санд байгаа эсэхийг шалгаарай. Хэрэв оруулгууд байхгүй байгаа бол зөөвөрлөгчийг дахин үзэхээр системийг хүчлэх хэрэгтэй:
# dd if=/dev/acd0 of=/dev/null count=1
Зам бүрийг dd(1) ашиглан задална. Файлуудыг задлахдаа та тусгай блокийн хэмжээг бас ашиглах ёстой.
# dd if=/dev/acd0t01 of=track1.cdr bs=2352 # dd if=/dev/acd0t02 of=track2.cdr bs=2352 ...
Задалсан файлуудаа диск уруу burncd ашиглан шарна. Та эдгээрийг аудио файл гэж зааж өгөх хэрэгтэй бөгөөд burncd нь дуусахдаа дискийг бэхжүүлэх ёстой.
# burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate
Та өгөгдлийн CD-г mkisofs(8)-р үүсгэсэн дүрс файлтай ажиллагааны хувьд адилхан дүрс файл уруу хуулж болох бөгөөд та үүнийг ямар ч өгөгдлийн CD хувилахад ашиглаж болно. Энд өгөгдсөн жишээ нь таны CDROM төхөөрөмжийг acd0 гэж үзэх болно. Өөрийн зөв CDROM төхөөрөмжөөр солиорой.
# dd if=/dev/acd0 of=file.iso bs=2048
Одоо та нэгэнт дүрстэй болсон болохоор үүнийг CD уруу дээр тайлбарласны дагуу шарж болно.
Одоо та стандарт өгөгдлийн CDROM үүсгэсэн болохоор түүнийг холбож түүн дээрх өгөгдлийг уншихыг хүсэх байх. Анхдагчаар mount(8) нь файлын системийг ufs төрлийнх гэж үздэг. Хэрэв та доорх шиг оролдвол:
# mount /dev/cd0 /mnt
“Incorrect super block” гэж
гомдоллохыг та харах бөгөөд холболт
хийгдэхгүй байх болно. CDROM нь UFS
файлын систем биш, тэгэхээр ингэж холбохыг
оролдох нь амжилтгүй болох болно. Та mount(8)-д
файлын системийн төрөл нь ISO9660
гэж зааж өгөхөд л бүгд ажиллах болно. Та -t cd9660
тохируулгыг mount(8)-д өгч
үүнийг хийнэ. Жишээ нь хэрэв та CDROM төхөөрөмж
/dev/cd0-г /mnt-д
холбохыг хүсвэл дараах тушаалыг ажиллуулах
болно:
# mount -t cd9660 /dev/cd0 /mnt
Таны төхөөрөмжийн нэр (энэ жишээн дээр /dev/cd0) таны CDROM ямар интерфэйс
ашиглаж байгаагаас хамааран өөр байж болох юм.
Мөн -t cd9660
тохируулга нь ердөө л
mount_cd9660(8)-г
ажиллуулдаг. Дээрх жишээг ингэж богиносгож
болно:
# mount_cd9660 /dev/cd0 /mnt
Та ерөнхийдөө энэ аргаар ямар ч үйлдвэрлэгчийн
өгөгдлийн CDROM-уудыг ашиглаж болно. Гэхдээ
зарим нэг ISO 9660 өргөтгөлүүдтэй дискнүүд хачин
ажиллаж болох юм. Жишээ нь Joilet дискнүүд нь бүх
файлын нэрсийг хоёр байт Юникод тэмдэгтээр
хадгалдаг. FreeBSD цөм нь Юникодоор ярьдаггүй,
гэхдээ FreeBSD-ийн CD9660 драйвер Юникод
тэмдэгтүүдийг шууд хувиргаж чаддаг. Хэрэв
зарим нэг Англи бус тэмдэгтүүд асуултын тэмдэг
хэлбэрээр харагдвал та ашиглаж байгаа локал
тэмдэгтийн олонлогоо -C
тохируулгаар зааж өгөх хэрэгтэй. Дэлгэрэнгүй
мэдээллийг mount_cd9660(8)
гарын авлагын хуудаснаас лавлана уу.
Тэмдэглэл: Энэ тэмдэгтийн хувиргалтыг
-C
тохируулгын тусламжтай хийхийн тулд цөм cd9660_iconv.ko модулийг дуудсан байхыг шаардах болно. Энэ мөрийг loader.conf файлд нэмж үүнийг:cd9660_iconv_load="YES"гэж хийн машиныг дахин ачаалах буюу эсвэл модулийг kldload(8)-н тусламжтай дуудан хийж болох юм.
Хааяа таныг CDROM-г холбохыг оролдох үед “Device not configured” гэсэн алдаа гарч болох юм. Энэ нь ихэнхдээ CDROM хөтөч нь төхөөрөмжид диск байхгүй эсвэл хөтөч нь шугаманд (bus) харагдахгүй байна гэж үзэж байна гэсэн үг юм. CDROM хөтөч нь хоёр секундын дотор үүнийг мэддэг болохоор тэвчээртэй байгаарай.
Шугамын дахин тогтоолтод хариу өгөх хангалттай хугацаа байхгүйн улмаас заримдаа SCSI CDROM-ийг олохгүй байж болох юм. Хэрэв та SCSI CDROM-той бол та дараах тохируулгыг цөмийн тохиргоондоо нэмж өөрийн цөмийг дахин бүтээнэ үү.
options SCSI_DELAY=15000
Энэ нь таны SCSI шугамд ачаалах үедээ 15 секунд түр саатахыг хэлж өгөх бөгөөд ингэснээр шугамын дахин тогтоолтод таны CDROM хөтчөөр хариу өгүүлэхийн тулд бүх байж болох боломжийг түүнд өгч байна гэсэн үг юм.
Та ISO 9660 файлын системийг үүсгэлгүйгээр файлыг CD уруу шууд шарахаар сонгож болно. Зарим хүмүүс үүнийг нөөцлөх зорилгоор хийдэг. Энэ нь стандарт CD-г шарахаас илүү хурдан ажилладаг:
# burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate
Тийм CD-д шарагдсан өгөгдлийг авахын тулд та түүхий төхөөрөмжийн цэгээс өгөгдлийг унших ёстой:
# tar xzvf /dev/acd1
Та энэ дискийг ердийн CDROM-ийг холбодог шиг холбож чадахгүй. Ийм CDROM нь FreeBSD-ээс өөр ямар ч үйлдлийн систем дээр уншигдахгүй. Хэрэв та CD-гээ холбохыг эсвэл өөр үйлдлийн системтэй өгөгдлөө хуваалцах хүсэлтэй байгаа бол дээр тайлбарласны дагуу mkisofs(8)-г ашиглах ёстой.
Энэ драйвер нь ATAPI төхөөрөмжүүдэд (CD-ROM, CD-RW, DVD хөтчүүд гэх мэт...) SCSI дэд системээр хандах боломжийг олгох бөгөөд ингэснээр sysutils/cdrdao эсвэл cdrecord(1) зэрэг програмуудыг ашиглах боломжийг олгодог.
Энэ драйверыг ашиглахын тулд та дараах мөрийг /boot/loader.conf файл уруу нэмэх хэрэгтэй болно:
atapicam_load="YES"
тэгээд өөрийн машинаа дахин ачаална.
Тэмдэглэл: Хэрэв та өөрийн цөмдөө atapicam(4) дэмжлэгийг статикаар эмхэтгэхийг хүсвэл энэ мөрийг өөрийн цөмийн тохиргооны файлдаа нэмэх хэрэгтэй болно:
device atapicamМөн та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдийг бас нэмэх хэрэгтэй болно:
device ata device scbus device cd device passЭдгээр нь аль хэдийн байж байх ёстой. Дараа нь дахин бүтээгээд өөрийн цөмийг суулгаж машинаа дахин ачаалах хэрэгтэй.
Ачаалах процессийн үед таны шарагч иймэрхүү маягаар гарч ирэх ёстой:
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
Одоо хөтчид /dev/cd0 төхөрөөмжийн нэрийг ашиглан хандаж болох бөгөөд жишээ нь CD-ROM-г /mnt-д холбохдоо дараах тушаалыг бичих хэрэгтэй:
# mount -t cd9660 /dev/cd0 /mnt
root хэрэглэгчээр дараах тушаалыг ажиллуулж та шарагчийн SCSI хаягийг авч болно:
# camcontrol devlist <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
Тэгэхээр 1,0,0 нь cdrecord(1) болон бусад SCSI програмтай ашиглах SCSI хаяг болох юм.
ATAPI/CAM болон SCSI системийн талаар дэлгэрэнгүй мэдээллийг atapicam(4) болон cam(4) гарын авлагын хуудаснуудаас лавлана уу.
Өмнөх | Эхлэл | Дараах |
USB хадгалалтын төхөөрөмжүүд | Дээш | Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь |
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай
холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим
захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт
байвал <admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.