Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Pobierz Ubuntu dla Raspberry Pi z witryny Ubuntu
- Krok 2: Zapisz obraz na dysku USB
- Krok 3: Zaktualizuj EEPROM Raspberry Pi
- Krok 4: Zaktualizuj oprogramowanie układowe Raspberry Pi
- Krok 5: Rozpakuj jądro
- Krok 6: Zaktualizuj plik Config.txt
- Krok 7: Utwórz skrypt automatycznej dekompresji
- Krok 8: Utwórz kolejny skrypt
- Krok 9: Ciesz się Ubuntu na Raspberry Pi 4
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Instrukcje znajdują się poniżej i poprowadzą Cię do uruchamiania Raspberry Pi 4 bez karty SD.
Jeśli nie chcesz postępować zgodnie z instrukcjami, w oryginalnym poście znajdują się gotowe obrazy. Po prostu sflashuj te obrazy na dysk USB i gotowe (o ile masz pamięć EEPROM obsługującą uruchamianie z USB - krok 3)
Kieszonkowe dzieci
Raspberry Pi 4
Dysk SSD lub pendrive
Krok 1: Pobierz Ubuntu dla Raspberry Pi z witryny Ubuntu
Pobierz obraz Ubuntu dla raspberry pi 4 z oficjalnej strony Ubuntu.
ubuntu.com/download/raspberry-pi
Krok 2: Zapisz obraz na dysku USB
Prześlij obraz na dysk USB. Może to być pamięć USB lub dysk SSD USB. Polecam używanie Baleny Etcher na Windows i MacOS. Jeśli używasz Ubuntu, wbudowany Image Writer będzie działał dobrze.
www.balena.io/etcher/
Krok 3: Zaktualizuj EEPROM Raspberry Pi
W tym kroku istnieje kilka podetapów. Jeśli zaktualizowałeś już EEPROM Raspberry Pi do wersji „stabilnej”, możesz pominąć ten krok.
Najpierw musisz zapisać obraz RaspberryPiOS (https://www.raspberrypi.org/downloads/raspberry-pi-os/) na kartę SD.
Po drugie, uruchom Raspberry Pi i edytuj plik /etc/default/rpi-eeprom-update, wpisując
sudo nano /etc/default/rpi-eeprom-update
i zmień wpis "FIRMWARE_RELEASE_STATUS" z krytycznego na stabilny.
Po trzecie, biegnij
sudo rpi-eeprom-aktualizacja -a
z terminala i poczekaj na zakończenie aktualizacji.
Zobacz https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md, aby uzyskać więcej informacji, jeśli ich potrzebujesz
Krok 4: Zaktualizuj oprogramowanie układowe Raspberry Pi
Pobierz zaktualizowane pliki oprogramowania sprzętowego ze strony github raspberry pi (https://github.com/raspberrypi/firmware/tree/master/boot).
Skopiuj wszystkie pliki *.dat i *.elf na partycję rozruchową Ubuntu na sterowniku USB z flashowanym obrazem Ubuntu z kroku 2. (Zastąp pliki, które tam były wcześniej)
Krok 5: Rozpakuj jądro
Bootloader Raspberry Pi 4 nie może pobrać skompresowanego obrazu jądra. Musisz ręcznie zdekompresować to przed pierwszym uruchomieniem.
Aby to zrobić w systemie Linux, otwórz partycję rozruchową Ubuntu USB i uruchom
zcat vmlinuz > vmlinux
z terminala.
Możesz to zrobić w systemie Windows za pomocą 7-zip i wyodrębniając plik vmlinuz. Tylko pamiętaj, aby zmienić nazwę wyodrębnionego pliku na vmlinux.
Krok 6: Zaktualizuj plik Config.txt
Plik config.txt zawiera opcje uruchamiania dla różnych płyt RaspberryPi. Zaktualizuj informacje dla Raspberry Pi 4. Zastąp sekcję [pi4] następującym:
[pi4]max_framebuffers=2 dtoverlay=vc4-fkms-v3d boot_delay kernel=vmlinux initramfs initrd.img followkernel
Krok 7: Utwórz skrypt automatycznej dekompresji
Podczas aktualizacji do Ubuntu lub jednego z wielu jego pakietów, apt utworzy nowy obraz jądra. Ten obraz zostanie skompresowany i spowoduje, że Raspberry Pi nie uruchomi się po aktualizacji. Aby to naprawić, należy utworzyć skrypt, który rozpakuje nowe obrazy jądra po aktualizacji.
Utwórz skrypt o nazwie auto_decompress_kernel na partycji rozruchowej. Można to zrobić za pomocą większości edytorów tekstu. W Linuksie poleciłbym nano lub Atom, w Windows poleciłbym Atom (Uwaga dla użytkowników Windows korzystających z edycji tekstu, pamiętaj o usunięciu rozszerzenia pliku „TXT”. Jeśli nie, to nie zadziała). Skrypt powinien zawierać następujący kod:
#!/bin/bash -e
#Ustaw zmienne BTPATH=/boot/firmware CKPATH=$BTPATH/vmlinuz DKPATH=$BTPATH/vmlinux #Sprawdź, czy należy wykonać kompresję. if [-e $BTPATH/check.md5]; wtedy if md5sum --status --ignore-missing -c $BTPATH/check.md5; then echo -e "\e[32mPliki nie uległy zmianie, dekompresja nie jest potrzebna\e[0m" exit 0 else echo -e "\e[31mHash nie powiodła się, jądro zostanie skompresowane\e[0m" fi fi #Utwórz kopię zapasową starej zdekompresowanej kernel mv $DKPATH $DKPATH.bak if [! $? == 0]; then echo -e "\e[31mDEKOMPRESOWANA KOPIA ZAPASOWA JĄDRA NIEUDANA!\e[0m" exit 1 else echo -e "\e[32mZdekompresowana kopia zapasowa jądra powiodła się\e[0m" fi #Rozpakuj nowe jądro echo "Dekompresowanie jądra: " $CKPATH"………….." zcat $CKPATH > $DKPATH if [! $? == 0]; then echo -e "\e[31mKERNEL NIE MOŻNA DEKOMPRESOWAĆ!\e[0m" exit 1 else echo -e "\e[32mKernel Zdekompresowano pomyślnie\e[0m" fi #Zahaszuj nowe jądro w celu sprawdzenia sumy md5 $CKPATH $DKPATH > $BTPATH/check.md5 jeśli [! $? == 0]; then echo -e "\e[31mMD5 GENEROWANIE NIEUDANE!\e[0m" else echo -e "\e[32mMD5 wygenerowane pomyślnie\e[0m" fi #Wyjście wyjście 0
Krok 8: Utwórz kolejny skrypt
Aby skrypt, który właśnie utworzyliśmy, był wywoływany za każdym razem, gdy pakiet jest instalowany, musimy utworzyć inny skrypt.
Ten skrypt należy utworzyć w systemie plików Ubuntu. Jeśli robisz tę konfigurację w systemie Linux, możesz wykonać tę część przed pierwszym uruchomieniem, jeśli korzystasz z systemu Windows lub MacOS, będziesz musiał to zrobić po pierwszym uruchomieniu.
Utwórz ten skrypt w katalogu /etc/apt/apt.conf.d/ i nazwij go 999_decompress_rpi_kernel
sudo nano /etc/apt/apt.conf.d/999_decompress_rpi_kernel
Kod powinien być:
DPkg::Post-Invoke {"/bin/bash /boot/firmware/auto_decompress_kernel"; };
Po utworzeniu tego skryptu będziesz musiał uczynić skrypt wykonywalnym. Można to zrobić za pomocą następującego kodu:
sudo chmod +x /etc/apt/apt.conf.d/999_decompress_rpi_kernel
Krok 9: Ciesz się Ubuntu na Raspberry Pi 4
Teraz możesz uruchomić Ubuntu na dysku obsługującym USB.