Estoy tratando de hacer un USB de arranque múltiple con Ubuntu, Backtrack y Mantra-OS en él (todo ubuntu como puedes ver). Esos son los pasos que he hecho:
sudo su
unmount /dev/sdb1 # unmount the drive
mkfs.vfat -F 32 -n disqus /dev/sdb1 # Format the disk with vfat
syslinux -maf /dev/sdb1 # Install syslinux and the mbr
mkdir /media/disqus # Mount for the disk
mount /dev/sdb1 /media/disqus
mkdir /media/disqus/syslinux # Syslinux configuration folder
cp /usr/lib/syslinux/{vesamenu.c32,reboot.c32,poweroff.com} /media/disqus/syslinux # Files needed for syslinux
mkdir /media/disqus/syslinux/iso # A folder that will contain extracted isos
mkdir /media/disqus/syslinux/iso/ubuntu
mkdir /media/disqus/syslinux/iso/backtrack
mkdir /media/disqus/syslinux/iso/mantra-os
Después de eso, monté y copié archivos en los ISO respectivos a las carpetas que hice:
mkdir /media/iso
mount -t iso9660 -o loop,ro /home/nizar/Destkop/ubuntu.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/ubuntu
umount /media/iso/
mount -t iso9660 -o loop,ro /home/nizar/Destkop/backtrack.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/backtrack
umount /media/iso/
mount -t iso9660 -o loop,ro /home/nizar/Destkop/mantra-os.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/mantra-os
umount /media/iso/
rmdir /media/iso/
Después de eso me llena en el fichero de configuración syslinux.cfg
en /media/diqus/syslinux
esto:
DEFAULT Backtrack
PROMPT 0
allowoptions 0
TIMEOUT 100
UI vesamenu.c32
MENU TITLE Disqus: The Ultimate Disk
MENU BACKGROUND anon1.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 18
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
LABEL Backtrack
MENU LABEL Backtrack
kernel iso/backtrack/casper/vmlinuz
append initrd=iso/backtrack/casper/initrdf.gz file=/cdrom/preseed/custom.seed boot=casper quiet splash --
LABEL Ubuntu
MENU LABEL Ubuntu
kernel iso/ubuntu/casper/vmlinuz
append initrd=iso/ubuntu/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
LABEL Mantra-OS
MENU LABEL Mantra-OS
kernel /mantra-os/casper/vmlinuz
append initrd=/mantra-os/casper/initrd.lz file=/cdrom/preseed/xubuntu.seed boot=casper quiet splash --
LABEL Reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL Power Off
MENU LABEL Power Off
COMBOOT poweroff.com
(anon1.png: 640x480 8bit png en / media / disqus / syslinux /)
Ahora todo va bien y puedo arrancar, ¡tengo el menú syslinux e incluso cargo vmlinuz e initrd! El sistema operativo se está cargando (tengo la pantalla de inicio) pero luego aparece el error (algo sobre Busybox):
(initramfs) unable to find a medium containing a live file system
No estoy muy seguro de cuál es el problema, pero creo que se trata de rutas relativas y la "cosa" del CDROM. He probado muchos de ellos (incluso relativos y absolutos) pero nada funciona.
La respuesta no debe ser sobre MultiBootUSB, MultiSystem, Yummi o cualquier otra herramienta; no debe ser también sobre grub o grub2 o cualquier otro gestor de arranque. Quiero que mi enfoque funcione.
fuente
Respuestas:
¡En realidad resolví esto y funciona! Encontré un código de trucos llamado: live-media-path = path / to / casper / folder junto con ignore_uuid. Entonces el código de trabajo modificado:
¡Muchas gracias!
PD: para otras distribuciones, puede buscar archivos de configuración de syslinux en el repositorio de Yumi en GitHub: https://github.com/bwnickle/YUMI/blob/master/src/menu/
fuente
ignore_uuid
se puede omitir; también, para cualquiera que quiera copiar el conjunto mínimo de archivos del CD, consulte sfxpt.wordpress.com/2014/02/18/… . Es decir,rsync -vuaR .disk casper /mnt/usbpen/boot/lub1310
.Bien, dado que no está interesado en soluciones alternativas, necesitará más tiempo para comprender cómo funciona el proceso del libro.
El gestor de arranque carga el núcleo y el initrd en la memoria , y luego pasa la ejecución al núcleo. Después de ese punto, toda la ejecución se pasa al proceso init / upstart en initrd, y cualquier script que primero procese las llamadas. Las secuencias de comandos dentro del initrd, realmente no saben nada sobre el sistema de archivos, o el pathos relativo de donde se cargó. No pueden simplemente hacer referencia a algún gran sistema de archivos caspar en ese directorio.
El Initrd de livecds contiene scripts que les permiten ubicar el sistema de archivos. Para el sistema Ubuntu, busca un archivo particular en una carpeta particular dentro de la raíz de cada sistema de archivos conocido en cada unidad que puede ver. Si no puede encontrar nada, recibirá el error que mencionó.
Puede pasar la
ISO-SCAN
opción a como parte de su línea de adición. Este argumento le dirá al script que en lugar de escanear sistemas de archivos, montará en bucle un ISO y leerá los archivos desde allí.Probablemente no sea compatible con soltar archivos en algún directorio aleatorio que defina. No he mirado los scripts livecd initrd últimamente, pero no conozco ninguna opción que le permita especificar un directorio arbitrario para los archivos extraídos.
Si desea un comportamiento que aún no haya sido diseñado por los desarrolladores, tendrá que reconstruir sus initrds con sus propios scripts y herramientas para cargar el sistema de archivos raíz. Dejar el ISO en el sistema de archivos y luego usar la
iso-scan/filename=$isofile
opción es el método que puede usar sin tener que reconstruir su initrd.fuente