Tras implementar un sencillo (aunque potente) auditor de sistemas en una llave de 32 MB y un sistema de arranque dual Windows-Linux (uno y dos) en otra llave de mucha m?s capacidad, el list?n hab?a quedado bastante alto. El nuevo desaf?o ten?a que ser lo suficientemente atractivo como para superar lo anterior. ?Una distro Linux completa en una llave? No es mala idea… el problema es que nos sentemos ante un ordenador que ya est? corriendo su propio sistema operativo… En tal caso nuestra distro no nos servir?a de nada.No; el objetivo ha de ser a?n m?s ambicioso. A ver qu? os parece ?ste: metemos una distro Linux en una llave USB, de forma que podamos arrancar un PC desde ella sin tocar el disco duro de la m?quina. Vale, pero haremos algo m?s: podremos insertar nuestra llave en cualquier ordenador en funcionamiento (Windows o Linux) y ejecutar nuestra distro en una ventana dentro de ?l, todo ello sin necesidad de rearrancar, tocar el disco duro, instalar nada ni interrumpir en absoluto el sistema operativo de base. De este modo podremos llevar con nosotros nuestro propio PC, con su propio sistema operativo, sus aplicaciones y nuestros documentos. Seguro que coincidimos en que se trata un reto muy atractivo, que bien podemos considerar equivalente a llevar nuestro propio PC en el bolsillo.
Pero lo mejor de todo es que resulta mucho m?s f?cil de realizar de lo que parece…
Quiz?s lo m?s “complicado” puede resultar preparar una llave que ya hab?amos utilizado para dejarla lista para el nuevo proyecto. Aunque no se trata de algo espec?fico de este proyecto, voy a tratarlo brevemente a continuaci?n porque nos servir? para proyectos sucesivos.
Preparando tu llave USB
NOTA: Si tu llave est? limpia (formateada en FAT32 y lista para usar) puedes saltarte este paso.
Los pasos que siguen corresponden a mi distribuci?n Arch Linux, pero seguro que podr?n adaptarse con facilidad a cualquier otra. Tambi?n puede prepararse la llave desde un sistema Windows y sus usuarios sabr?n c?mo.
Por supuesto existen diferentes formas de preparar una llave usada para un nuevo proyecto. De hecho he utilizado varias antes de redactar esto (QTparted, por ejemplo), pero ninguna me ha resultado tan eficaz como la l?nea de comandos.
Comenzamos por conectar la llave a un puerto USB libre. Para identificarla, en un terminal tecleamos lo siguiente:
fdisk -l
As? podremos saber la denominaci?n en forma /dev/xxxx que Linux da a nuestra llave. En mi caso, es /dev/sdf, que habr?s de sustituir en los comandos que siguen por lo que t? obtengas con el comando anterior.
Utilizamos de nuevo fdisk para borrar las particiones existentes y reparticionar la llave:
fdisk /dev/sdf
No olvides sustituir /dev/sdf por el nombre que tenga tu llave en tu sistema. Si no sabes usar fdisk (o no te atreves) puedes realizar esta operaci?n en Windows: borrar las particiones y creas otra(s) a tu gusto, siempre que sean FAT32 (? vfat, en linux). El uso de fdisk en linux es en realidad sencillo y nada queda grabado hasta que pulses “w”. Con “p” ves las particiones, con “d” las borras, con “n” las creas, con “t” modificas su tipo, con “a” las vuelves activas, etc.
En mi caso, en una llave de 1 GB cre? una partici?n de 666 MB para el sistema, dejando el resto como eventual dep?sito de ficheros.
Bien; supongamos que la llave est? lista para usar.
Creamos un sistema de ficheros FAT32 en la partici?n antes creada (sdf1, en mi caso) con:
mkfs.vfat -F32 /dev/sdf1
Si es necesario podemos borrar cualquier rastro un eventual MBR anterior tecleando:
dd if=/dev/zero of=/dev/sdf bs=512 count=1
Una forma de instalar un nuevo MBR es la siguiente:
locate mbr.bin
Este comando te devuelve la ruta en que est? mbr.bin; en mi caso (Arch) devuelve:
/var/abs/extra/system/mksyslinux/mbr.bin
Tecleo ahora:
cat /var/abs/extra/system/mksyslinux/mbr.bin > /dev/sdf
Y ya tengo un nuevo MBR (Master Boot record).
Para hacer la llave arrancable:
syslinux -s /dev/sdf1
(insisto: cambia sdf1 por el nombre de tu partici?n).
Instalaci?n de QEMU-Puppy
Este paso resulta tan sencillo como descargar el fichero (133′5 MB), descomprimirlo y volcar todo su contenido (20 ficheros, 262′8 MB) en el directorio ra?z de la llave.
?Listo? Pues ahora mucha atenci?n, porque hay un paso que no se dice en ning?n sitio, pero sin el cual el sistema no llega a arrancar desde la llave. Tras mucho googlear encontr? la soluci?n que ahora te cuento (bueno, en parte, porque tambi?n tuve que modificarla). Consiste en editar el fichero syslinux.cfg de la llave. Su aspecto inicial es este:
#default vmlinuz root=/dev/ram0 initrd=initrd.gz PMEDIA=usbflash default vmlinuz root=/dev/ram0 initrd=initrd.gz append QPM=true
Ed?talo para que quede as?:
default vmlinuz root=/dev/ram0 initrd=initrd.gz PMEDIA=usbflash #default vmlinuz root=/dev/ram0 initrd=initrd.gz append QPM=true
Como ves, lo ?nico que hay que hacer es cambiar un comentario de sitio, pero es la diferencia entre que el sistema arranque o no.
Utilizando nuestro flamante “PC de bolsillo”
Aunque parezca mentira, todo est? listo para usar. Si ahora colocas tu llave en un puerto USB de un PC capaz de arrancar desde USB, en un par de minutos estar?s ante una distribuci?n Puppy Linux, con la que podr?s trabajar sin tocar el disco duro del PC.
Pero hab?amos prometido m?s. Quer?amos poder utilizar nuestro flamante sistema desde un PC ya funcionando, y adem?s sin importarnos que est? ejecutando Linux o Windows.
Aqu? es donde entra el componente QEMU. Tras insertar tu llave en un ordenador en funcionamiento, todo lo que hay que hacer es ir a la llave (que generalmente se montar? sola) y hacer doble click en puppy.sh (si el sistema subyacente ejecuta Linux) o en puppy.exe (si el sistema subyacente ejecuta Windows). M?s f?cil, imposible.
A continuaci?n te muestro unos pantallazos para que acabes de cre?rtelo…
1. Ejecuci?n sobre m?quina Linux



Ejecuci?n sobre m?quina Windows



Observaciones finales
Es necesario destacar que al ejecutar el sistema desde nuestra llave, tanto en Windows como en Linux podemos utilizar el sistema original de base sin m?s que pulsar las teclas Ctrl-Alt. Al hacerlo, el rat?n sale de la ventana de Puppy y opera con normalidad sobre el Linux o Windows de nuestro disco duro.
Tambi?n quiero resaltar otro punto interesante. El fichero que descargaste es completo, es decir, que no necesitas disponer de QEMU ni en el Windows ni en el Linux de base, con lo que la independencia de nuestra llave es total y absoluta.
Desde ahora podr?s sacar tu llave, introducirla en el ordenador de un amigo que vive en otra provincia y, bien arrancar tu distribuci?n desde USB a pantalla completa, o bien ejecutarla mediante un doble clic en una ventana, sin tocar el sistema de tu amigo ni su disco duro.
M?s informaci?n
En mi caso el proceso descrito ha funcionado a la perfecci?n, pero ya sabemos que cada ordenador es un mundo. Si surgen dificultades puedes comentarlas aqu?, pero tambi?n hay informaci?n detallada en la web de QEMU-Puppy (que puedes incluso descargar completa en un pdf).
Sobre la propia distribuci?n utilizada (Puppy Linux) puedes obtener much?sima informaci?n en su web o -sobre todo- en sus concurrid?simos foros.
Suerte y ya me contar?s.







Probado en una Kingston 512Mb con dos particiones (500+12) y funciona perfectamente en Linux
me he saltado los pasos de borrar el MBR y de restaurarlo
Gracias por la info
Un saludo