Explorando minidistribuciones Linux en pendrive que me funcionaron

+1
0
-1

Mi instalación de Puppy Linux en un pendrive de 2GB.

Con fdisk -l ubicamos el dispositivo usb, en mi caso /dev/sda; si se hubiera montado al conectarlo debemos desmontar todo.
Mi caso: /dev/sda identificación del dispositivo detectado con fdisk -l.
/dev/sda1 la partición activa, con formato; y /media/disk el punto de montaje del sda1.

* umount /dev/sda1
* fdisk /dev/sda
* comando d para borrar
* comando n para nueva partición
* comando p para partición primaria
* comando 1, puede haber 4 particiones primarias
* sigue determinar el sector inicial, damos enter y queda el predeterminado: 1
* damos enter otra vez y queda seleccionado el último sector, valor predeterminado, en mi caso el último sector: 1015
* comando t para determinar el tipo de sistema que tendrá la partición.
* comando e para que el sistema de archivos sea el FAT 16
* comando a para hacer activa la partición
* comando 1 la partición que será activa o "bootable"
* comando w para escribir los cambios

Desconectamos y reconectamos el pendrive y ejecutamos el siguiente código:

* mkfs.vfat -F 16 /dev/sda1 (parece una redundancia)

Montamos la imagen.iso de puppy o ponemos el cdrom y copiamos los archivos:

* isolinux.cfg
* initrd.gz
* vmlinuz
* pup_400.sfs
* zdrv_400.sfs

* cp /media/cdrom0/* (copiamos todo a) /media/disk
* rm /media/disk/boot.cat boot.msg isolinux.bin (se eliman esos tres archivos)
* mv /media/disk/isolinux.cfg /media/disk/syslinux.cfg (cambiamos el nombre)
* syslinux /dev/sda1 (instalamos syslinux, instalado previamente desde repositorios)

De esta manera reiniciamos con el pendrive sino el BIOS no lo detecta. Tecla Del o Supr para entrar al Setup. Como está el mío:

* Phoenix-AwardBios
* Advanced BIOS Features (enter)
* Boot Seq & Floppy Setup (enter)

1. First Boot Device USB-FDD
2. Second Boot Device USB-ZIP
3. Third Boot Device Hard Disk
4. Boot Other Device Enabled

* Hard Disk Boot Priority (enter)

1. Ch. 0 M.: Nombre del disco rígido
2. USB-HDD0: USB Flash Memo
3. Bootable Add-in Cards

La segunda opción aparece cuando se reinicia con el pendrive, la ponemos en primer lugar y listo F10 yes.


Mi instalación de DSL en pendrive 2GB "Dane-elec"
Ubicar el pendrive con

* # fdisk -l

El resultado para mi pendrive:
Disk /dev/sda: 2062 MB, 2062548992 bytes
64 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 3968 * 512 = 2031616 bytes
Disk identifier: 0x01a686cf
Hasta acá aparece cuando está formateado, la tabla siguiente es el resultado de particionar y dar un sistema de archivo a cada partición, todo hecho con fdisk.
Device Boot Start End Blocks Id System
/dev/sda2 82 1015 1853056 83 Linux
/dev/sda4 * 1 81 160673 e W95 FAT16 (LBA)

Partition table entries are not in disk order

Ejecutar fdisk para formatear, crear 2 particiones nuevas primarias, una del tamaño de la .iso o más grande, y la otra con el resto. Entonces la secuencia de comandos que yo hice fue así:

* # fdisk /dev/sda (enter)

Command (m for help): d (borra todas las particiones)

n (nueva partición)

p (partición primaria)

4 (se puede poner del 1 al 4)

1 (desde el primer sector)

+60M (me dió como 164mb, esto como que se fue de mi control)

t (para cambiar el tipo de partición a FAT o FAT32, etc.)

4 (la partición a cambiar el tipo)

e (tipo de sistema el FAT16)

a (para hacer activa "que bootee")

4 (la partición que será activa)

n (nueva partición)

p (primaria)

2 (quedaban tres posbilidades menos el 4, esta será de espacio libre)

(enter, ya que indica el sector siguiente al último sector de la partición anterior)

(enter, otra vez, ya que da como predeterminado el último sector del pendrive si no se introduce
ningún número)

p (print, para ver como va a quedar la estructura)

w (escribe los cambios)

Si se ejecuta # fdisk -l debe aparacer la estructura:

Device Boot Start End Blocks Id System
/dev/sda2 82 1015 1853056 83 Linux
/dev/sda4 * 1 81 160673 e W95 FAT16 (LBA)

Hasta este punto todo estuvo hecho sin montar el pendrive. Y lo siguiente con el pendrive montado.

Una redundancia si se ejecuta mkfs.vat -F 16 /dev/sda4 seguro sale un mensaje que la partición ya tiene un sistema de archivos dado o algo por el estilo. Pero yo lo hice igual.

A la partición libre /dev/sda2 se le puede dar formato ext2 o ext3

* #mke2fs /dev/sda2

También se puede que aplicar tune2fs para que la partición ext2 no sea chequeada automáticamente después de varios montajes.

* #tune2fs -c 0 /dev/sda2

Dando lo siguiente:

tune2fs 1.40.2 (12-Jul-2007)
Setting maximal mount count to -1

Lo siguiente es montar la .iso en el cdrom, yo tenía la iso en el Desktop, y copiar los archivos a la carpeta donde está monata la partición activa /dev/sda4, que en mi caso se monta en /media/disk

* # mount -o -loop /home/tuusuario/Desktop/nombredearchivo.iso /media/cdrom0
* # cp -vr /media/cdrom0/* /media/disk
* # mv /media/disk/isolinux/* /media/disk (movemos todo el contenido de isolinux a lo más arriba de la estructura del pendrive)
* # mv /media/disk/isolinux.cfg /media/disk/syslinux.cfg (cambiamos el nombre de isolinux.cfg a syslinux.cfg)
* # umount /dev/sda2 /dev/sda4

Si directamente abrimos el directorio /media/disk, encontraremos que isolinux.bin está ahí, yo lo eleminé.
El último paso fue hacer bootable el pendrive istalando syslinux, instaldo desde synaptic, recordar que hay que tener el pendrive desmontado:

* # syslinux /dev/sda4

En el BIOS hay que cambiar algunas opciones también dependiendo del BIOS, esta clase de instalación es como si fuera un usbHDD que sólo cambiando el orden de booteo no hace que mi BIOS lo detecte, pero hay otras opciones más como que se describen someramente en http://www.weethet.nl/english/hardware_bootfromusbstick.php.

Fuentes:
http://www.damnsmalllinux.org/wiki/index.php/Installing_to_a_USB_Flash_D...
http://linux.web.psi.ch/livecd/usbdisk.html
http://www.weethet.nl/english/hardware_bootfromusbstick.php

Comentarios

Imagen de anka

Que lindo!

Si queres seguir te recomiendo Slax y backtrack (esta es hermosa..), aunque se puede meter cualquier cosa en un pendrive con un poco de trabajo.

Googleando los nombres + pendrive te salen decenas de tutos de como hacerlo. Backtrack 3 (que esta en fase beta) ya tiene una imagen para pendrive para bajar directamente.

Saludos y suerte.

"Primero te ignoran, después se ríen de ti, luego te atacan, entonces ganas." Mahatma Gandhi

"Primero te ignoran, después se ríen de ti, luego te atacan, entonces ganas." Mahatma Gandhi

Imagen de Kittukahier

Slax ya lo probe. Me parecio muy completo pero tener que instalarlo con un script como bootinst.sh me parecio demasiado automatizado, Backtrack no lo probe pero por lo que lei es igual la instalacion y la imagen mucho mas grande. Pero talvez lo pruebe.
Me falta publicar como instale Feather Linux y Gparted en mi pendrive. Tambien la utilizacion de partimage para crear imagenes de respaldo del pendrive con cada sistema y cada cambio y poder cambiar de sistema a gusto. Experimentos para aprender!

Imagen de cousteau

Prueba GeeXbox, el media-center de 8 megas.

Yo nunca he conseguido arrancar nada desde USB (la vez que intenté instalar DSL en un pendrive), creo que es por culpa de mi BIOS. Tampoco lo intenté muy a fondo. Lo que sí que conseguí fue arrancar DSL desde CD e instalar programasconfiguración, etc... en el pendrive.


«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.

«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.
Imagen de Kittukahier

Cada minidistribución, me parece, trae también la posibilidad de crear floppys que te encuentran el pendrive. Incluso hay imágenes de floppys que sirven para distintas distribuciones.

Imagen de cousteau

Sí, también me funcionó, pero ya que tengo que usar dos trastos prefiero usar un CD y así me caben más datos en el pendrive.

Lo que quiero ver si encuentro es una forma de hacer un CD multi-distro, con una especie de GRUB que me permita elegir cuál arranco. Así me caben varias en un sólo CD (dsl, geexbox, quizá alguna herramienta de recuperación...)


«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.

«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.
Imagen de Kittukahier

Yo acabo de instalar knoppiz liveCd en Pendrive con grub incluido, ahora no sé si grub pueda instalarse en cdrom, sí sé que se ha podido instalar varios livecd en Pendrives. También pude poner en el grub de mi Pc el Pendrive como unidad externa, osea que solo reiniciando puedo entrar también al pendrive como a las otros OS y no tener que editar la Bios.