This is an old revision of the document!
Creación del pen drive usb
http://syn.theti.ca/2013/06/22/tutorial-wheezy-live-iso-hybrid-with-persistence-on-usb
Nos bajamos una imagen live con el entorno gráfico que queramos:
http://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
Instalamos paquetes necesarios:
# apt-get install parted mbr dosfstools p7zip syslinux
Creamos las particiones del usb.
sdc1 (fat32) -> datos (lo que sobre, en mi caso 80Gb) sdc2 (ext4) -> persistencia 16Gb sdc3 (fat32) -> sistema 16Gb
# parted
Cambiamos a sdc
(parted) select
New device? [/dev/sda]? /dev/sdc
Using /dev/sdc
(parted) mklabel msdos
Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes
(parted) mkpart primary fat32 1 -37940M
(parted) mkpart primary ext4 -37940M -18970M
(parted) mkpart primary fat32 -18970M -0
(parted) quit
Ahora formateamos las unidades
mkdosfs -nEXTRA /dev/sdc1
mkfs.ext4 -q -Lpersistence /dev/sdc2
mkdosfs -nLXDE /dev/sdc3
install-mbr /dev/sdc
syslinux -i /dev/sdc3
Descomprimimos la imagen en la tercera particion
$ cd /media/LXDE $ 7z x ~/debian-live-7.0.0-amd64-lxde-desktop.iso root@avtp67:/media/jose/LXDE# mv isolinux syslinux root@avtp67:/media/jose/LXDE# mv syslinux/isolinux.cfg syslinux/syslinux.cfg root@avtp67:/media/jose/LXDE# mv syslinux/isolinux.bin syslinux/syslinux.bin
Hacemos persistente. Cambiamos los parámetros de arranque del Kernel: Añadimos persistence en el arranque en el fichero /dev/sdc3/syslinux/live.cfg
$ sed -i 's/\(append boot=.*\)$/\1 persistence/' syslinux/live.cfg
label live-amd64 menu label ^Live (amd64) menu default linux /live/vmlinuz initrd /live/initrd.img append boot=live components quiet splash persistence label live-amd64-failsafe menu label ^Live (amd64 failsafe) linux /live/vmlinuz initrd /live/initrd.img append boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal persistence
En la segunda partición sdc2 (persistence) añadimos el fichero persistence.conf con el contenido:
/ union
$ cd /media/persistence $ echo "/ union" > persistence.conf
Docker
Docker no arranca porque quiere montar un sistema de ficheros aufs sobre aufs. Se para docker y se mueve la carpeta de docker de /var/lib a otro file system:
# df -h Filesystem Size Used Avail Use% Mounted on aufs 18G 3.0G 14G 18% / tmpfs 3.2G 9.2M 3.2G 1% /run /dev/sdb3 18G 1.2G 17G 7% /lib/live/mount/persistence/sdb3 /dev/loop0 1008M 1008M 0 100% /lib/live/mount/rootfs/filesystem.squashfs tmpfs 7.9G 0 7.9G 0% /lib/live/mount/overlay /dev/sdb2 18G 3.0G 14G 18% /lib/live/mount/persistence/sdb2 devtmpfs 10M 0 10M 0% /dev tmpfs 7.9G 80K 7.9G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup tmpfs 7.9G 240K 7.9G 1% /tmp tmpfs 1.6G 12K 1.6G 1% /run/user/1000 /dev/sdb1 25G 64K 25G 1% /media/user/EXTRA
Creamos enlace simbólico en otro filesystem
ln -s /lib/live/mount/persistence/sdb2/docker /var/lib