despre compartiment
Aici puteti gasi articole in romana despre instalarea, configurarea si administrarea unor servicii precum si a intregului sistem.
login
articole
06.03.04 21:33Linux cd-rw packet write
Ultima modificare: 07.03.04 14:27
Odata cu aparitia cd - writerelor a aparut posibilitatea de a inscriptiona cd -uri.

Iar odata cu aparitia cd urilor rw, a aparut si posibilitatea de a le reinscrie.
Tehnologia clasica de inscriptionare a cd-urilor este ineficienta.
Mai intai trebuie creata o imagine iso , datele de pe cd nu pot fi updatate operativ, in cel mai bun caz se pot scrie in cateva sesiuni.
Inscrierea clasica - prin crearea unei imagini avea aceasta restrictie din cauza ca laserul writerului nu avea voie sa fie oprit in
timpul unei inscriptionari.
In prezent exista tehnologia DirectCD - ( packet write) care permite lucrul cu un cdrw-disk ca cu o discheta simpla, de dimensiuni mari, avand UDF - Universal Disk Format ca file system .
Ca orice file system, UDF nu este lipsit nici el de neajunsuri - unul din ele fiind faptul ca poate folosi pentru scriere nu mai mult de 550-590 Mb.

Articolul dat descrie instalarea si configurarea sistemului pentru lucrul cu UDF pe un sistem cu kernel 2.4.
In 2.6 acest lucru s-ar putea face fara aplicarea oricaror patch-uri.
Mai multa informatie despre packet write puteti gasi la adresa:
http://cvs.linuxfromscratch.org/index.cgi/hints/Attic/cdrw-hint.txt?rev=1.3
Patch-ul http://w1.894.telia.com/~u89404340/patches/packet/2.4/packet-2.4.23.patch.bz2
adauga posibilitatea de a scrie pe file system UDF.
[root@C10 root]# cd /usr/src/
[root@C10 src]# tar -xzvf linux-2.4.25.tar.bz2
[root@C10 src]# ln -sf linux-2.4.25 linux
[root@C10 src]# cd linux
[root@C10 src]# wget http://w1.894.telia.com/~u89404340/patches/packet/2.4/packet-2.4.23.patch.bz2
[root@C10 src]# bzip2 -d packet-2.4.23.patch.bz2
[root@C10 src]# patch -p1 < packet-2.4.23.patch
Puteti trece acest pas - luand kernelul gata patchuit ( inafara de pktcddvd contine si grsecurity, patch-o-matic, suport de quota pe reiserfs,
precum si alte patchuri care vin sa creasca performanta reiserfs) de aici .
Dupa aceste manipulatii executati standardele make mrproper , make menuconfig Dupa aplicarea acestui patch, va vor apare urmatoarele optiuni in kernel
(la momentul scrierii articolului - kernel 2.4.25, patch-ul s-a incadrat perfect in kernel)

In sectiunea "File systems" selectati urmatoarele:
UDF files systems support (read only)
UDF write support (DANGEROUS)

center

In sectiunea "Block devices" selectati:
Packet writing on CD/DVD media
center

Daca ati selectat aceasta optiune ca modul , dupa make modules modules_install veti obtine modului pktcdvd.o , va trebui sa
adaugati in /etc/modules.conf urmatoare linie: alias block-major-97 pktcdvd
Acum puteti compila kernelul - make dep, make bzImage modules modules_install, redactati fisierul boot-loaderului
( /etc/lilo.conf sau /etc/grub.conf), rescrieti MBR-ul si reboot.
Dupa bootare,
[root@C10 linux]# cat /var/log/syslog|grep UDF
/var/log/dmesg pe RedHat, sau dmesg|grep UDF - aveti urmatoarele:
Feb 26 01:12:33 C10 kernel: UDF-fs: No partition found (1)

Urmeaza instalaea udftools .
Pe http://sourceforge.net/projects/linux-udf gasiti ultima versiune
[root@C10 linux]# cd /usr/src
[root@C10 src]# tar -xzvf udftools-1.0.0b2.tar.gz
[root@C10 src]# cd udftools-1.0.0b2
[root@C10 udftools-1.0.0b2]# ./configure --prefix=/usr && make && make install
Packet gata pentru Slackware 9.1 - aici.
Daca nu folositi devfs, e nevoie sa creati fisierele dispozitivelor ("device"-urile block).
[root@C10 udftools-1.0.0b2]# mknod /dev/pktcdvd0 b 97 0
Daca doriti ca alt utilizatori sa poata accesa cdrw in mod packet write, executati
[root@C10 udftools-1.0.0b2]# chmod 666 /dev/pktcdvd*
Introduceti un cd rewritable in cd-writer si pregatiti cd - ul pentru utilizare.
Comanda
[root@C10 udftools-1.0.0b2]# cdrwtool -d /dev/sr0 -q
va formata noul disk (putei avea pe sistem, in loc de sr0 - hda,hdb, etc, in cazul meu am sr0, fiindca am incarcat modulul
ide-scsi, pentru a emula scsi pe un ide device, sau /dev/cdrom, depinde de setarile sistemului).
[root@C10 udftools-1.0.0b2]# cdrwtool -d /dev/sr0 -q
using device /dev/sr0
1905KB internal buffer
setting write speed to 12x
Settings for /dev/sr0:
Fixed packets, size 32
Mode-2 disc
I''''''''m going to do a quick setup of /dev/sr0. The disc is going to be blanked and formatted with one big track. All data on the device will be lost!! Press CTRL-C to cancel now.
ENTER to continue.

Initiating quick disc blank
Disc capacity is 275744 blocks (551488KB/538MB)
Formatting track
start=0, blocks=16, type=RESERVED
start=16, blocks=3, type=VRS
start=19, blocks=237, type=USPACE
start=256, blocks=1, type=ANCHOR
start=257, blocks=31, type=USPACE
start=288, blocks=32, type=PVDS
start=320, blocks=32, type=LVID
start=352, blocks=32, type=STABLE
start=384, blocks=1024, type=SSPACE
start=1408, blocks=274048, type=PSPACE
start=275456, blocks=31, type=USPACE
start=275487, blocks=1, type=ANCHOR
start=275488, blocks=160, type=USPACE
start=275648, blocks=32, type=STABLE
start=275680, blocks=32, type=RVDS
start=275712, blocks=31, type=USPACE
start=275743, blocks=1, type=ANCHOR
Writing UDF structures to disc
Quick setup complete!

Comanda
[root@C10 udftools-1.0.0b2]# pktsetup /dev/pktcdvd0 /dev/sr0
asociaza packet write driverul cu cd-rw ul vostru.
(puteti vedea rezultatul prin comanda dmesg|tail -1)
"pktcdvd: writer sr0 sucessfully registered"
Acest lucru se pierde dupa reboot, asa ca e nevoie sa introduceti aceasta comanda la sfarsitul scripturilor de initiere
(de exemplu in /etc/rc.d/rc.local)
Cream directorul in care vom mounta cdrw-ul.
[root@C10 udftools-1.0.0b2]# mkdir /mnt/cdrw
(sau orice alt director, mie imi pare mai comod asa).
Adaugati in /etc/fstab linia/dev/pktcdvd0 /mnt/cdrw udf rw,noauto,noatime,user 0 0
/dev/pktcdvd0 - dispozitivul utilizat
/mnt/cdrw - punct de mountare
udf - file system-ul
rw,noauto,noatime,user - mountat read-write,nu fa fi mountat automat la bootare, nu pastreaza timpul de acces la fisiere.
Nu e nevoie sa stergeti linia ce definea cd-rom ul, deoarece puteti folosi ambele, pe rand.
La fel, puteti folosi supermount . (nu lucrez cu el, deoarece unii specialisti il considera o gaura in securitate).
Mountati acum cdrw-ul, prin comanda
[root@C10 udftools-1.0.0b2]# mount /mnt/cdrw
[root@C10 udftools-1.0.0b2]# ls -l /mnt/cdrw
total 0
drwxr-xr-x 2 root root 40 Feb 26 01:45 lost+found
Sa verificam viteza cu care are loc copierea pe cd-rw.
Cream un fisier de 100 Mb.
[root@C10 udftools-1.0.0b2]# cd /tmp
[root@C10 tmp]# dd if=/dev/zero of=testfile bs=1024 count=102400
[root@C10 tmp]# time cp testfile /mnt/cdrw
real 0m41.836s
user 0m0.040s
sys 0m2.470s
Nu e rau.
Dupa ce ati terminat lucrul cu cdrw,
[root@C10 tmp]# umount /mnt/cdrw.
Autor: GRisha
Comentarii: 0

Adauga Comentariu:
Nume:
E-mail:
Cometariu:
 
counter
Informatia de pe site este prezentata "AS IS" si nimeni NU garanteaza veridicitatea sa
Hosting si intretinerea site-ului - REMSYS © 2003-2007