doku:live-system:multiboot-usb-stick_erstellen:multiboot-usb-stick_script
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| doku:live-system:multiboot-usb-stick_erstellen:multiboot-usb-stick_script [2016/06/29 08:51] – created gerdg | doku:live-system:multiboot-usb-stick_erstellen:multiboot-usb-stick_script [2016/07/14 09:28] (current) – gerdg | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| <file bash MultiBoot-USB-Stick_erstellen> | <file bash MultiBoot-USB-Stick_erstellen> | ||
| + | #!/bin/bash | ||
| + | # Gerd Göhler 2016-07-08 gerdg-dd@gmx.de | ||
| + | # CC BY-NC-SA 3.0 DE - https:// | ||
| + | # https:// | ||
| + | # | ||
| + | # - benutze ein Terminalprogramm und wechsele in das Verzeichnis | ||
| + | # - führe das Script aus (es werden Administratorenrechte benötigt) | ||
| + | # - gib folgendes auf der Komandozeite ein | ||
| + | # | ||
| + | # ./ | ||
| + | # | ||
| + | DEVICE=$1 # $1 = Gerät/ | ||
| + | # (zu formatierendes Gerät/ | ||
| + | LABEL=MULTIBOOT | ||
| + | version=8.5.0 # | ||
| + | download=" | ||
| + | |||
| + | # -- toolbox -- sonstige Tools und System einfügen | ||
| + | |||
| + | toolbox() { | ||
| + | echo " Toolbox ausgewählt " | ||
| + | |||
| + | tool=$(dialog --stdout --backtitle System-Auswahl --title Details --checklist " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ) | ||
| + | |||
| + | clear | ||
| + | for TOOL in ${tool}; do | ||
| + | case " | ||
| + | amd64-netinst) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte Geduld - kann etwas länger dauern - dafür alle Optionen verfügbar " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | |||
| + | memdisk | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | i386-netinst) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte Geduld - kann etwas länger dauern - dafür alle Optionen verfügbar " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | |||
| + | grml64) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte Geduld - kann etwas länger dauern - dafür alle Optionen verfügbar " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | |||
| + | grml32) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte Geduld - kann etwas länger dauern - dafür alle Optionen verfügbar " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | |||
| + | SystemRescueCd) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte Geduld - kann etwas länger dauern - dafür alle Optionen verfügbar " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} https:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | Kali-Linux-64) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | |||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | Kali-Linux-32) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | |||
| + | ${download} http:// | ||
| + | fehler | ||
| + | ;; | ||
| + | |||
| + | super-grub2-disk) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry "Super Grub2 Disk " { | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} https:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | |||
| + | rescatux) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | |||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte einen kleinen Moment Geduld " | ||
| + | insmod ext2 | ||
| + | insmod part_msdos | ||
| + | set isofile=${tool_iso} | ||
| + | loopback loop \$isofile | ||
| + | linux (loop)/ | ||
| + | initrd (loop)/ | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | echo " " | ||
| + | echo " " | ||
| + | echo " Bitte Geduld - kann etwas länger dauern - dafür alle Optionen verfügbar " | ||
| + | linux16 / | ||
| + | initrd16 ${tool_iso} | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | |||
| + | memtest86+) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | | ||
| + | | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | memdisk | ||
| + | if [ ! -f / | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | gzip -d / | ||
| + | fehler_test | ||
| + | fi | ||
| + | ;; | ||
| + | hdt) | ||
| + | echo " ${TOOL} einfügen " | ||
| + | tool_iso=/ | ||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | | ||
| + | | ||
| + | } | ||
| + | EOF | ||
| + | memdisk | ||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | ;; | ||
| + | *) | ||
| + | echo " ENDE Toolbox " | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | done | ||
| + | } | ||
| + | |||
| + | ## -- toolbox ende -- | ||
| + | |||
| + | memdisk() { | ||
| + | if [ ! -f / | ||
| + | } | ||
| + | |||
| + | fehler_test() { | ||
| + | if [ $? -gt 0 ]; then | ||
| + | echo " Es ist ein Fehler aufgetreten " | ||
| + | echo " Möchten sie weiter fortfahren geben sie >> y << ein und die Eingabetaste, | ||
| + | read FEHLER | ||
| + | |||
| + | if [ ! " | ||
| + | echo " | ||
| + | entfernen | ||
| + | exit 1 | ||
| + | fi | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | entfernen() { | ||
| + | echo " Gerät ${DEVICE} wird wieder freigegeben " | ||
| + | umount / | ||
| + | rmdir / | ||
| + | echo " | ||
| + | } | ||
| + | |||
| + | |||
| + | if echo " | ||
| + | then | ||
| + | p=p | ||
| + | else | ||
| + | p="" | ||
| + | fi | ||
| + | |||
| + | |||
| + | # teste benötigte Programme / Pakete | ||
| + | |||
| + | for paket in " | ||
| + | do | ||
| + | if dpkg -l | grep -q ${paket} | ||
| + | then | ||
| + | echo 2>& | ||
| + | else | ||
| + | echo "Das Paket >> $paket << ist nicht installiert" | ||
| + | echo " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | clear | ||
| + | |||
| + | echo " (1) Das Gerät ${DEVICE} soll neu genutzt werden. " | ||
| + | echo " (2) Das Gerät ${DEVICE} ist schon ein MULTIBOOT und soll nicht neu formatiert werden " | ||
| + | echo " | ||
| + | |||
| + | read WA | ||
| + | |||
| + | case " | ||
| + | 1) | ||
| + | echo " Das Gerät ${DEVICE} soll neu formatiert werden. " | ||
| + | echo " ALLE DATEN GEHEN VERLOREN ! " | ||
| + | echo " Möchten sie weiter fortfahren geben sie >> JA << ein und die Eingabetaste, | ||
| + | |||
| + | read format | ||
| + | |||
| + | if [ " | ||
| + | then echo " | ||
| + | parted -s ${DEVICE} mklabel msdos | ||
| + | parted -s ${DEVICE} mkpart primary fat32 0% 100% | ||
| + | parted -s ${DEVICE} set 1 boot on | ||
| + | parted -s ${DEVICE} align-check optimal 1 | ||
| + | mkfs.vfat -F32 -n ${LABEL} ${DEVICE}${p}1 | ||
| + | parted -s ${DEVICE} print | ||
| + | else echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | ;; | ||
| + | 2) | ||
| + | echo " Weiter ohne neu zu formatieren. " | ||
| + | ;; | ||
| + | *) | ||
| + | echo " | ||
| + | exit 1 | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | echo " Gerät ${DEVICE} wird eingebunden " | ||
| + | |||
| + | if [ ! -d / | ||
| + | |||
| + | mount ${DEVICE}${p}1 / | ||
| + | fehler_test | ||
| + | |||
| + | if [ ! -d / | ||
| + | echo " | ||
| + | grub-install --no-floppy --force --removable --root-directory=/ | ||
| + | else | ||
| + | echo " Grub bereites installiert. " | ||
| + | fi | ||
| + | |||
| + | ## grub.cfg anlegen | ||
| + | |||
| + | cat << | ||
| + | ## grub.cfg - generiert - $(date) | ||
| + | |||
| + | set timeout=15 | ||
| + | set default=0 | ||
| + | |||
| + | insmod part_msdos | ||
| + | insmod ntfs | ||
| + | insmod ext2 | ||
| + | insmod iso9660 | ||
| + | insmod font | ||
| + | |||
| + | function load_video { | ||
| + | if [ x$feature_all_video_module = xy ]; then | ||
| + | insmod all_video | ||
| + | else | ||
| + | # insmod efi_gop | ||
| + | # insmod efi_uga | ||
| + | # insmod ieee1275_fb | ||
| + | insmod vbe | ||
| + | insmod vga | ||
| + | insmod video_bochs | ||
| + | insmod video_cirrus | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | if loadfont \${prefix}/ | ||
| + | then | ||
| + | set gfxmode=auto | ||
| + | | ||
| + | | ||
| + | set locale_dir=$prefix/ | ||
| + | set lang=de_DE | ||
| + | | ||
| + | set gfxpayload=keep | ||
| + | | ||
| + | fi | ||
| + | |||
| + | insmod png | ||
| + | if background_image \${prefix}/ | ||
| + | set color_normal=white/ | ||
| + | set color_highlight=black/ | ||
| + | else | ||
| + | set menu_color_normal=cyan/ | ||
| + | set menu_color_highlight=white/ | ||
| + | fi | ||
| + | |||
| + | set bootoptions=" | ||
| + | set version=$version | ||
| + | |||
| + | EOF | ||
| + | |||
| + | auswahl=$(dialog --stdout --backtitle System-Auswahl --title Details --checklist " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | \ | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | ) | ||
| + | |||
| + | # echo "Sie haben Ausgewählt : $auswahl " | ||
| + | clear | ||
| + | |||
| + | for SYSTEM in $auswahl | ||
| + | do | ||
| + | if [ " | ||
| + | then | ||
| + | echo " Tools ist ausgewählt" | ||
| + | else | ||
| + | echo " | ||
| + | cat << | ||
| + | set ${SYSTEM// | ||
| + | EOF | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | echo " | ||
| + | |||
| + | if [ ! -d / | ||
| + | if [ ! -d / | ||
| + | |||
| + | ${download} https:// | ||
| + | fehler_test | ||
| + | |||
| + | for SYSTEM in ${auswahl} | ||
| + | do | ||
| + | if [ " | ||
| + | then | ||
| + | # echo " Tools ist ausgewählt" | ||
| + | toolbox | ||
| + | echo " Toolbox ist fertig" | ||
| + | else | ||
| + | echo " | ||
| + | system_iso="/ | ||
| + | echo " gespeichert in / | ||
| + | |||
| + | if echo " | ||
| + | architectur=i386 | ||
| + | z=1 | ||
| + | elif echo " | ||
| + | architectur=amd64 | ||
| + | z="" | ||
| + | fi | ||
| + | echo " Architectur : ${architectur}" | ||
| + | |||
| + | echo " | ||
| + | cat << | ||
| + | |||
| + | menuentry " | ||
| + | | ||
| + | | ||
| + | set isofile=\$${SYSTEM// | ||
| + | | ||
| + | linux (loop)/ | ||
| + | | ||
| + | } | ||
| + | EOF | ||
| + | |||
| + | ${download} http:// | ||
| + | fehler_test | ||
| + | |||
| + | fi | ||
| + | |||
| + | echo " Systemauswahl beendet " | ||
| + | |||
| + | done | ||
| + | |||
| + | echo " | ||
| + | |||
| + | cat << | ||
| + | |||
| + | ## sonstige Menüeinträge | ||
| + | |||
| + | menuentry " | ||
| + | set root=(hd1) | ||
| + | | ||
| + | } | ||
| + | |||
| + | menuentry "lspci - Hardware Infos " { | ||
| + | lspci | ||
| + | read | ||
| + | } | ||
| + | |||
| + | menuentry " | ||
| + | } | ||
| + | | ||
| + | menuentry " | ||
| + | | ||
| + | } | ||
| + | menuentry "Shut Down - Rechner ausschalten " { | ||
| + | halt | ||
| + | } | ||
| + | |||
| + | EOF | ||
| + | |||
| + | sync | ||
| + | |||
| + | entfernen | ||
| </ | </ | ||
| --- // | --- // | ||
doku/live-system/multiboot-usb-stick_erstellen/multiboot-usb-stick_script.1467183066.txt.gz · Last modified: 2016/06/29 08:51 by gerdg