lunes, 30 de octubre de 2006

Montar varias imagenes de un dd como un solo device

Usando mapper y el loop, es posible montar una imagen realizada mediante 'dd' y dividida entre varios archivos...

how-to del pelon:

15:30 Pci: [root@Leviatan tmp]# ls -l root_fs_armeb.*
15:30 Pci: -rw-r--r-- 1 root root 100 Sep 12 15:27 root_fs_armeb.dmsetup
15:30 Pci: -rw-r--r-- 1 root root 41411584 Sep 12 13:17 root_fs_armeb.ext2
15:30 Pci: -rw-r--r-- 1 root root 20971520 Sep 12 13:18 root_fs_armeb.partaa
15:30 Pci: -rw-r--r-- 1 root root 20440064 Sep 12 13:18 root_fs_armeb.partab
15:30 Pci:
15:30 Pci: [root@Leviatan tmp]# losetup /dev/loop0 root_fs_armeb.partaa
15:30 Pci: [root@Leviatan tmp]# losetup /dev/loop1 root_fs_armeb.partab
15:30 Pci: [root@Leviatan tmp]# losetup /dev/loop1 root_fs_armeb.partab
15:30 Pci: [root@Leviatan tmp]# cat root_fs_armeb.dmsetup
15:30 Pci: # List of linear stripes (Pci: r0x++^2)
15:30 Pci: 0 40960 linear /dev/loop0 0
15:30 Pci: 40960 39922 linear /dev/loop1 0
15:31 Pci: [root@Leviatan tmp]# cat root_fs_armeb.dmsetup |dmsetup create test
15:31 Pci: [root@Leviatan tmp]# mount /dev/mapper/test /mnt
15:31 Pci: [root@Leviatan tmp]# ls /mnt

15:31 Pci: bin dev etc home lib linuxrc lost+found mnt opt php proc root sbin tmp usr var
15:34 Pci: solo una cosa..
15:34 Pci: tienes un limite inicial de 256 loop's
15:34 Pci: aunq por defecto son 16
15:35 Pci: tienes q cargar el modulo de loop con max_loop=256 (o X) para poder mapear los N 4gb-ficheros
15:41 dab: como has pillado los datos
15:41 dab: de los bloques
15:42 Pci: dab: tamaño_fichero/512
15:42 Pci: aunq cuidado con hacer $(du -B 512 fichero)
15:43 Pci: pq no da lo mismo q un $[$(ls -l fichero| sed -e 's/^\([0-9]*\) .*/\1/g')/512]
15:44 Pci: yo he puesto los tamaños a partir del size/512 que da el ls
15:44 Pci: si os da probs.. usad el q da el du -B512 y sino.. el del ls
15:44 Pci: me sigues?