Používání disků Iomega ZIP pod OS Linux "ZIPKA" POD LINUXEM Používání výměnných disků (disket) ZIP v interních i externích mechanikách pod operačním systémem Linux není problém. Leč pár drobných nedostatků se přece jen najde, zvláště při speciálních požadavcích na práci s disketou. Už jádro po čerstvé instalaci systému, které není nijak upravované, umožňuje "zipku" používat. Pro interní ATAPI ZIP platí to, že jej lze připojit jako každý jiný disk hd-x. Používá totiž ovladač pro IDE floppy. Jediným problémem bývá "namountování" správné partition. ZIP disketa je totiž už od výrobce přerozdělena s jedinou partition číslo čtyři - jak vyplynulo z diskusí na toto téma v linuxové konferenci linux@linux.cz, s velkou pravděpodobností jde o kompatibilitu s Mac OS. Zipku je tedy nutné připojit takto: mount -t auto /dev/hdc4 /zip parametr auto zaručí připojení diskety podle souborových systémů definovaných v /etc /filesystems; /dev/hdc4 označuje čtvrtou partitions disku připojeného na IDE řadiči jako secondary master; /zip označuje adresář, kam se má ZIP připojit. Jiná situace nastane v případě, když je disketa přeformátovaná a používá jinou partition. V takových situacích, kdy se disketa odmítá přimontovat, je dobré si ji nejprve prohlédnout příkazem fdisk -l /dev/hdc a zjistit, jakým způsobem je formátovaná. Doporučuji však ponechat původní formátování od výrobce i souborový systém FAT16 - to zaručí, aby disketa byla čitelná i pod jinými operačními systémy. Pokud by měla být ZIP disketa přeci jen zformátovaná se souborovým systémem ext2 používaným Linuxem, dalo by se to provést těmito příkazy: mke2fs /dev/hdc4 vytvoří souborový systém ext2 ve čtvrté partition tune2fs -r 0 /dev/hdc4 nastaví počet bloků vyhrazených pro root na nulu - jiný počet má význam jen u pevných disků. Takto naformátovaná disketa bude ovšem čitelná jen pod OS Linux. Externí Iomega ZIP mechanika připojovaná přes paralelní port má zpravidla i v neupravovaném jádře připravený modul pro zavádění, ale je potřeba jej uvést v /etc/modules.conf alias scsi_hostadapter ppa #pro starsi typy alias scsi_hostadapter imm #pro novejsi typy alias block-major-8 sd Samozřejmě se použije jen jeden z uvedených typů modulu. Novější mechaniky mají na kabelu napsáno "Autodetect", případně nesou označení ZIP Plus. Předpokladem je také zprovozněný modul pro přístup na paralelní port. Pro jistotu tedy uvádím zápis v /etc/modules.conf: alias parport_lowlevel parport_pc Paralelní port se navíc vyplatí v BIOS nastavit do režimu EPP, protože tento režim umí na rozdíl od driverů pro Windows využívat ovladače pro Linux, a zipka pak bude až čtyřikrát rychlejší. Mechanika ZIP se potom hlásí jako zařízení /dev/sda a čtvrtá partition se montuje příkazem mount -t vfat /dev/sda4 /zip Pro plnohodnotnou práci s mechanikou je vhodné používat nástroje, které dodává firma Iomega pro systémy Windows. Samozřejmě i pro Linux existují jejich obdoby, například nástroj ziptool (http://freshmeat.net/search.php3?query=ziptool), který pracuje v příkazovém řádku. Umí disketu ZIP vysunout, zamknout s heslem i bez něj, odemknout a zkontrolovat aktuální stav. Tento nástroj však umí pracovat pouze s externími jednotkami. Pokud jde o interní ATAPI Iomega ZIP mechaniku, je potřeba ji emulovat jako SCSI, což lze provést úpravou jádra - buď přímo editací souboru /usr/src/linux/.config a následným překompilováním jádra, nebo spuštěním příkazu make menuconfig (make xconfig v X win): V sekci "Block devices" musí být volba CONFIG_BLK_DEV_IDESCSI=y V sekci "SCSI support" musí být volba CONFIG_SCSI=y V sekci "SCSI support type (disk)" musí být volba CONFIG_BLK_DEV_SD=y Jádro se s takto upravenými parametry překompiluje. Pro jádra do verze 2.2.14 je třeba ještě upravit konfiguraci lila v /etc/lilo.conf. Do řádku "image=" se pod ostatní parametry připíše ještě append="hdc=ide-scsi" (Pozor, hdc je zde jen jako příklad. Ve skutečnosti se musí zapsat tak, aby to odpovídalo skutečnému připojení mechaniky! Tedy zde může být i hdd nebo hdb). Celý zápis potom vypadá takto: image=/boot/vmlinuz label=linux read-only root=/dev/hda6 append="hdc=ide-scsi" Příkazem lilo se zavaděč instaluje s novými parametry. Znovu ale podotýkám, že u jádra 2.2.16, které momentálně používám, není už taková úprava v lilo.conf nutná (ovšem naprosto shodný postup se dá uplatnit pro emulaci IDE rozhraní vypalovací mechaniky CDRW, a tam je naopak úprava lilo.conf nezbytná). Dalším bodem bude úprava souboru /etc/fstab. Protože mám v /dev udělanou linku zip na zařízení sda4, což je nyní označení emulované ATAPI ZIP mechaniky, používám zápisu /dev/zip i v /etc/fstab. To může vypadat například takto: /dev/hda6 / ext2 defaults 1 1 /dev/hda5 /boot ext2 defaults 1 2 /dev/hda7 /home ext2 defaults 1 2 /dev/hda1 /Windows1 vfat noexec,codepage=852,posix,iocharset=iso8859-2,quiet,umask=000 0 0 /dev/hda2 /datasklad vfat noexec,codepage=852,posix,iocharset=iso8859-2,quiet,umask=000 0 0 /dev/zip /IomegaZIP auto noexec,noauto,user,owner,rw 0 0 /dev/cdrom /cdrom iso9660 user,nosuid,noauto,ro 0 0 /dev/hda8 swap swap defaults 0 0 /dev/fd0 /disketa auto user,rw,owner,noauto 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 Nyní bude po rebootování disk ATAPI ZIP zpřístupněn jako zařízení /dev/sda4 (sda), což je vidět i ve výpisu při startu: scsi0 : SCSI host adapter emulation for IDE ATAPI devices scsi : 1 host. Vendor: IOMEGA Model: ZIP 100 Rev: 23.D Type: Direct-Access ANSI SCSI revision: 00 Detected scsi removable disk sda at scsi0, channel 0, id 0, lun 0 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB] sda: Write Protect is off Partition check: sda: sda4 Totéž lze ověřit i příkazem dmesg z konzoly. ZIP disketa je jako celek bez ohledu na partitions systémem Linux považována za zařízení /dev/sda. Toho využívá například nástroj ziptool. Jde o utilitu k obsluze disket ZIP s vlastnostmi podobnými těm, které Iomega dodává pro Windows. Syntaxe příkazů je následující: ziptool -e /dev/sda vysune disketu ziptool -s /dev/sda zobrazí stav ochrany diskety ziptool -ro /dev/sda nastaví disketu jen pro čtení (zamčení) ziptool -rp /dev/sda nastaví disketu jen pro čtení, navíc s ochranou heslem (zamčení s heslem) ziptool -rw /dev/sda nastaví disketu pro čtení i zápis (odemčení) Těchto příkazů jsem využil ve skriptu uživatelského menu Midnight Commanderu, které u mne vypadá takto: A Připojit CDROM mount -t iso9660 /dev/cdrom /cdrom B Odpojit CDROM umount /dev/cdrom eject /dev/cdrom C Připojit disketu mount -t auto /dev/fd0 /disketa D Odpojit disketu umount /dev/fd0 E Připojit ZIP mount /dev/zip F Odpojit ZIP umount /dev/zip eject /dev/zip G Znovu nastartovat systém shutdown -r now H Skončit shutdown -h now I Zamknout zipku umount /dev/sda ziptool -ro /dev/sda J Zamknout zipku s heslem umount /dev/sda ziptool -rp /dev/sda K Odemknout zipku umount /dev/sda ziptool -rw /dev/sda Pokud by přesto byla zipka formátovaná s jedinou partitions, bylo by vhodné upravit zápis v /etc/fstab takto: /dev/zip /zip auto noauto,noexec,owner,user,rw 0 0 /dev/zipdos /zipdos auto noauto,noexec,owner,user,rw 0 0 kde linka zip v /dev ukazuje na zařízení /dev/sda1 a linka zipdos na zařízení /dev/sda4. V kořenu jsou pak vytvořeny dva adresáře pro přimontování /zip a /zipdos. Pro méně komplikací a přenositelnost ZIP diskety se však přimlouvám za zachování jejího původního formátování. Pro grafické prostředí X Window používám nástroj lomega (ano, skutečně "el"omega - příčinou je zřejmě registrovaná známka iomega), z dalších existuje například ještě gtkzip. Ten se mi však nepodařilo ze zdrojových souborů přeložit, takže jej nemám odzkoušený. Josef Vogeltanz Zpracováno s použitím ZIP Drive miniHOWTO a archivu konference linux@linux.cz Odkazy na použité programové vybavení: http://freshmeat.net/search.php3?query=ziptool http://freshmeat.net/search.php3?query=Iomega http://space.tin.it/musica/ctagliaf http://home.netvigator.com/~sallymak/gtkzip 5/01: -ZIP (Au.J. Vogeltanz - 2 TS., 1790 Kč) Strana: 3 3/4