jueves, 15 de mayo de 2008

Un aporte a la comunidad: Booteo universal para pendrive.

Hace un tiempo, en la entrada "Hirens y Slax en el pendrive..." comenté un método limpio para poner los dos arranques en el susodicho. Para el que no quiera volver a leerlo, resumo: se trataba de usar el syslinux que instala la distro slax para cargar un sector de arranque de d.o.s. , y de ahí el hirens.

Las ventajas del método son varias: syslinux puede bootear imágenes de diskette por emulación (por ejemplo, una imagen hecha con winimage del arranque de win98, o el disco de arranque del freedos).
Tambien puede, por supuesto, arrancar una distro de linux si le damos los parámetros del kernel (vmlinuz) y el archivo de configuración (initrd.gz, por lo general).
Lo mejor de ésto es que, en teoría, podemos poner cualquier live-cd que arranque con isolinux en nuestro pendrive con sólo "traducir" los parámetros de lilo o grub. Un par de ejemplos:

Nimblex: arranque original con grub (archivo menu.lst).

title NimbleX sub100 - Boot in KDE
root (hd0,1)
kernel /boot/vmlinuz max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7120 probeusb root=/dev/ram0 rw quiet vga=791 splash=silent changes=nimblex.data autoexec=startx
initrd /boot/initrd.gz


Arranque por syslinux.

LABEL NimbleX
MENU LABEL NimbleX sub100 - Boot in KDE
KERNEL /nimblex/boot/vmlinuz
APPEND initrd=/nimblex/boot/initrd.gz max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7120 root=/dev/ram0 rw vga=791 splash=silent quiet changes=nimblex.data autoexec=xconf;kdm

Es decir, cambio el path para que quede todo el contenido de la ISO en una carpeta (/nimblex) y separo la linea del kernel en kernel y append.

Puppy: arranque original con isolinux (archivo isolinux.cfg)

label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=cd

Arranque por syslinux.

LABEL puppy
MENU LABEL Puppy linux
KERNEL /puppy/vmlinuz
APPEND initrd=/puppy/initrd.gz pmedia=cd

Este es igual, sólo hay que cambiar el path.

Este método nos permite poner varias distros en un solo pendrive, sin formatear para instalar cada una (porque no quiero), sin sobreescribir el boot de la anterior etc.

¿Y cómo se hace para instalar syslinux en el pendrive?

Anteriormente, la respuesta era "bajate el Slax y ponelo en el pen". Hoy, cómo me levanté bueno, les dejo a mis lectores el boot de regalo aquí.

Para instalarlo, hay que copiarlo en la raíz del pendrive, lo que debería dejarnos una estructura de carpetas así:

/boot
|------/dos
|------/isolinux
|------/syslinux

y después correr el archivo bootinst.bat desde windows.

De yapa, les dejo mi propia configuración (archivo /boot/syslinux/syslinux.cfg) : bootea slax, hirens (el sector de arranque de d.o.s esta ahí), imagenes de diskette (agregué el archivo memdisk, que es para eso), Nimblex sub100, Puppy4 y memtest (que ya venía). Por supuesto, las distros en sí no están, en todo caso hay que ponerlas en sus carpetas correspondientes. Se los dejo de tarea.

Y si alguien tiene algún problema, ya sabe dónde preguntar. Enjoy!

15 comentarios:

CoskiBukowski dijo...

Mil gracias!
Yo ya habia configurado mi booteo para slax y puppy, mas una imagen de bootdisk de win98se, ahora pueod juguetear con las otras distros y ver si finalmente logro hacer andar el hirens...

Gracias, saludos!

Santeador dijo...

Muchísimas gracias por compartir esta gran utilidad! En cuanto tenga un rato me pongo a ello que seguramente cargará más rapido que el xp bootable.

SIGNUS dijo...

hola me parece sensacional tu aporte solo que no se donde poner los archivos del hirens si dentro de syslinux o en raiz de la carpeta boot o en raiz de mi usb.
esto hablando de la carpeta de hirens bootcd pero el autoexe,bat y todo lo demas donde lo meto porque aunque viene el archivo dos.bss y doy eb la opcion hirens pen drive se queda el cursor titilando y no hace nada

[486] dijo...

Signus: el boot funca "out of the box" para poner una distro de linux en el pen (de las que hay en el menú). Lamentablemente, para el hirens siguen siendo necesario:
1) Formatear el pendrive, o mejor: desde win98 hacer sys x: para hacerlo booteable en dos.
2) Copiar /bootcd a la raiz del pen.
3) Extraer los archivos de la imagen de boot de la iso en la raiz del pendrive. Borrar jo.sys

Si tenés dudas, mas info aca

Anónimo dijo...

Hola soy yo de nuevo Signus, disculparas la insistencia pero este tema me interesa mucho.

Primero con respecto a tu respuesta me dices que tengo que poner el pendrive con sys de win98 para que bootee vamos como se hace toda la vida. Hasta aqui lejos de lo complejo creo que nada nuevo pero esto me permite seguir usando el slax y si es asi el orden de los factores altera el despapaye .

Por otra parte un amigo me preguntaba de si es posible ocupar este multi boot para agregar el arranque y uso de un Winxp live cd
como ves se puede o ni en comic se podria?

[486] dijo...

Signus: con lo del hirens, hay que hacer sys x: y después volver a correr el makeboot.bat. Funciona, aunque todavía estoy buscando una solucion que me permita hacerlo sin tener un win98 a mano y sin formatear.
Sobre lo del XP, hay versiones de BartPE que dicen correr desde pendrive. Pienso investigarlo, por ahi con el MiniPE, que ya revise antes.

Ignacio dijo...

Ha sido de gran utilidad esto, muy bueno el post, pero tengo una duda ¿Como hago una entrada para poder correr el BartPE tambien desde ese menu?

Tengo el BartPE y tambien el PeToUSB, ya lo he hecho funcionar desde el pendrive, pero bueno me queda la duda anterior a ver si se puede integrar en el menu.

[486] dijo...

Ignacio: al parecer ya tenes lo más difícil hecho. Justo en este tiempo estoy investigando un poco el tema de bootear xp desde el pendrive. Mi intención es poner el sector de arranque de XP (NT5) en una línea del syslinux.cfg, más o menos como hice con el de DOS. Es posible que no pueda hacerse por limitaciones del syslinux, pero me falta leer un cacho. Hasta ahora sólo me encontré con un par de tipos que lo hicieron usando grub.
Si averiguas cómo y lo podés sacar funcionando, avisá, que escribo un post y el crédito es tuyo.

Ignacio dijo...

Respecto a BartPE dentro del pendrive de multiples booteos, no dire que es sencillo pero googleando un poco encontre todo lo necesario.

Primero, descargan las cosas aqui señaladas http://users.telenet.be/Robvdb/BootPEUSB_UK.htm y luego hacen SOLAMENTE EL PASO 1, para descomprimir y alistar los archivos.

Una vez tienen los archivos requeridos tanto para armar de BartPE como los requeridos por este para poder bootear desde el pendrive, siguen las instrucciones DESDE EL PASO 5 en adelante http://www.irongeek.com/i.php?page=security/dual-boot-slax-linux-bartpe-windows-usb , si descargaron el BOOT_Slax.rar provisto por 486 saltense el PASO 7 y solo agreguen dentro del syslinux.cfg una entrada asi:

label bartpe
menu label Bart's PE
kernel pe2usb.bss

Esto para que lo puedan elegir del menu.

Si siguen los pasos en estos links mencionados tendran BartPE tambien funcionando desde el pendrive.

Actualmente tengo en el pendrive un disco de inicio de Win98, BartPE y PUPPY (Tengo un notebook PB S18P de 7" el cual no tiene floppy ni CD y todo esto lo he investigado haciendo recuperaciones del sistema ><).

[486] dijo...

Ignacio: me lo anoto, y ni bien lo tenga probado va post. Te agradezco de antemano en nombre de todos los que pasaron buscando lo mismo. Saludos!

Ignacio dijo...

Saludos y un gusto ayudar!

Si derepente hay algun problema con algun paso estoy suscrito al tema, asi que cualquier duda que tengan me preguntan nada mas.

Se me olvido decir que la informacion encontrada y posteada en el comentario anterior mio, o sea los pasos estan en ingles.

Ojala les sirva!

[486] dijo...

Ignacio: Ya postee el método que me dejaste. Fijate si coincide con lo que vos hiciste (es posible que el orden de los factores altere el producto en este caso) y cualquier cosa seguimos la investigación ahí. Saludos!

Anónimo dijo...

Buen día,
Cómo puedo tener Small Windows XP, Hiren's y slax en mi pendrive?...
Agradecería mucho la colaboración..
jorge005@hotmail.com

[486] dijo...

jorge: lo que querés hacer no es del todo fácil. A mi se me ocurre que se debe poder agregar el bootsector de xp al syslinux.cfg (de hecho hay un post más adelante que lo explica). Otra posibilidad es hacer varias particiones, cada una con su arranque, y tener separados el hirens (que arranca en dos) y el xp (que arranca con ntldr). Después se puede bootear con grub.
Una tercera es arrancar por medio del boot.ini del xp, desde ahi elegir dos (hirens), xp (el mini live cd) o grub4dos (que arranca desde dos) para el slax.
Si volvés por acá y probaste alguna de las opciones, avisá.

Cristhian David dijo...

Hola, soy medio novato en esto y quiciera saber como cargo lasimagenes que no estan en el archivo que adjuntaron al comienzo