Inhaltsverzeichnis:

Raspberry Pi 4 Ubuntu USB Boot (keine SD-Karte) - Gunook
Raspberry Pi 4 Ubuntu USB Boot (keine SD-Karte) - Gunook

Video: Raspberry Pi 4 Ubuntu USB Boot (keine SD-Karte) - Gunook

Video: Raspberry Pi 4 Ubuntu USB Boot (keine SD-Karte) - Gunook
Video: Raspberry Pi 4 Boot from USB 3.0 Flash Drive w/microSD Bootloader 2024, November
Anonim
Raspberry Pi 4 Ubuntu USB Boot (keine SD-Karte)
Raspberry Pi 4 Ubuntu USB Boot (keine SD-Karte)

Die Anweisungen sind unten und führen Sie zum Booten des Raspberry Pi 4 ohne SD-Karte.

Wenn Sie den Schritten nicht folgen möchten, befinden sich im Originalbeitrag vorgefertigte Bilder. Flashen Sie diese Images einfach auf ein USB-Laufwerk und Sie können loslegen (solange Sie ein EEPROM haben, das das Booten von USB unterstützt - Schritt 3)

Lieferungen

Raspberry Pi 4

USB-SSD oder Flash-Laufwerk

Schritt 1: Ubuntu für Raspberry Pi von der Ubuntu-Site herunterladen

Laden Sie das Ubuntu-Image für Raspberry Pi 4 von der offiziellen Ubuntu-Website herunter.

ubuntu.com/download/raspberry-pi

Schritt 2: Image auf USB-Festplatte schreiben

Flashen Sie das Image auf ein USB-Laufwerk. Dies kann ein USB-Stick oder eine USB-SSD sein. Ich würde empfehlen, Balena Etcher unter Windows und MacOS zu verwenden. Wenn Sie Ubuntu verwenden, funktioniert der integrierte Image Writer einwandfrei.

www.balena.io/etcher/

Schritt 3: Raspberry Pi EEPROM aktualisieren

Für diesen Schritt gibt es mehrere Unterschritte. Wenn Sie das Raspberry Pi EEPROM bereits auf die "stable"-Version aktualisiert haben, können Sie diesen Schritt überspringen.

Zuerst müssen Sie das RaspberryPiOS-Image (https://www.raspberrypi.org/downloads/raspberry-pi-os/) auf eine SD-Karte schreiben.

Zweitens, booten Sie den Raspberry Pi und bearbeiten Sie die Datei /etc/default/rpi-eeprom-update, indem Sie eingeben

sudo nano /etc/default/rpi-eeprom-update

und ändern Sie den Eintrag "FIRMWARE_RELEASE_STATUS" von kritisch auf stabil.

Drittens, lauf

sudo rpi-eeprom-update -a

vom Terminal aus und warten Sie, bis die Aktualisierung abgeschlossen ist.

Siehe https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md für weitere Details, falls Sie diese benötigen

Schritt 4: Raspberry Pi-Firmware aktualisieren

Laden Sie die aktualisierten Firmware-Dateien von der Raspberry-Pi-Github-Site (https://github.com/raspberrypi/firmware/tree/master/boot) herunter.

Kopieren Sie alle *.dat- und *.elf-Dateien auf die Ubuntu-Boot-Partition auf dem USB-Treiber, der mit dem Ubuntu-Image aus Schritt 2 geflasht wurde. (Überschreiben Sie die Dateien, die zuvor dort waren)

Schritt 5: Dekomprimieren Sie den Kernel

Der Raspberry Pi 4 Bootloader kann kein komprimiertes Kernel-Image aufnehmen. Sie müssen dies vor Ihrem ersten Start manuell dekomprimieren.

Um dies unter Linux zu tun, öffnen Sie die Bootpartition des Ubuntu USB und führen Sie

zcat vmlinuz > vmlinux

vom Terminal.

Sie können dies unter Windows tun, indem Sie 7-zip verwenden und die vmlinuz-Datei extrahieren. Benennen Sie die extrahierte Datei nur in vmlinux um.

Schritt 6: Aktualisieren Sie die Datei Config.txt

Die Datei config.txt enthält die Startoptionen für die verschiedenen RaspberryPi-Boards. Aktualisieren Sie die Informationen für den Raspberry Pi 4. Ersetzen Sie den Abschnitt für [pi4] durch Folgendes:

[pi4]max_framebuffers=2 dtoverlay=vc4-fkms-v3d boot_delay kernel=vmlinux initramfs initrd.img followkernel

Schritt 7: Erstellen Sie ein Skript für die automatische Dekompression

Während eines Updates auf Ubuntu oder eines seiner vielen Pakete erstellt apt ein neues Kernel-Image. Dieses Image wird komprimiert und führt dazu, dass der Raspberry Pi nach dem Update nicht mehr bootet. Um dies zu beheben, muss ein Skript erstellt werden, um die neuen Kernel-Images nach Updates zu dekomprimieren.

Erstellen Sie ein Skript namens auto_decompress_kernel in der Bootpartition. Dies ist mit den meisten Texteditoren möglich. Unter Linux würde ich entweder Nano oder Atom empfehlen, unter Windows würde ich Atom empfehlen (Hinweis für Windows-Benutzer, die Textbearbeitung verwenden, achten Sie darauf, die Dateierweiterung "TXT" zu entfernen. Wenn Sie dies nicht tun, funktioniert dies nicht). Das Skript sollte folgenden Code enthalten:

#!/bin/bash -e

#Variablen setzen BTPATH=/boot/firmware CKPATH=$BTPATH/vmlinuz DKPATH=$BTPATH/vmlinux #Überprüfen Sie, ob eine Komprimierung erforderlich ist. if [-e $BTPATH/check.md5]; dann if md5sum --status --ignore-missing -c $BTPATH/check.md5; then echo -e "\e[32mDateien haben sich nicht geändert, Dekomprimierung nicht erforderlich\e[0m" exit 0 else echo -e "\e[31mHash fehlgeschlagen, Kernel wird komprimiert\e[0m" fi fi #Backup des alten dekomprimierten Kernel mv $DKPATH $DKPATH.bak if [! $? == 0]; then echo -e "\e[31mDECOMPRESSED KERNEL BACKUP FAILED!\e[0m" exit 1 else echo -e "\e[32mDecompressed Kernel Backup war erfolgreich\e[0m" fi #Decompress the new kernel echo "Decompressing kernel: " $CKPATH"………….." zcat $CKPATH > $DKPATH if [! $? == 0]; then echo -e "\e[31mKERNEL FAILED TO DECOMPRESS!\e[0m" exit 1 else echo -e "\e[32mKernel erfolgreich dekomprimiert\e[0m" fi #Hash den neuen Kernel zum Prüfen von md5sum $CKPATH $DKPATH > $BTPATH/check.md5 wenn [! $? == 0]; then echo -e "\e[31mMD5 GENERATION FAILED!\e[0m" else echo -e "\e[32mMD5 erfolgreich generiert\e[0m" fi #Exit exit 0

Schritt 8: Erstellen Sie ein weiteres Skript

Damit das soeben erstellte Skript jedes Mal aufgerufen wird, wenn ein Paket installiert wird, müssen wir ein weiteres Skript erstellen.

Dieses Skript muss im Ubuntu-Dateisystem erstellt werden. Wenn Sie dieses Setup auf einem Linux-System durchführen, können Sie diesen Teil vor dem ersten Booten durchführen, wenn Sie Windows oder MacOS verwenden, müssen Sie dies nach Ihrem ersten Booten tun.

Erstellen Sie dieses Skript im Verzeichnis /etc/apt/apt.conf.d/ und nennen Sie es 999_decompress_rpi_kernel

sudo nano /etc/apt/apt.conf.d/999_decompress_rpi_kernel

Der Code sollte lauten:

DPkg::Post-Invoke {"/bin/bash /boot/firmware/auto_decompress_kernel"; };

Nachdem dieser erstellt wurde, müssen Sie das Skript ausführbar machen. Dies kann mit dem folgenden Code erfolgen:

sudo chmod +x /etc/apt/apt.conf.d/999_decompress_rpi_kernel

Schritt 9: Genießen Sie Ubuntu auf dem Raspberry Pi 4

Jetzt können Sie Ubuntu auf einem USB-fähigen Laufwerk booten.

Empfohlen: