ubuntuusers.de

Multi-USB-Live-System erstellen

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

heyhou

Anmeldungsdatum:
28. Mai 2010

Beiträge: 10

Hallihallo,

ich plane, mir einen boot-fähigen USB-Stick zu erstellen, der zwei Systeme starten kann. Hierbei denke ich an eine Größe von 2GB, was bei zwei Live-Systeme a ~700MB noch etwas Platz für persistenten Speicher übrig lässt. Die Systeme sollen Ubuntu 10.04 und Fedora 14 mit einigen Anpassungen (hierfür die Persistenz) sein. Die entsprechenden iso-files habe ich mir bereits heruntergeladen. Antrieb dafür ist, immer Live-Systeme dabei zu haben, da ein USB-Stick problemlos an den Schlüsselbund passt, eine CD/DVD hingegen nicht.

Hierzu stellen sich mir mehrere Fragen, um deren Beantwortung ich bitte:

  • Kann man eine Partition als persistenten Speicher für mehrere Systeme benutzen?

  • Wie erstelle ich am einfachsten einen dennoch funktionsfähigen bootbaren USB-Stick?

    • Welchen Bootloader verwende ich am besten?

Präferieren würde ich hierbei Methoden, die keine Ubuntu-Installation erforden, sondern auch mit meinem aktuellen Betriebssystem Fedora funktionieren. Notfalls habe ich aber auch Zugriff auf Ubuntu-Live-CDs.

Vielen Dank für Eure Aufmerksamkeit

Leistenholz

Avatar von Leistenholz

Anmeldungsdatum:
7. Dezember 2010

Beiträge: 44

Hallo Heyhou,

Hast du's schon hiermit versucht?

Ansonten wäre das hier noch eine Möglichkeit.

Leistenholz

heyhou

(Themenstarter)

Anmeldungsdatum:
28. Mai 2010

Beiträge: 10

Danke für deine Antwort,

der Wiki-Artikel lässt folgende Fragen offen:

  • Wie füge ich ein weiteres Live-Medium dem USB-Stick hinzu? Einfach das Abbild auf eine weitere Partition kopieren und grub-Konfiguration anpassen? (Auf dem Ubuntu-Image ist schon grub2, mit dessen Konfiguration bin ich nicht vertraut...)

  • Was bedeutet der Begriff "Casper" der bei der Konfiguration immer wieder auftaucht?

  • Wie gehen andere Distributionen (im speziellen Fedora) mit Persistenz um bzw. wie kann man sie über den persistenten Speicher informieren?

Leistenholz

Avatar von Leistenholz

Anmeldungsdatum:
7. Dezember 2010

Beiträge: 44

Hallo heyhou,

Leider kann ich alle deine Fragen nicht beantworten, aber ich versuche es so gut, wie ich kann.

  • Zu deiner 1. Frage kann ich leider nichts beantworten, tut mir leid, aber du könntest es mit MultiCD versuchen...

  • Zu deiner 2.: Casper ist der Live-Booter für Ubuntu und Fedora

  • Zu deiner 3.: Das weiß ich leider auch nicht, möglich ist es aber, da beide Distros Casper verwenden, dass es ohne Probleme funktioniert.

Da du ja nur mit einem USB-Stick arbeitest, kannst du einfach ausprobieren, du musst ihn danach ja nicht wegschmeißen, wie bei CD-R's 😉

Leistenholz

Ubunux

Avatar von Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17152

heyhou

(Themenstarter)

Anmeldungsdatum:
28. Mai 2010

Beiträge: 10

ok... Multisystem habe ich jetzt mal einige Zeit und Nerven geopfert...

Da ich auf dem PC nur Fedora installiert habe, musste ich sämtliche arbeiten unter einer Live-CD machen, da ich keine Fedora-Version von Multisystem gefunden habe, nur ein auf Ubuntu/Debian-Derivate spezifiziertes Skript.

Ich habe Multisystem angewiesen, beide Images (Fedora 14 und Ubuntu 10.04.1) auf den Stick zu ziehen. Zuerst Ubuntu:

Das Einrichten sah soweit OK aus, dauert einige Zeit, weil er das Image kopiert. Bootet auch in VirtualBox (auf einer Live-CD!), liefert allerdings jenen Fehler: http://oi51.tinypic.com/syp5c8.jpg

Bei Fedora kam er gar nicht erst so weit. Da hat er gleich mit der Meldung, dass er den Kernel nicht finden konnte, abgebrochen. Ich habe festgestellt, dass er nicht einmal die Fedora-Iso auf den USB-Stick kopiert hatte und das gleich nachgeholt. Anschließend habe ich versucht die boot.cfg ein bisschen anzupassen. Dafür habe ich das Image via loopback gemountet und Kernel gesucht... Den Pfad dahin habe ich dann entsprechend der Syntax, die ich mir vom Ubuntu-Booteintrag abgeschaut habe, eingetragen. Gleicher Fehler, nach wie vor. Hier die boog.cfg:

insmod gpt
insmod pc
insmod gfxmenu
#insmod videotest
insmod tga
insmod png
insmod gfxterm
insmod lspci
insmod vbeinfo
insmod vbe
insmod ntfs
insmod chain
insmod biosdisk
insmod font
set default=0
set timeout=30
set fallback=1
set root=(hd0,1)
#http://grub.enbug.org/gfxterm
if font /boot/polices/unicode.pff ; then
set gfxmode=640x480
terminal gfxterm
fi
#set locale_dir=/boot/grub/locale
#set lang=en
#insmod gettext
if background_image /boot/splash/splash.png ; then
#text no sel/fond ecran
set color_normal=white/black #1
#text sel/fond ecran sel
set color_highlight=green/white #1
else
set menu_color_normal=white/black #2
set menu_color_highlight=green/white #2
set color_normal=white/magenta #2
set color_highlight=green/white #2
fi
#set gfxpayload="1280x1024,1024x768,800x600,640x480"
#set gfxpayload=keep
#Ne supprimez pas ce marqueur! / Do not remove this marker!
#MULTISYSTEM_START

#MULTISYSTEM_MENU_DEBUT|21-01-2011-18:01:48-283779881|fedora1|multisystem-fedora|686Mio|
menuentry "Fedora-14-i686-Live-Desktop.iso" {
linux /fedora1/syslinux/vmlinuz0 live_locale=de_DE.UTF-8 live_keytable=de live_dir=/fedora1 overlay=UUID=1826-598D root=live:UUID=1826-598D rootfstype=vfat rw liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
initrd /fedora1/syslinux/initrd0.img
}
#MULTISYSTEM_MENU_FIN|21-01-2011-18:01:48-283779881|fedora1|multisystem-fedora|686Mio|
#MULTISYSTEM_MENU_DEBUT|21-01-2011-18:30:36-610031247|ubuntu-10.04.1-desktop-i386.iso|multisystem-ubuntu|686Mio|
menuentry "ubuntu-10.04.1-desktop-i386.iso" {
search --set -f "/ubuntu-10.04.1-desktop-i386.iso"
loopback loop "/ubuntu-10.04.1-desktop-i386.iso"
linux (loop)/casper/vmlinuz root=UUID=1826-598D debian-installer/locale=de_DE.UTF-8 debian-installer/language=de kbd-chooser/method=de console-setup/layoutcode=de console-setup/variantcode= console-setup/modelcode=pc105 iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
#MULTISYSTEM_MENU_FIN|21-01-2011-18:30:36-610031247|ubuntu-10.04.1-desktop-i386.iso|multisystem-ubuntu|686Mio|

#MULTISYSTEM_STOP
#Ne supprimez pas ce marqueur! / Do not remove this marker!
menuentry "______________Grub4Dos______________" {
echo
}
#http://grub4dos.sourceforge.net/
#http://grub4dos.sourceforge.net/wiki/index.php/Grub4dos_tutorial
menuentry "Grub4Dos" {
	linux /boot/grub.exe
}
menuentry "______________Syslinux______________" {
echo
}
#http://syslinux.zytor.com
menuentry "Syslinux" {
search --set -f /boot/syslinux/redir.img
	linux /boot/syslinux/memdisk
	initrd /boot/syslinux/redir.img
}
menuentry "______________UTIL______________" {
echo
}
#http://www.plop.at/en/bootmanagerdl.html
menuentry "PLoP Boot Manager" {
	linux /boot/img/plpbt
}
#http://www.supergrubdisk.org/
#http://developer.berlios.de/project/showfiles.php?group_id=10921
#SG2D (Floppy, CD & USB in one)
#super_grub_disk_hybrid-1.98s1.iso
menuentry "Super Grub Disk (grub2)" {
search --set -f /boot/img/sgdh.iso
	linux /boot/syslinux/memdisk
	initrd /boot/img/sgdh.iso
}
menuentry "Super Grub Disk (Grub1) fr" {
search --set -f /boot/img/sgdfr.img
	linux /boot/syslinux/memdisk
	initrd /boot/img/sgdfr.img
}
menuentry "Smart Boot Manager" {
search --set -f /boot/img/sbootmgr.dsk
	linux /boot/syslinux/memdisk
	initrd /boot/img/sbootmgr.dsk
}
#Site: http://boot.kernel.org/index.html
#Téléchargement: http://boot.kernel.org/gpxe_images/gpxe.lkrn
menuentry "gPXE boot.kernel.org (BKO)" {
	search --set -f /boot/img/gpxe.lkrn
	linux /boot/img/gpxe.lkrn
}
#http://www.memtest.org/#downiso
menuentry "memtest86+" {
	linux /boot/img/memtest86+.bin
}
menuentry "vbeinfo" {
	vbeinfo
read
}
menuentry "lspci" {
	lspci
read
}
menuentry "gfxpayload 640x480" {
set gfxpayload=640x480
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "gfxpayload 800x600" {
set gfxpayload=800x600
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "gfxpayload 1024x768" {
set gfxpayload=1024x768
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "gfxpayload 1280x1024" {
set gfxpayload=1280x1024
echo gfxpayload=${gfxpayload} press enter
read
}
menuentry "Reboot" {
insmod reboot
reboot
}

Anschließend habe ich Multisystem angewiesen, beide Images zu entfernen und die "unberührte" boot.cfg gespeichert. Jene hat lediglich den Teil zwischen den Leerzeilen (die Einträge mit Fedora und Ubuntu) nicht.

Meine Idee war nun, da ich gelesen habe, dass Grub2 - was ja von Multisystem benutzt wird - von Images booten kann, einfach manuell den Boot-Eintrag anzupassen, sodass es funktioniert. Da ich jedoch mit der Grub2-Syntax kaum vertraut bin, bitte ich hierbei um eure Unterstützung.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11218

Hej heyhou,

schau einfach mal http://wiki.ubuntuusers.de/Benutzer/black_tencate

Gruß black tencate

Fjunchclick

Anmeldungsdatum:
18. Februar 2010

Beiträge: 550

Ich hab' auch noch einen:

http://blog.p-mt.net/archives/644

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11218

Hej Fjunchclick,

Fjunchclick schrieb:

Ich hab' auch noch einen:

http://blog.p-mt.net/archives/644

wobei der nicht mehr so ganz aktuell ist 😕 (9.10 Karmic Koala 32bit)

Gruß black tencate

Fjunchclick

Anmeldungsdatum:
18. Februar 2010

Beiträge: 550

Naja, sollte doch aber auch mit neueren Versionen funktionieren, oder?

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11218

Hej Fjunchclick,

Fjunchclick schrieb:

Naja, sollte doch aber auch mit neueren Versionen funktionieren, oder?

ja, schon, aber dann ist der Sinn des scripts - nämlich Stick rein, script starten, fertig - nicht mehr gegeben, das mußt Du nämlich anpassen, anders als bei dem von Ubunux vorgeschlagenen script.

Das wird nämlich zu einer (beliebig) gewählten Distri auch den notwendigen grub menuentry erzeugen. 😉 . Leider aber auch nicht zu jeder.

Gruß black tencate

heyhou

(Themenstarter)

Anmeldungsdatum:
28. Mai 2010

Beiträge: 10

Ok, nach viel zu viel rumprobieren habe ich schon mal herausgefunden, wie ich den USB-Stick in einer VM booten kann. Besser als nichts.

Momentan sieht es so aus: Ich habe zuerst Fedora via Fedoras liveusb-creator auf dem Stick installiert [funktioniert wunderbar, benutzt syslinux], danach den Inhalt der via loopback gemounteten ubuntu.iso in die root-Directory des Sticks kopiert. Nun kommt beim Booten von Ubuntu ein Fehler, ähnlich dem, den ich oben als Bild beschrieben. Ich lande in einer Konsole, die mit (initramfs) beschrieben ist. Ein Bild der aktuellen Meldung ist im Anhang.

Die syslinux.cfg:

default vesamenu.c32
timeout 100

menu background splash.jpg
menu title Welcome to Fedora-14-i686-Live-Desktop!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color timeout_msg 0 #ffffffff #00000000
menu color timeout 0 #ffffffff #00000000
menu color cmdline 0 #ffffffff #00000000
#menu hidden
menu hiddenrow 5
label ubuntu
  menu label Ubuntu-10.04.1
  kernel /casper/vmlinuz
  append initrd=/casper/initrd.lz file=/preseed/ubuntu.seed lang=de_DE bootkbd==de console-setup/layoutcode=de --

menu default
label linux0
  menu label Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=live:UUID=BB1E-FD1F rootfstype=vfat rw liveimg overlay=UUID=BB1E-FD1F quiet  rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM  LANG=de_DE.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de-latin1
label linux0
  menu label Boot (Basic Video)
  kernel vmlinuz0
  append initrd=initrd0.img root=live:UUID=BB1E-FD1F rootfstype=vfat rw liveimg overlay=UUID=BB1E-FD1F quiet  rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM xdriver=vesa nomodeset LANG=de_DE.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de-latin1
label check0
  menu label Verify and Boot
  kernel vmlinuz0
  append initrd=initrd0.img root=live:UUID=BB1E-FD1F rootfstype=vfat rw liveimg overlay=UUID=BB1E-FD1F quiet  rhgb  check LANG=de_DE.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de-latin1
label memtest
  menu label Memory Test
  kernel memtest
label local
  menu label Boot from local drive
  localboot 0xffff

Wenn ich im Ubuntu-Eintrag unter append noch "boot=casper" anfüge, kriege ich den Fehler "/init: line 7: can't open /dev/sr0: No medium found"

Ich erliege der Vermutung, dass man mit dem richtigen Parameter das System problemlos zum Booten bekommt. Nur weiß ich nicht, welcher Parameter das ist...

Bilder

heyhou

(Themenstarter)

Anmeldungsdatum:
28. Mai 2010

Beiträge: 10

Nun habe ich noch die syslinux/text.cfg in der ubuntu.iso gefunden. Anhand dessen habe ich Folgende Anpassungen für Ubuntus Booteintrag gemacht:

  append initrd=/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper quiet --

Was mich noch wundert, ist, dass, unabhängig davon, ob ich "lang=de_DE bootkbd=de console-setup/layoutcode=de" einfüge, oder nicht, das System auf Englisch (en_US UTF-8) gebootet wird, mit amerikanischem Tastaturlayout. Tastaturlayout zu ändern ist kein Problem: System->Preferences->Keyboard. Sprache hingegen System->Administration->Language Support, damit ich es nachinstallieren kann. Wieso muss ich den Deutsch-Support nachinstallieren, wenn ich die gleiche ISO (im virtuelles CD-Laufwerk einer VM) auch auf Deutsch booten kann?

Morgen/demnächst werde ich der Übersicht halber noch die fertige, ein bisschen aufgeräumtere syslinux.cfg anfügen.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11218

Hej heyhou,

das ist verwunderlich, bei slitaz z. B. hat das aber funktioniert (syslinux Eintrag für kb und lang bei slitaz).

Gruß black tencate

heyhou

(Themenstarter)

Anmeldungsdatum:
28. Mai 2010

Beiträge: 10

Update: Funktioniert. Nur hat gerade die Tastatur gestreikt innerhalb der VM, in der ich den Stick teste... Ich werde mal schauen, ob ich den Fehler reproduzieren und ausmerzen kann.. Update 2: Ist nicht reproduzierbar, also alles OK.

Im Übrigen vielen Dank an alle, die beigetragen haben =)

Nun steht noch für alle, die eventuell einst das gleiche Problem haben werden, die syslinux.cfg aus, die ich noch nachreichen werde.

Antworten |