Sommario:
- Forniture
- Passaggio 1: scarica Ubuntu per Raspberry Pi dal sito Ubuntu
- Passaggio 2: scrivi l'immagine su disco USB
- Passaggio 3: aggiorna la EEPROM di Raspberry Pi
- Passaggio 4: aggiorna il firmware di Raspberry Pi
- Passaggio 5: decomprimere il kernel
- Passaggio 6: aggiorna il file Config.txt
- Passaggio 7: creare uno script di decompressione automatica
- Passaggio 8: crea un altro script
- Passaggio 9: goditi Ubuntu sul Raspberry Pi 4
Video: Avvio USB Ubuntu Raspberry Pi 4 (nessuna scheda SD): 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Le istruzioni sono di seguito e ti guideranno all'avvio del Raspberry Pi 4 senza una scheda SD.
Se non vuoi seguire i passaggi, ci sono immagini predefinite sul post originale. Basta eseguire il flashing di queste immagini su un'unità USB e sei a posto (a patto che tu disponga di una EEPROM che supporti l'avvio USB - passaggio 3)
Forniture
Lampone Pi 4
SSD USB o unità flash
Passaggio 1: scarica Ubuntu per Raspberry Pi dal sito Ubuntu
Scarica l'immagine Ubuntu per raspberry pi 4 dal sito Web ufficiale di Ubuntu.
ubuntu.com/download/raspberry-pi
Passaggio 2: scrivi l'immagine su disco USB
Flash l'immagine su un'unità USB. Può essere una chiavetta USB o un'unità SSD USB. Consiglierei di usare Balena Etcher su Windows e MacOS. Se stai usando Ubuntu, l'Image Writer integrato funzionerà perfettamente.
www.balena.io/etcher/
Passaggio 3: aggiorna la EEPROM di Raspberry Pi
Per questo passaggio, ci sono diversi passaggi secondari. Se hai già aggiornato la EEPROM di Raspberry Pi alla versione "stabile", puoi saltare questo passaggio.
Innanzitutto, devi scrivere l'immagine RaspberryPiOS (https://www.raspberrypi.org/downloads/raspberry-pi-os/) su una scheda SD.
In secondo luogo, avvia il Raspberry Pi e modifica il file /etc/default/rpi-eeprom-update digitando
sudo nano /etc/default/rpi-eeprom-update
e cambia la voce "FIRMWARE_RELEASE_STATUS" da critico a stabile.
Terzo, corri
sudo rpi-eeprom-update -a
dal terminale e consentire il completamento dell'aggiornamento.
Vedi https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md per ulteriori dettagli se ne hai bisogno
Passaggio 4: aggiorna il firmware di Raspberry Pi
Scarica i file del firmware aggiornati dal sito github di raspberry pi (https://github.com/raspberrypi/firmware/tree/master/boot).
Copia tutti i file *.dat e *.elf nella partizione di avvio di Ubuntu sul driver USB con l'immagine di Ubuntu dal passaggio 2. (Sovrascrivi i file che erano lì in precedenza)
Passaggio 5: decomprimere il kernel
Il bootloader Raspberry Pi 4 non può acquisire un'immagine del kernel compressa. Devi decomprimerlo manualmente prima del tuo primo avvio.
Per farlo su Linux, apri la partizione di avvio di Ubuntu USB ed esegui
zcat vmlinuz > vmlinux
dal terminale.
Puoi farlo su Windows usando 7-zip ed estraendo il file vmlinuz. Assicurati di rinominare il file estratto in vmlinux.
Passaggio 6: aggiorna il file Config.txt
Il file config.txt ha le opzioni di avvio per le varie schede RaspberryPi. Aggiorna le informazioni per Raspberry Pi 4. Sostituisci la sezione per [pi4] con quanto segue:
[pi4]max_framebuffers=2 dtoverlay=vc4-fkms-v3d boot_delay kernel=vmlinux initramfs initrd.img followkernel
Passaggio 7: creare uno script di decompressione automatica
Durante un aggiornamento a Ubuntu oa uno dei suoi numerosi pacchetti, apt creerà una nuova immagine del kernel. Questa immagine verrà compressa e impedirà l'avvio del Raspberry Pi dopo l'aggiornamento. Per risolvere questo problema, è necessario creare uno script per decomprimere le nuove immagini del kernel dopo gli aggiornamenti.
Crea uno script chiamato auto_decompress_kernel nella partizione di avvio. Questo può essere fatto con la maggior parte degli editor di testo. In Linux, consiglierei nano o Atom, in Windows consiglierei Atom (Nota per gli utenti Windows che utilizzano Text Edit, assicurati di rimuovere l'estensione del file "TXT". In caso contrario, questo non funzionerà). Lo script dovrebbe contenere il seguente codice:
#!/bin/bash -e
#Set Variables BTPATH=/boot/firmware CKPATH=$BTPATH/vmlinuz DKPATH=$BTPATH/vmlinux #Verifica se è necessario eseguire la compressione. if [-e $BTPATH/check.md5]; quindi se md5sum --status --ignore-missing -c $BTPATH/check.md5; then echo -e "\e[32mI file non sono cambiati, decompressione non necessaria\e[0m" exit 0 else echo -e "\e[31mHash fallito, il kernel verrà compresso\e[0m" fi fi #Backup del vecchio decompresso kernel mv $DKPATH $DKPATH.bak if [! $? == 0]; then echo -e "\e[31mBACKUP DEL KERNEL DECOMPRESSO FALLITO!\e[0m" exit 1 else echo -e "\e[32mBackup del kernel decompresso riuscito\e[0m" fi #Decomprimere il nuovo kernel echo "Decomprimere il kernel: " $CKPATH"………….." zcat $CKPATH > $DKPATH if [! $? == 0]; then echo -e "\e[31mKERNEL NON È RIUSCITO A DECOMPRESSARE!\e[0m" exit 1 else echo -e "\e[32mKernel decompresso con successo\e[0m" fi #Hash il nuovo kernel per controllare md5sum $CKPATH $DKPATH > $BTPATH/check.md5 if [! $? == 0]; then echo -e "\e[31mMD5 GENERATION FAILED!\e[0m" else echo -e "\e[32mMD5 generato con successo\e[0m" fi #Exit exit 0
Passaggio 8: crea un altro script
Affinché lo script appena creato venga chiamato ogni volta che viene installato un pacchetto, è necessario creare un altro script.
Questo script deve essere creato all'interno del filesystem di Ubuntu. Se stai eseguendo questa configurazione su un sistema Linux, puoi eseguire questa parte prima del tuo primo avvio, se sei su Windows o MacOS, dovrai farlo dopo il primo avvio.
Crea questo script nella directory /etc/apt/apt.conf.d/ e chiamalo 999_decompress_rpi_kernel
sudo nano /etc/apt/apt.conf.d/999_decompress_rpi_kernel
Il codice dovrebbe essere:
DPkg::Post-Invoke {"/bin/bash /boot/firmware/auto_decompress_kernel"; };
Una volta creato questo, sarà necessario rendere eseguibile lo script. Questo può essere fatto utilizzando il seguente codice:
sudo chmod +x /etc/apt/apt.conf.d/999_decompress_rpi_kernel
Passaggio 9: goditi Ubuntu sul Raspberry Pi 4
Ora puoi avviare Ubuntu su un'unità abilitata USB.
Consigliato:
Crea un EASY Infinity Mirror Cube - NESSUNA stampa 3D e NESSUNA programmazione: 15 passaggi (con immagini)
Crea un EASY Infinity Mirror Cube | NESSUNA stampa 3D e NESSUNA programmazione: a tutti piace un buon cubo infinito, ma sembra che sarebbe difficile da realizzare. Il mio obiettivo per questo Instructable è mostrarti passo dopo passo come crearne uno. Non solo, ma con le istruzioni che ti sto dando, sarai in grado di farne uno o
Installa Ubuntu 18.04.4 LTS sulla tua scheda Raspberry Pi: 8 passaggi
Installa Ubuntu 18.04.4 LTS sulla tua scheda Raspberry Pi: Il team Ubuntu ha rilasciato il sistema operativo Ubuntu 18.04.4 Supporto a lungo termine per computer a scheda singola Raspberry Pi 2/3/4 ARM. Breve panoramicaCome sappiamo, Raspbian è basato su Debian distro, che è il sistema operativo ufficiale per il Raspber
ESP32-CAM Cattura foto e invia tramite e-mail utilizzando la memoria SPIFF. --Nessuna scheda SD richiesta: 4 passaggi
ESP32-CAM Cattura foto e invia tramite e-mail utilizzando la memoria SPIFF. || Nessuna scheda SD richiesta: Ciao gente, la scheda ESP32-CAM è una scheda di sviluppo a basso costo che combina un chip ESP32-S, una fotocamera OV2640, diversi GPIO per collegare periferiche e uno slot per schede microSD. Ha una serie di applicazioni che vanno dal server web di streaming video, bu
Come programmare una scheda AVR utilizzando una scheda Arduino: 6 passaggi
Come programmare una scheda AVR utilizzando una scheda Arduino: hai una scheda microcontrollore AVR in giro? È complicato programmarlo? Bene, sei nel posto giusto. Qui, ti mostrerò come programmare una scheda microcontrollore Atmega8a utilizzando una scheda Arduino Uno come programmatore. Quindi senza ulteriori
Avvio da USB su un BIOS che non lo supporta: 3 passaggi
Avvia da USB su un BIOS che non lo supporta: questo istruibile è il mio secondo ed è MOLTO utile quando si dispone di un'unità flash avviabile. Ti mostra come creare e utilizzare il gestore di avvio PLoP. ----------Avrai bisogno---------- Un computer (non deve essere Windows) Un CD Un'unità flash con un