Ich versuche einen Multiboot-USB mit Ubuntu, Backtrack und Mantra-OS zu erstellen (alles Ubuntu, wie Sie sehen können). Das sind die Schritte, die ich getan 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/{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
Danach habe ich Dateien in den jeweiligen ISOs gemountet und in Ordner kopiert, die ich erstellt habe:
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.cfg
in /media/diqus/syslinux
mit 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 8-Bit-PNG in / media / disqus / syslinux /)
Jetzt läuft alles in Ordnung und ich kann booten, ich habe das Syslinux-Menü und lade sogar vmlinuz und initrd! Das Betriebssystem wird tatsächlich geladen (ich habe den Begrüßungsbildschirm), aber dann habe ich den Fehler (etwas über Busybox):
(initramfs) unable to find a medium containing a live file system
Ich bin mir nicht ganz sicher, was das Problem ist, aber ich denke, es geht um relative Pfade und das CD-ROM "Ding". Ich habe viele davon getestet (sogar relativ und absolut), aber nichts funktioniert.
Die Antwort darf nicht über MultiBootUSB, MultiSystem, Yummi oder ein anderes Tool sein. Es darf sich nicht auch um grub oder grub2 oder einen anderen Bootloader handeln. Ich möchte, dass mein Ansatz funktioniert.
quelle
Antworten:
Ich habe das tatsächlich gelöst und es funktioniert! Ich habe einen Cheat-Code namens: live-media-path = path / to / casper / folder zusammen mit ignore_uuid gefunden. Also der modifizierte Arbeitscode:
Danke vielmals!
PS: Für andere Distributionen suchen Sie möglicherweise nach Syslinux-Konfigurationsdateien in Yumis Repository unter GitHub: https://github.com/bwnickle/YUMI/blob/master/src/menu/
quelle
ignore_uuid
kann das weggelassen werden; Wenn Sie die Mindestanzahl von Dateien von der CD kopieren möchten, lesen Sie auch sfxpt.wordpress.com/2014/02/18/… . Dhrsync -vuaR .disk casper /mnt/usbpen/boot/lub1310
.Ok, da Sie nicht an alternativen Lösungen interessiert sind, müssen Sie sich mehr Zeit nehmen, um zu verstehen, wie der Buchprozess funktioniert.
Der Bootloader lädt den Kernel und initrd in den Speicher und übergibt die Ausführung an den Kernel. Nach diesem Zeitpunkt wird die gesamte Ausführung an den init / upstart-Prozess in der initrd und an alle Skripte übergeben, die der erste Prozess aufruft. Die Skripte in der initrd wissen nichts über das Dateisystem oder das relative Pathos, von wo es geladen wurde. Sie können nicht einfach auf ein großes caspar-Dateisystem in diesem Verzeichnis verweisen.
Die Initrd von Live-CDs enthalten Skripte, mit denen sie das Dateisystem lokalisieren können. Für Ubuntu-Systeme sucht es nach einer bestimmten Datei in einem bestimmten Ordner im Stammverzeichnis jedes bekannten Dateisystems auf jedem Laufwerk, das es sehen kann. Wenn es nichts findet, erhalten Sie den von Ihnen erwähnten Fehler.
Sie können die
ISO-SCAN
Option als Teil Ihrer Anhängezeile an übergeben. Dieses Argument teilt dem Skript mit, dass anstelle des Scannens von Dateisystemen ein ISO-Loopback bereitgestellt und die Dateien darin gelesen werden.Das Löschen von Dateien in einem von Ihnen definierten zufälligen Verzeichnis wird wahrscheinlich nicht unterstützt. Ich habe mir die livecd initrd-Skripte 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 Skripten und Tools neu erstellen, um das Root-Dateisystem zu laden. Wenn Sie die ISO im Dateisystem belassen und dann die
iso-scan/filename=$isofile
Option verwenden, können Sie diese Methode verwenden, ohne Ihre initrd neu erstellen zu müssen.quelle