Website-Suche

Debian USB-Firmware-Loader-Skript


In diesem Artikel untersuchen wir ein effizientes Bash-Skript, debian_firmware_setup.sh, das den Prozess der Integration von unfreier Firmware, wie z.B. Wi-Fi-Treibern, in Ihre Debian-Installation vereinfacht. Das Skript automatisiert die Vorbereitung eines USB-Sticks, indem es ihn formatiert, eine bestimmte Version der unfreien Debian-Firmware herunterlädt und auf den USB-Stick extrahiert. Dies führt zu einem gebrauchsfertigen USB-Gerät, das während eines Debian-Installationsprozesses eingesetzt werden kann, wodurch die Einrichtung unfreier Firmware-Elemente erleichtert und der Aufwand reduziert wird, der oft mit der manuellen Firmware-Integration verbunden ist.

In diesem Tutorial lernen Sie:

  • USB-Formatierung: Das Skript automatisiert den Prozess des Löschens und Formatierens eines ausgewählten USB-Sticks und bereitet ihn für die Installation der Firmware vor.
  • Firmware-Download: Es lädt eine bestimmte Version der unfreien Debian-Firmware herunter, die vom Benutzer angegeben wird.
  • Firmware-Installation: Die heruntergeladene Firmware wird automatisch auf den neu formatierten USB-Stick extrahiert und ist somit einsatzbereit.
  • Unterstützung der Debian-Installation: Der resultierende USB-Stick dient als praktisches Werkzeug während des Debian-Installationsprozesses und hilft Benutzern, unfreie Firmware, wie z.B. Wi-Fi-Treiber, mühelos zu integrieren.

Debian Firmware USB Ersteller

In diesem Leitfaden führen wir Sie durch den Prozess der Verwendung des debian_firmware_setup.sh Skripts. Dieses Skript automatisiert den Prozess der Vorbereitung eines USB-Sticks mit einer bestimmten Version der unfreien Debian-Firmware. Hier sind die detaillierten Schritte zur Verwendung dieses Skripts:

  1. Holen Sie sich das Skript: Sie müssen das debian_firmware_setup.sh Skript auf Ihrem System haben. Es kann in jedem Verzeichnis abgelegt werden, das Sie für geeignet halten. Dies kann durch Kopieren und Einfügen des Skripts aus der Quelle erreicht werden, in der es bereitgestellt wird. Hier ist das Skript:

    #!/bin/bash
    
    Check if root
    if [ "$EUID" -ne 0 ]
      then echo "Please run as root"
      exit
    fi
    
    Check if correct number of arguments are provided
    if [ "$#" -ne 1 ]; then
        echo "Usage: $0 "
        exit 1
    fi
    
    VERSION=$1
    MOUNT_POINT="/mnt/usb"
    
    Get a list of USB devices
    USB_DEVICES=$(lsblk -do NAME,MODEL,SIZE,TRAN | grep 'usb')
    
    Check if any USB devices were found
    if [ -z "$USB_DEVICES" ]; then
        echo "No USB devices found. Please plug in a USB device and try again."
        exit 1
    fi
    
    Convert the devices into an array
    USB_DEVICES=($USB_DEVICES)
    
    Print the USB devices and ask the user to choose one
    IFS=$'\n' 
    for i in $(lsblk -do NAME,MODEL,SIZE,TRAN | grep 'usb'); do
        DEVICES+=("$i")
    done
    for i in "${!DEVICES[@]}"; do
        echo "$((i+1)). ${DEVICES[$i]}"
    done
    echo "Please enter the number of the device you want to format:"
    read NUMBER
    DEVICE="/dev/$(echo ${DEVICES[$((NUMBER-1))]} | awk '{print $1}')"
    
    Unmount if mounted
    if mount | grep -q $DEVICE; then
        echo "Device $DEVICE is mounted. Unmounting..."
        umount $DEVICE*
    fi
    
    Wipe old signatures
    wipefs --all --force $DEVICE
    
    Create the partition
    echo -e "o\nn\np\n1\n\n\nt\nb\nw" | fdisk $DEVICE
    
    Create the filesystem with a delay
    sleep 5  # Add delay to ensure /dev/sda1 will be available
    PARTITION=${DEVICE}1
    mkfs.vfat $PARTITION
    
    Create mount point if it doesn't exist
    mkdir -p $MOUNT_POINT
    
    Mount the partition
    mount $PARTITION $MOUNT_POINT
    
    Verify if the partition is mounted
    if ! mount | grep -q $PARTITION; then
        echo "Failed to mount $PARTITION. Cannot proceed with writing data."
        exit 1
    fi
    
    Download the firmware
    FIRMWARE_URL="http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/$VERSION/current/firmware.tar.gz"
    wget -P $MOUNT_POINT $FIRMWARE_URL
    
    Extract the firmware
    tar -xvzf $MOUNT_POINT/firmware.tar.gz -C $MOUNT_POINT
    
    Unmount the partition if it's mounted
    if mount | grep -q $PARTITION; then
        umount $PARTITION
    fi
    
    echo "The script has finished."
  2. Machen Sie das Skript ausführbar: Sobald Sie das Skript auf Ihrem System haben, navigieren Sie mit dem Terminal zu dem Verzeichnis, in dem es sich befindet, und machen Sie es mit dem folgenden Befehl ausführbar:

    chmod +x debian_firmware_setup.sh
  3. Skript ausführen: Das Skript muss als Root-Benutzer ausgeführt werden. Außerdem müssen Sie die Debian-Version der unfreien Firmware bereitstellen, die Sie herunterladen möchten. Verwenden Sie den folgenden Befehl, um das Skript auszuführen:

    sudo ./debian_firmware_setup.sh <Debian version> eg. bookworm

    Ersetzen Sie <Debian-Version> durch die Version der Debian-Firmware, die Sie herunterladen möchten.

  4. USB-Stick auswählen: Das Skript listet alle angeschlossenen USB-Geräte mit ihren Namen und Größen auf und fordert Sie auf, eines auszuwählen. Geben Sie die Nummer ein, die dem USB-Gerät entspricht, das Sie formatieren möchten, und drücken Sie die Eingabetaste. Seien Sie bei diesem Schritt vorsichtig, da der ausgewählte USB-Stick formatiert wird und alle darauf befindlichen Daten gelöscht werden.
  5. Warten Sie, bis der Vorgang abgeschlossen ist: Das Skript hängt dann das ausgewählte Gerät aus (falls es gemountet wurde), löscht es, erstellt eine neue Partition, formatiert es, mountet es, lädt die angegebene Version der Debian-Firmware herunter, extrahiert die Firmware auf die neu erstellte Partition und hängt die Partition schließlich aus.

Bitte beachten Sie, dass die Internetverbindung für das Skript erforderlich ist, um die Debian-Firmware herunterzuladen. Stellen Sie sicher, dass Sie diesen USB-Stick während Ihres Debian-Installationsprozesses verwenden, um die unfreie Firmware nahtlos zu integrieren.

Denken Sie daran, dieses Skript immer mit Vorsicht zu verwenden, da es das ausgewählte USB-Gerät formatiert, was zum Verlust aller Daten auf dem Gerät führt.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass das debian_firmware_setup.sh-Skript ein mächtiges Werkzeug ist, das den Prozess der Vorbereitung eines USB-Sticks mit einer bestimmten unfreien Debian-Firmware vereinfacht. Durch die Automatisierung entfällt die Komplexität, die oft mit manuellen USB-Formatierungs-, Firmware-Download- und Extraktionsprozessen verbunden ist. Durch die Aufforderung an den Benutzer, aus angeschlossenen USB-Geräten zu wählen, das erfolgreiche Ein- und Aushängen sicherzustellen und alle Vorgänge im Zusammenhang mit der Firmware-Einrichtung durchzuführen, rationalisiert dieses Skript den Debian-Installationsprozess, insbesondere wenn es um die Integration von unfreier Firmware wie Wi-Fi-Treibern geht. Bei der Verwendung solcher Skripte ist jedoch immer Vorsicht geboten, da es sich um Formatierungsvorgänge handelt, die zum Verlust aller vorhandenen Daten auf dem ausgewählten USB-Stick führen. Mit diesem Dienstprogramm in Ihrem Arsenal wird das Einrichten von Debian mit einer bestimmten unfreien Firmware zu einer mühelosen Aufgabe.

Verwandte Artikel: