Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Multiboot USB-Laufwerk

Multiboot USB-Laufwerk 4 Monate 4 Wochen her #1

  • Rudi
  • Rudis Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 175
  • Dank erhalten: 29
Eine einzelne Iso-Datei auf einen nicht eingehängten USB-Stick zu bekommen scheint ja recht einfach zu sein:

Verzeichnis /dev im Dateimanager öffnen,
USB-Stick einstecken und zugehörige Gerätedatei herausfinden (z.B. /dev/sdb),
der USB-Stick darf im Dateisystem nicht eingehängt sein, also im Dateimanager, oder im Terminal mit umount, ggf. wieder aushängen,
Livesystem (oder Installer) als Iso-Datei herunterladen,
und im Terminal mit sowas wie
cp livesystem.iso /dev/sdb
auf den USB-Stick kopieren.

Für "Werbegeschenke" mit wenigen GB akzeptabel, ist diese Methode bereits bei den heute üblichen Sticks ab 32GB aufwärts eher Speicherplatzverschwendung.
Dieser Thread ist zum Sammeln von vorzugsweise mit GPT und EFI-Firmware geprüfte funktionierende Anleitungen für das Zusammenstellen von Multiboot-Laufwerke vorgesehen.

Bitte Anmelden um der Konversation beizutreten.

Multiboot USB-Laufwerk 4 Monate 4 Wochen her #2

  • Dr.Tux
  • Dr.Tuxs Avatar
  • Offline
  • Administrator
  • Administrator
  • Linuxevangelist, Sportler, Analogfotograf, Veganer
  • Beiträge: 604
  • Dank erhalten: 48
Mit dem Thema habe ich mich schon vor Jahren befasst. Einige Distros habe ich "geknackt" bekommen (Knoppix, Ubuntu/Mint, GParted live, div. Debian/Devuan/Ubuntu-Textinstaller), andere (z.B. Tails oder die SystemRescueCd, seitdem ihre Basis von Gentoo auf Arch umgestellt wurde) bekomme ich nicht hochgefahren. Wer da mehr zu weiß, immer her damit. So wie es meine Zeit erlaubt (haha), führe ich immer wieder mal Versuche durch.
Selbst ein Huhn kann Debian oder Devuan installieren, wenn du nur genug Körner auf die Enter-Taste legst.

Bitte Anmelden um der Konversation beizutreten.

Multiboot USB-Laufwerk 4 Monate 4 Wochen her #3

  • Rudi
  • Rudis Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 175
  • Dank erhalten: 29
Ok, die Knoppix-DVD hab ich jetzt schon mal hinbekommen.
Hinweis: Hier wird der USB-Stick als /dev/sdb erkannt.

Von meinem System aus wird grub-efi als Bootloader installiert. Dafür wird der USB-Stick vorbereitet:
MBR auf dem nicht im Dateisystem eingehängten Stick löschen
dd if=/dev/zero of=/dev/sdb count=2048
Mit einem Tool wie gdisk 2 GPT-Partitionen anlegen
gdisk /dev/sdb
Die 1. Partition wird mit FAT32 formattiert
mkfs.vfat -F 32 -n USBBOOT /dev/sdb1
Die 2. Partition wird mit einem Dateisystem formattiert, das auch mit Dateien >4GB umgehen kann, z.B. ext4
mkfs.ext4 /dev/sdb2
Bootloader in die 1. Partition installieren
mount -t vfat /dev/sdb1 /mnt
grub-install --removable --boot-directory=/mnt/boot --efi-directory=/mnt /dev/sdb
umount /dev/sdb1
Nun die Anleitung für Knoppix:
2. Partition einhängen und DVD-Image kopieren
mount -t ext4 /dev/sdb2 /mnt
cp KNOPPIX_V8.2-2018-05-10-DE.iso /mnt
umount /dev/sdb2
1. Partition einhängen und Menüeintrag in /boot/grub/grub.cfg erstellen
mount -t vfat /dev/sdb1 /mnt
cd /mnt/boot/grub
nano grub.cfg
Hier wurde eingetragen/hinzugefügt
menuentry "Knoppix 8.2 DVD ISO" {
    set isofile="/KNOPPIX_V8.2-2018-05-10-DE.iso"
    set root=(hd0,gpt2)
    insmod part_gpt
    insmod fat
    insmod ext2
    loopback loop $isofile
    linux (loop)/boot/isolinux/linux64 bootfrom=/dev/sdb2$isofile acpi=off keyboard=de language-de
    initrd (loop)/boot/isolinux/minirt.gz
}

Bitte Anmelden um der Konversation beizutreten.

Letzte Änderung: von Rudi. Begründung: vfat mit Option -F 32

Multiboot USB-Laufwerk 4 Monate 3 Wochen her #4

  • Rudi
  • Rudis Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 175
  • Dank erhalten: 29
Anleitung für SystemrescueCD 6.0.3:

Vorbereitung:

Wichtig: Die eingehängte Bootpartition des USB-Laufwerks muss der Kernel unter /dev/disk/by-label/ mit eindeutigem Namen anzeigen.
Dazu wurde die 1. Partition mit der Option -F 32 und einem Label -n <NAME> (hier: USBBOOT) neu formattiert, GRUB neu installiert und Menüeintrag für Knoppix wieder erstellt.
Dies wurde im vorigen Beitrag angepasst.

Anleitung:

Heruntergeladene Iso-Datei und 1. Partition des USB-Laufwerks einhängen
mkdir /media/iso
mount -o loop systemrescuecd-6.0.3.iso /media/iso/
mount /dev/sdb1 /mnt
Aus der Iso-Datei die 3 Verzeichnisse /sysresccd/, /isolinux/ und /EFI/archiso/ auf das USB-Laufwerk kopieren
cp -r /media/iso/sysresccd/ /mnt/
cp -r /media/iso/isolinux/ /mnt/
cp -r /media/iso/EFI/archiso/ /mnt/EFI/
umount /media/iso
In der Datei /mnt/sysresccd/boot/syslinux/sysresccd_sys.cfg mit einem Editor die Option archisolabel=SYSRCD603 an den gewählten Namen (hier: USBBOOT) anpassen.

Schließlich noch unter /mnt/boot/grub in der Datei grub.cfg einen Menüeintrag für SystemrescueCD erstellen/hinzufügen
menuentry "SysRescCD v6.0.3 amd64" {
    insmod gzio
    insmod part_gpt
    insmod part_msdos
    insmod fat
    insmod ext2
    linux /sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd archisolabel=USBBOOT
    initrd /sysresccd/boot/x86_64/sysresccd.img
}

Bitte Anmelden um der Konversation beizutreten.

Multiboot USB-Laufwerk 4 Monate 3 Wochen her #5

  • klaren
  • klarens Avatar
  • Offline
  • Administrator
  • Administrator
  • JID:klaren@im.kaalug.de
  • Beiträge: 627
  • Dank erhalten: 110
Hallo Rudi,

ich finde den Ansatz direkt aus Grub heraus ein ISO zu starten, wie du es für Knoppix verwendet hast sehr interessant!
Überhaupt hat GRUB noch eine Menge mehr zu bieten, als man erst mal denken
Die Syslinux-kopiererei wie es für die RescueCD gemacht hast, habe ich bei einigen USB Werkzeugen schon gesehen.
Da ist "mal eben einen USB Stick bauen" leider doch nicht mehr so ganz einfach und bequem.

Tolle Schritt für Schritt Beschreibung! Ich denke, das sollten wir noch mal wo anders archivieren - Wofür haben wir ein CMS? :)

Liebe Grüße,
Klaren

Bitte Anmelden um der Konversation beizutreten.

Multiboot USB-Laufwerk 4 Monate 3 Wochen her #6

  • Rudi
  • Rudis Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 175
  • Dank erhalten: 29
Anleitung für Debian "netinst" (hier: Version 9.9.0 Stretch amd64)

Hallo Klaren, aus GRUB heraus ein Iso zu starten ist interessant, funktioniert aber leider nicht immer.
Der Debian-Installer beispielsweise lässt sich zwar damit starten, aber während einer Test-Debian-Installation wurde "kein CD-Laufwerk erkannt", und damit musste die Test-Installation abgebrochen werden.
Auch das kopieren der einzelnen Verzeichnisse und Links führte während der Test-Installation zu einer Meldung wie "falsche CD eingelegt".
Anscheinend prüft der Debian-Installer den Volume-Label (hier: "Debian 9.9.0 amd64 n"), und mit seinen 20 Zeichen sind Dateisysteme wie vfat oder ext4 ungeeignet.
Aber zum Glück steckt nicht nur GRUB, sondern auch cp voller Überraschungen: Mit der Option -T lässt sich eine Iso-Datei auch auf eine einzelne Partition kopieren.

Vorbereitung:

Mit einem Tool wie Gparted wurde ca. 1GB Platz geschaffen und eine 3. Partition angelegt.

Anleitung:

Iso-Datei auf das USB-Laufwerk kopieren:
cp -T debian-9.9.0-amd64-netinst.iso /dev/sdb3
sync
Die 1. Partition einhängen
mount /dev/sdb1 /mnt
nano /mnt/boot/grub/grub.cfg
und die ganzen Menü-Optionen des Debian-Installers zu einem Submenü zusammengefasst erstellen/hinzufügen:
submenu 'Debian 9 Stretch amd64' {
    set root=(hd0,gpt3)
    if loadfont /boot/grub/font.pf2 ; then
      set gfxmode=800x600
      insmod efi_gop
      insmod efi_uga
      insmod video_bochs
      insmod video_cirrus
      insmod gfxterm
      insmod png
      terminal_output gfxterm
    fi
    if background_image /isolinux/splash.png; then
      set color_normal=light-gray/black
      set color_highlight=white/black
    else
      set menu_color_normal=cyan/blue
      set menu_color_highlight=white/blue
    fi
    insmod part_gpt
    insmod fat
    insmod ext2
    insmod play
    play 960 440 1 0 4 440 1
    set theme=/boot/grub/theme/1
    menuentry --hotkey=g 'Graphical install' {
        set background_color=black
        linux    /install.amd/vmlinuz vga=788 --- quiet 
        initrd   /install.amd/gtk/initrd.gz
    }
    menuentry --hotkey=i 'Install' {
        set background_color=black
        linux    /install.amd/vmlinuz vga=788 --- quiet 
        initrd   /install.amd/initrd.gz
    }
    submenu --hotkey=a 'Advanced options ...' {
        set menu_color_normal=cyan/blue
        set menu_color_highlight=white/blue
        set theme=/boot/grub/theme/1-1
        menuentry '... Graphical expert install' {
            set background_color=black
            linux    /install.amd/vmlinuz priority=low vga=788 --- 
            initrd   /install.amd/gtk/initrd.gz
        }
        menuentry '... Graphical rescue mode' {
            set background_color=black
            linux    /install.amd/vmlinuz vga=788 rescue/enable=true --- quiet  
            initrd   /install.amd/gtk/initrd.gz
        }
        menuentry '... Graphical automated install' {
            set background_color=black
            linux    /install.amd/vmlinuz auto=true priority=critical vga=788 --- quiet 
            initrd   /install.amd/gtk/initrd.gz
        }
        menuentry --hotkey=x '... Expert install' {
            set background_color=black
            linux    /install.amd/vmlinuz priority=low vga=788 --- 
            initrd   /install.amd/initrd.gz
        }
        menuentry --hotkey=r '... Rescue mode' {
            set background_color=black
            linux    /install.amd/vmlinuz vga=788 rescue/enable=true --- quiet 
            initrd   /install.amd/initrd.gz
        }
        menuentry --hotkey=a '... Automated install' {
            set background_color=black
            linux    /install.amd/vmlinuz auto=true priority=critical vga=788 --- quiet 
            initrd   /install.amd/initrd.gz
        }
        submenu --hotkey=s '... Speech-enabled advanced options ...' {
            set menu_color_normal=cyan/blue
            set menu_color_highlight=white/blue
            set theme=/boot/grub/theme/1-1-1
            menuentry --hotkey=x '... Expert speech install' {
                set background_color=black
                linux    /install.amd/vmlinuz priority=low vga=788 speakup.synth=soft --- 
                initrd   /install.amd/gtk/initrd.gz
            }
            menuentry --hotkey=r '... Rescue speech mode' {
                set background_color=black
                linux    /install.amd/vmlinuz vga=788 rescue/enable=true speakup.synth=soft --- quiet  
                initrd   /install.amd/gtk/initrd.gz
            }
            menuentry --hotkey=a '... Automated speech install' {
                set background_color=black
                linux    /install.amd/vmlinuz auto=true priority=critical vga=788 speakup.synth=soft --- quiet 
                initrd   /install.amd/gtk/initrd.gz
            }
        }
    }
    menuentry --hotkey=s 'Install with speech synthesis' {
        set background_color=black
        linux    /install.amd/vmlinuz vga=788 speakup.synth=soft --- quiet 
        initrd   /install.amd/gtk/initrd.gz
    }
}
Auch kleine Helferlein wie die Debian GNU/Linux Installationsanleitung , die Debian-Referenz , das Securing-Debian-Handbuch oder das das Debian Administrationshandbuch lassen sich auf dem USB-Laufwerk ablegen.

Bitte Anmelden um der Konversation beizutreten.

Multiboot USB-Laufwerk 4 Monate 3 Wochen her #7

  • Dr.Tux
  • Dr.Tuxs Avatar
  • Offline
  • Administrator
  • Administrator
  • Linuxevangelist, Sportler, Analogfotograf, Veganer
  • Beiträge: 604
  • Dank erhalten: 48
Aus diesem Grund packe ich mir nur die Mini-Installer auf das USB-Medium. Zumal es ja Blödsinn ist, Kram von einem ISO zu installieren, der eh nach ein paar Tagen veraltet ist. Da reicht es, den (Mini)Installer zu starten und alles direkt frisch aus dem Netz zu holen.

Meiner Erfahrung nach gibt es da eine weitere Besonderheit: Sobald der Installer läuft, sollte man den USB-Datenträger ziehen, noch bevor die Laufwerkserkennung los legt. Sonst wird nämlich das USB-Medium als 1. und die Platte als 2. Laufwerk erkannt, so dass das installierte Betriebssystem dann natürlich nicht bootet!
Selbst ein Huhn kann Debian oder Devuan installieren, wenn du nur genug Körner auf die Enter-Taste legst.

Bitte Anmelden um der Konversation beizutreten.

Multiboot USB-Laufwerk 4 Monate 3 Wochen her #8

  • klaren
  • klarens Avatar
  • Offline
  • Administrator
  • Administrator
  • JID:klaren@im.kaalug.de
  • Beiträge: 627
  • Dank erhalten: 110
Hi Dr. Tux,

das klingt für mich mehr nach einem Bug des Installers, nicht nach generell nötiger Praxis - wunder.
Wobei ich die Konfusion verstehen kann - schließlich sind USB Sticks auch nur Speichermedien wie auch SSDs und Festplatten. Und alle tauchen als SCSI Disks auf - also mit sd im Devicenamen.

Gestaunt habe ich neulich, als ich mir eine NVMe SSD für meinen Server zugelegt habe. Die tauchen nicht als /dev/sdx, also SCSI Emulated Hardware auf, sondern haben eigene Devices und sogar die darauf angelegten Partitionen verfolgen ein eigenes Namesschema.

Die Devices heißen:
/dev/nvme0, 1, 2 etc.

Soweit so gut. Jetzt muss man aber zuerst einen Namespace anlegen, bevor man eine Partition anlegen kann, die dann Speicher für ein Blockdevice anbietet.
Zum Einrichten braucht man das user-space Kommando "nvme" aus (z.B.) dem Debian Paket "nvme-cli".

In den Namespace legt man dann eine Partition an. Das geht dann wie gewohnt mit z.B. fdisk.
Das Blockdevice nennt sich dann so:

/dev/nvme0n1p0

nvme0 -> erste NVME im System
n1 -> Namespace 1
p0 -> Partition Null.

Und so gehts weiter, p1, p2 etc.

Das Kommando nvme kann noch einiges mehr. So kann man z.B. auch die SMART Parameter abfragen (Temperatur, Anzahl Lese- und Schreibzyklen, Anzahl Fehler etc.).
Auch kennt das nvme Kommando einige Dinge, die man besser nicht während des Betriebs ausführt. Sowas wie "write-zeros" oder "write-uncor" sollte man besser lassen, wenn einem seine Daten lieb sind.

Einige moderne Laptops bieten auch NVMe Speichermedien. Könnte also sein, dass nochmal jemand anders das braucht.
Ist auf jeden Fall einer SATA SSD zu bevorzugen, denn NVMe ist direkt über den PCI-E angebunden und damit in der Regel viel Schneller als SATA 6G.

Mehr dazu hier oder hier

Liebe Grüße,
Klaren

Bitte Anmelden um der Konversation beizutreten.

Letzte Änderung: von klaren.

Multiboot USB-Laufwerk 4 Monate 2 Wochen her #9

  • Rudi
  • Rudis Avatar Autor
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 175
  • Dank erhalten: 29
Anleitungen für Gparted, Linux Mint, openSUSE und Ubuntu:

Hier noch einige Beispiele, die bei mir mit der Loop-Methode funktionieren.

2. Partition einhängen und openSUSE DVD-Image kopieren
mount /dev/sdb2 /mnt
cp openSUSE-Leap-15.1-DVD-x86_64.iso /mnt
umount /dev/sdb2

1. Partition einhängen, Gparted, Linux Mint und Ubuntu kopieren, und Menüeinträge in /boot/grub/grub.cfg erstellen/hinzufügen
mount /dev/sdb1 /mnt
cp gparted-live-1.0.0-2-amd64.iso /mnt
cp linuxmint-19.1-mate-64bit.iso /mnt
cp ubuntu-18.04.2-desktop-amd64.iso /mnt
cd /mnt/boot/grub
nano grub.cfg
Hier wurde eingetragen/hinzugefügt:
menuentry 'GParted 64-bit' {
    set root=(hd0,gpt1)
    set isofile=/gparted-live-1.0.0-2-amd64.iso
    insmod part_gpt
    insmod fat
    insmod ext2
    loopback loop $isofile
    linux (loop)/live/vmlinuz boot=live union=overlay username=user config components noswap noeject toram=filesystem.squashfs nosplash findiso=$isofile locales=de_DE.UTF-8 keyboard-layouts=de
    initrd (loop)/live/initrd.img
}

menuentry 'Linux Mint 19.01 MATE' {
    set root=(hd0,gpt1)
    set isofile=/linuxmint-19.1-mate-64bit.iso
    insmod part_gpt
    insmod fat
    insmod ext2
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd.lz
}

menuentry 'openSUSE Leap 15.1 DVD ISO' {
    set isofile="/openSUSE-Leap-15.1-DVD-x86_64.iso"
    set root=(hd0,gpt2)
    insmod part_gpt
    insmod fat
    insmod ext2
    loopback loop $isofile
    linux (loop)/boot/x86_64/loader/linux isofrom=/dev/sdb2$isofile
    initrd (loop)/boot/x86_64/loader/initrd
}

menuentry 'Ubuntu 18.04 LTS' {
    set root=(hd0,gpt1)
    set isofile=/ubuntu-18.04.2-desktop-amd64.iso
    insmod part_gpt
    insmod fat
    insmod ext2
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd
}
... ergänzt durch Linux Mint Cinnamon, Linux Mint Xfce, Kubuntu, Xubuntu, Lubuntu, Ubuntu MATE, Ubuntu Budgie, lässt sich das erste 32GB USB-Laufwerk schon mal gut füllen.

Bitte Anmelden um der Konversation beizutreten.

Letzte Änderung: von Rudi.
  • Seite:
  • 1
Ladezeit der Seite: 0.059 Sekunden