Uma das melhores aquisições em minhas viagens foi o HD externo de 160 GB da Iomega. Pequeno, leve e suportado pelo FreeBSD:


umass0: Iomega Iomega HDD USB2.0 Drive, rev 2.00/2.40, addr 2 
da0 at umass-sim0 bus 0 target 0 lun 0 
da0:  Fixed Direct Access SCSI-0 device 
da0: 40.000MB/s transfers 
da0: 152627MB (312581808 512 byte sectors: 255H 63S/T 19457C)

Ao formatar, decidi criar uma instalação de Ubuntu sobre o mesmo, utilizando uma partição (da0s1) como raiz, outra (da0s2) maior como home, uma para troca com usuários de windows (da0s6) e uma última com o que sobrou (da0s7), que ficou como "/mnt/ots".

Utilizando o fdisk-linux, disponível no ports, é possível criar e depois visualizar as partições.


musashi# fdisk-linux -l /dev/da0 

Disk /dev/da0: 160.0 GB, 160041885696 bytes 
255 heads, 63 sectors/track, 19457 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 

    Device Boot  Start     End     Blocks  Id System 
/dev/da0s1           1     608   4883728+  83 Linux 
/dev/da0s2         609   12766   97659135  83 Linux 
/dev/da0s3       12767   19457  53745457+   5 Extended 
/dev/da0s5       12767   12888    979933+  82 Linux swap 
/dev/da0s6       18242   19457   9767488+   b Win95 FAT32 
/dev/da0s7       12889   18241  42997941   83 Linux 
Partition table entries are not in disk order

Sendo que o tipo Ext3 (Journalling) é suportado pelo FreeBSD, nada melhor que o utilizar para guardar os dados, fazendo todo sincronismo de UFS para Ext3 e tendo um sistema backup, em Linux, disponível no HD externo.

Para fazer o mount/umount, criei um pequeno script, que segue abaixo, já que o sistema de automount não reconheçe perfeitamente os devices e respectivos pontos de montagem, fora o fato do mesmo alterar a posição de da0 para da1 ou qualquer outro da, dependendo de qual outro dispositivo estiver conectado.

mount_iomega.sh


 #! /bin/sh 
case $1 in
    -m) ;; 
    -u) ;; 
     *) echo "Use: $0 [-m|-u]" 
        echo " -m: mount disks " 
        echo " -u: umount disks " 
        exit 1 
        ;; 
esac 

echo "Finding Iomega" 
### Finding device 
umass=`dmesg | grep -i iomega | tail -1|awk -F":" '{print $1}'` 
umass_id=`echo $umass | sed 's/umass//'` 
device=`dmesg | grep "umass-sim$umass_id" | tail -1 |awk '{print $1}'` 

if [ ! $umass_id ] ; then 
    echo "Impossible to find Iomega device" 
    exit 1 
fi 

case $1 in 
    -m) echo "Checking partitions" 
        for id in 1 2 7 
            do 
            fsck.ext3 -y /dev/${device}s${id} 
        done 
        for id in 6 
            do 
            fsck_msdosfs -y /dev/${device}s${id} 
        done 
        echo "Mounting partitions" 
        mount | grep "/dev/${device}s1" > /dev/null 2>&1 
        if [ $? -ne 0 ]; then 
            mount_ext2fs /dev/${device}s1 /mnt/ext2
        fi 
        mount | grep "/dev/${device}s2" > /dev/null 2>&1 
        if [ $? -ne 0 ]; then 
            mount_ext2fs /dev/${device}s2 /mnt/ext2/home
        fi 
        mount | grep "/dev/${device}s7" > /dev/null 2>&1 
        if [ $? -ne 0 ]; then 
            mount_ext2fs /dev/${device}s7 /mnt/ext2/mnt/ots
        fi 
        mount | grep "/dev/${device}s6" > /dev/null 2>&1 
        if [ $? -ne 0 ]; then 
            mount_msdosfs -u 1000 -g 100 -o longnames -m 777 /dev/${device}s6 /mnt/msdos
        fi 
        ;; 

    -u) for dir in msdos ext2/mnt/ots ext2/home ext2 
            do 
            echo "Umounting: /mnt/$dir" 
            umount /mnt/$dir 
        done 
        ;; 
esac

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.