Inhoudsopgave:

Raspberry Pi 4 Ubuntu USB Boot (geen SD-kaart) - Ajarnpa
Raspberry Pi 4 Ubuntu USB Boot (geen SD-kaart) - Ajarnpa

Video: Raspberry Pi 4 Ubuntu USB Boot (geen SD-kaart) - Ajarnpa

Video: Raspberry Pi 4 Ubuntu USB Boot (geen SD-kaart) - Ajarnpa
Video: Pi 4B not booting. Eeprom fix test. 2024, November
Anonim
Raspberry Pi 4 Ubuntu USB Boot (geen SD-kaart)
Raspberry Pi 4 Ubuntu USB Boot (geen SD-kaart)

De instructies staan hieronder en zullen u begeleiden bij het opstarten van de Raspberry Pi 4 zonder SD-kaart.

Als je de stappen niet wilt volgen, staan er kant-en-klare afbeeldingen op het originele bericht. Flash deze afbeeldingen naar een USB-station en u bent klaar om te gaan (zolang u een EEPROM heeft die USB-opstart ondersteunt - stap 3)

Benodigdheden

Raspberry Pi 4

USB SSD of Flash Drive

Stap 1: Download Ubuntu voor Raspberry Pi van de Ubuntu-site

Download de Ubuntu-afbeelding voor raspberry pi 4 van de officiële Ubuntu-website.

ubuntu.com/download/raspberry-pi

Stap 2: Schrijf afbeelding naar USB-schijf

Flash de afbeelding naar een USB-stick. Dit kan een USB-stick zijn, of een USB SSD. Ik zou aanraden om Balena Etcher te gebruiken op Windows en MacOS. Als u Ubuntu gebruikt, werkt de ingebouwde Image Writer prima.

www.balena.io/etcher/

Stap 3: Update Raspberry Pi EEPROM

Voor deze stap zijn er verschillende substappen. Als je de Raspberry Pi EEPROM al hebt bijgewerkt naar de "stabiele" release, dan kun je deze stap overslaan.

Eerst moet je de RaspberryPiOS-afbeelding (https://www.raspberrypi.org/downloads/raspberry-pi-os/) naar een SD-kaart schrijven.

Ten tweede, start de Raspberry Pi op en bewerk het bestand /etc/default/rpi-eeprom-update door te typen

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

en verander het item "FIRMWARE_RELEASE_STATUS" van kritisch naar stabiel.

Ten derde, ren

sudo rpi-eeprom-update -a

vanaf de terminal en laat de update voltooien.

Zie https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md voor meer details als je ze nodig hebt

Stap 4: Update Raspberry Pi-firmware

Download de bijgewerkte firmwarebestanden van de raspberry pi github-site (https://github.com/raspberrypi/firmware/tree/master/boot).

Kopieer alle *.dat- en *.elf-bestanden naar de Ubuntu-opstartpartitie op het USB-stuurprogramma dat is geflitst met de Ubuntu-image uit stap 2. (Overschrijf de bestanden die er eerder waren)

Stap 5: Decomprimeer de kernel

De Raspberry Pi 4-bootloader kan geen gecomprimeerde kernel-image aan. U moet dit handmatig decomprimeren voordat u voor het eerst opstart.

Om dit op linux te doen, opent u de opstartpartitie van de Ubuntu USB en voert u

zcat vmlinuz > vmlinux

vanaf de terminal.

U kunt dit op Windows doen door 7-zip te gebruiken en het vmlinuz-bestand uit te pakken. Zorg er wel voor dat u het uitgepakte bestand hernoemt naar vmlinux.

Stap 6: Werk het Config.txt-bestand bij

Het bestand config.txt bevat de opstartopties voor de verschillende RaspberryPi-kaarten. Werk de informatie voor de Raspberry Pi 4 bij. Vervang de sectie voor [pi4] door het volgende:

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

Stap 7: Maak een automatisch decompressiescript

Tijdens een update naar Ubuntu of een van de vele pakketten, zal apt een nieuwe kernel-image maken. Deze afbeelding wordt gecomprimeerd en zorgt ervoor dat de Raspberry Pi niet meer opstart na de update. Om dit op te lossen, moet er een script worden gemaakt om de nieuwe kernel-images na updates te decomprimeren.

Maak een script met de naam auto_decompress_kernel in de opstartpartitie. Dit kan met de meeste teksteditors. In Linux zou ik nano of Atom aanbevelen, in Windows zou ik Atom aanbevelen (Opmerking voor Windows-gebruikers die Text Edit gebruiken, zorg ervoor dat u de bestandsextensie "TXT" verwijdert. Als u dat niet doet, zal dit niet werken). Het script moet de volgende code bevatten:

#!/bin/bash -e

#Set Variables BTPATH=/boot/firmware CKPATH=$BTPATH/vmlinuz DKPATH=$BTPATH/vmlinux #Controleer of compressie moet worden uitgevoerd. if [-e $BTPATH/check.md5]; dan als md5sum --status --ignore-missing -c $BTPATH/check.md5; dan echo -e "\e[32mFiles zijn niet veranderd, decompressie niet nodig\e[0m" exit 0 else echo -e "\e[31mHash mislukt, kernel wordt gecomprimeerd\e[0m" fi fi #Backup van de oude gedecomprimeerde kernel mv $DKPATH $DKPATH.bak als [! $? == 0]; dan echo -e "\e[31mDECOMPRESSED KERNEL BACKUP MISLUKT!\e[0m" exit 1 else echo -e "\e[32mDecompressed kernel backup was succesvol\e[0m" fi #Decomprimeer de nieuwe kernel echo "Decomprimeren van kernel: " $CKPATH"………….." zcat $CKPATH > $DKPATH if [! $? == 0]; dan echo -e "\e[31mKERNEL KAN NIET DECOMPRESSEREN!\e[0m" exit 1 else echo -e "\e[32mKernel succesvol gedecomprimeerd\e[0m" fi #Hash de nieuwe kernel voor het controleren van md5sum $CKPATH $DKPATH > $BTPATH/check.md5 als [! $? == 0]; dan echo -e "\e[31mMD5 GENERATIE MISLUKT!\e[0m" else echo -e "\e[32mMD5 succesvol gegenereerd\e[0m" fi #Exit exit 0

Stap 8: Maak nog een script

Om ervoor te zorgen dat het script dat we zojuist hebben gemaakt, wordt aangeroepen telkens wanneer een pakket wordt geïnstalleerd, moeten we een ander script maken.

Dit script moet binnen het Ubuntu-bestandssysteem worden gemaakt. Als u deze installatie op een Linux-systeem uitvoert, kunt u dit gedeelte vóór uw eerste keer opstarten uitvoeren, als u Windows of MacOS gebruikt, moet u dit doen na uw eerste keer opstarten.

Maak dit script in de map /etc/apt/apt.conf.d/ en noem het 999_decompress_rpi_kernel

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

De code moet zijn:

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

Zodra dit is gemaakt, moet u het script uitvoerbaar maken. Dit kan met de volgende code:

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

Stap 9: Geniet van Ubuntu op de Raspberry Pi 4

Nu kunt u Ubuntu opstarten op een USB-station.

Aanbevolen: