Multiboot auf USB mit Syslinux

7686
pr.nizar

Ich versuche, eine Multiboot-USB mit Ubuntu, Backtrack und Mantra-OS zu erstellen (alles Ubuntu, wie Sie sehen können). Das sind die Schritte, die ich gemacht habe:

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/ /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 

Danach habe ich Dateien in den entsprechenden ISOs in von mir erstellte Ordner angehängt und kopiert:

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/ 

Danach habe ich auf der Konfigurationsdatei gefüllt syslinux.cfgin /media/diqus/syslinuxmit diesem:

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 in / media / disqus / syslinux /)

Jetzt läuft alles gut und ich kann booten, ich habe das syslinux-Menü und lade sogar vmlinuz und initrd! Das os wird tatsächlich geladen (ich habe den Splash-Screen), aber dann habe ich den Fehler (etwas über Busybox):

 (initramfs) unable to find a medium containing a live file system 

Ich bin nicht ganz sicher, was das Problem ist, aber ich denke, es geht um relative Pfade und das "Ding" der CD-ROM. Ich habe viele von ihnen getestet (auch relativ und absolut), aber nichts funktioniert.

Die Antwort darf sich nicht auf MultiBootUSB, MultiSystem, Yummi oder ein anderes Tool beziehen. es darf sich auch nicht um grub oder grub2 oder einen anderen bootloader handeln. Ich möchte, dass mein Ansatz funktioniert.

9
Why not Grub2? That would be easier since it doen't require you to extract the ISOs. Zoredache vor 11 Jahren 0
@Zoredache habe ich schon mit grub2 gemacht, aber ich will es mit syslinux und ohne die memdisk. pr.nizar vor 11 Jahren 0
[PenDriveLinux Multiboot](http://www.pendrivelinux.com/yumi-multiboot-usb-creator/) will do everything that you need to do. That's why I said that this was a dupe. KronoS vor 11 Jahren 1

2 Antworten auf die Frage

1
pr.nizar

I actually solved this and it works! I found a cheat code called: live-media-path=path/to/casper/folder along with ignore_uuid. So the modified working code:

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 /syslinux/iso/backtrack/casper/vmlinuz append initrd=/syslinux/iso/backtrack/casper/initrdf.gz live-media-path=/syslinux/iso/backtrack/casper ignore_uuid boot=casper quiet splash -- LABEL Ubuntu MENU LABEL Ubuntu kernel /syslinux/iso/ubuntu/casper/vmlinuz append initrd=/syslinux/iso/ubuntu/casper/initrd.lz live-media-path=/syslinux/iso/ubuntu/casper ignore_uuid boot=casper quiet splash -- LABEL Mantra-OS MENU LABEL Mantra-OS kernel /syslinux/iso/mantra-os/casper/vmlinuz append initrd=/syslinux/iso/mantra-os/casper/initrd.lz live-media-path=/syslinux/iso/mantra-os/casper ignore_uuid boot=casper quiet splash -- LABEL Reboot MENU LABEL Reboot COM32 reboot.c32 LABEL Power Off MENU LABEL Power Off COMBOOT poweroff.com 

Many thanks!

P.S: For other distros you may look for syslinux configuration files in Yumi's repository at GitHub: https://github.com/bwnickle/YUMI/blob/master/src/menu/

Gut gemacht. pr.nizar. Nur für das Protokoll kann das `ignore_uuid` weggelassen werden; Für alle, die die Mindestanzahl von Dateien von CD kopieren möchten, besuchen Sie http://sfxpt.wordpress.com/2014/02/18/ubuntu-frugal-multiboot-installation-outout-burning-any-cddvd/ #Neu. Das heißt, `rsync -vuaR .disk casper / mnt / usbpen / boot / lub1310`. xpt vor 10 Jahren 0
0
Zoredache

Ok, da Sie nicht an alternativen Lösungen interessiert sind, brauchen Sie mehr Zeit, um zu verstehen, wie der Buchprozess funktioniert.

Der Bootloader lädt den Kernel und die Initrd in den Arbeitsspeicher und übergibt die Ausführung an den Kernel. Nach diesem Punkt wird die gesamte Ausführung an den init / upstart-Prozess in initrd und alle Skripts übergeben, die zum ersten Mal aufgerufen werden. Die Skripte in initrd wissen nichts über das Dateisystem oder den relativen Pfad, von dem es geladen wurde. Sie können nicht einfach auf ein großes caspar-Dateisystem in diesem Verzeichnis verweisen.

Die Initrd von Livecds enthalten Skripts, mit denen das Dateisystem lokalisiert werden kann. Bei Ubuntu sucht das System nach einer bestimmten Datei in einem bestimmten Ordner im Stammverzeichnis jedes bekannten Dateisystems auf jedem Laufwerk, das es sehen kann. Wenn nichts gefunden wird, wird der von Ihnen erwähnte Fehler angezeigt.

Sie können die ISO-SCANOption als Teil Ihrer Anhängezeile übergeben. Dieses Argument teilt dem Skript mit, dass anstelle eines Dateisystems eine ISO-Schleife durch Loopback eingebunden wird und die Dateien darin gelesen werden.

Das Ablegen von Dateien in einem beliebigen Verzeichnis, das Sie definieren, wird wahrscheinlich nicht unterstützt. Ich habe mir die livecd-initrd-Skripts in letzter Zeit nicht angesehen, aber mir sind keine Optionen bekannt, mit denen Sie ein beliebiges Verzeichnis für die extrahierten Dateien angeben können.

Wenn Sie ein Verhalten wünschen, das noch nicht von den Entwicklern entwickelt wurde, müssen Sie Ihre Initrds mit Ihren eigenen Skripts und Tools neu erstellen, um das Root-Dateisystem zu laden. Das ISO im Dateisystem belassen und dann die iso-scan/filename=$isofileOption verwenden, ist die Methode, die Sie verwenden können, ohne Ihre initrd neu erstellen zu müssen.

The problem is that BT5R3 *still* doesn't support the iso-scan/filename parameter... I have to patch casper/initrd.gz file. http://this.is.thoughtcrime.org.nz/multi-boot-bt5-from-usb-with-grub2 Is there any other solutions to my problem? pr.nizar vor 11 Jahren 0
If you had added that detail to your original question, you would have gotten a lot less flak about your question being a duplicate. There is almost certainly a solution, but I don't know it at the moment. Zoredache vor 11 Jahren 0
I can make the same things that unetbootin does but the problem is that it won't be the same directory structure as I made.. (http://www.youtube.com/watch?v=MH-khdiXqYs) pr.nizar vor 11 Jahren 0