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