Съдържание:

Raspberry Pi 4 Ubuntu USB зареждане (без SD карта): 9 стъпки
Raspberry Pi 4 Ubuntu USB зареждане (без SD карта): 9 стъпки

Видео: Raspberry Pi 4 Ubuntu USB зареждане (без SD карта): 9 стъпки

Видео: Raspberry Pi 4 Ubuntu USB зареждане (без SD карта): 9 стъпки
Видео: Raspberry Pi 4B in the Argon ONE M.2 case with a 128 GB SSD, assembling a server for Home Assistant 2024, Декември
Anonim
Raspberry Pi 4 Ubuntu USB зареждане (без SD карта)
Raspberry Pi 4 Ubuntu USB зареждане (без SD карта)

Инструкциите са по -долу и ще ви насочат към зареждането на Raspberry Pi 4 без SD карта.

Ако не искате да следвате стъпките, в оригиналната публикация има предварително изградени изображения. Просто прехвърлете тези изображения на USB устройство и можете да започнете (стига да имате EEPROM, който поддържа зареждане от USB - стъпка 3)

Консумативи

Малина Пи 4

USB SSD или флаш устройство

Стъпка 1: Изтеглете Ubuntu за Raspberry Pi от сайта на Ubuntu

Изтеглете изображението на Ubuntu за raspberry pi 4 от официалния уебсайт на Ubuntu.

ubuntu.com/download/raspberry-pi

Стъпка 2: Запишете изображение на USB диск

Мигайте изображението на USB устройство. Това може да бъде USB стик или USB SSD. Бих препоръчал да използвате Balena Etcher за Windows и MacOS. Ако използвате Ubuntu, вграденият Image Writer ще работи добре.

www.balena.io/etcher/

Стъпка 3: Актуализирайте Raspberry Pi EEPROM

За тази стъпка има няколко подетапа. Ако вече сте актуализирали EEPROM на Raspberry Pi до „стабилна“версия, можете да пропуснете тази стъпка.

Първо, трябва да напишете изображението на RaspberryPiOS (https://www.raspberrypi.org/downloads/raspberry-pi-os/) на SD карта.

Второ, стартирайте Raspberry Pi и редактирайте файла/etc/default/rpi-eeprom-update, като въведете

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

и променете записа „FIRMWARE_RELEASE_STATUS“от критичен на стабилен.

Трето, бягай

sudo rpi-eeprom-update -a

от терминала и оставете актуализацията да завърши.

Вижте https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md за повече подробности, ако имате нужда от тях

Стъпка 4: Актуализирайте фърмуера на Raspberry Pi

Изтеглете актуализираните файлове на фърмуера от сайта на raspberry pi github (https://github.com/raspberrypi/firmware/tree/master/boot).

Копирайте всички *.dat и *.elf файлове в зареждащия дял на Ubuntu на USB драйвера, мигащ с изображението на Ubuntu от стъпка 2. (Презапишете файловете, които са били преди това)

Стъпка 5: Декомпресирайте ядрото

Буутлоудърът на Raspberry Pi 4 не може да вземе компресирано изображение на ядрото. Трябва да декомпресирате ръчно това преди първото зареждане.

За да направите това в Linux, отворете зареждащия дял на Ubuntu USB и стартирайте

zcat vmlinuz> vmlinux

от терминала.

Можете да направите това в Windows с помощта на 7-zip и извличане на файла vmlinuz. Просто не забравяйте да преименувате извлечения файл на vmlinux.

Стъпка 6: Актуализирайте файла Config.txt

Файлът config.txt има опции за стартиране за различните платки RaspberryPi. Актуализирайте информацията за Raspberry Pi 4. Заменете раздела за [pi4] със следното:

[pi4] max_framebuffers = 2 dtoverlay = vc4-fkms-v3d boot_delay ядро = vmlinux initramfs initrd.img followkernel

Стъпка 7: Създайте скрипт за автоматично декомпресиране

По време на актуализация на Ubuntu или един от многото му пакети, apt ще създаде нов образ на ядрото. Това изображение ще бъде компресирано и ще накара Raspberry Pi да не се стартира след актуализацията. За да се поправи това, трябва да се създаде скрипт за декомпресиране на новите изображения на ядрото след актуализации.

Създайте скрипт, наречен auto_decompress_kernel в зареждащия дял. Това може да стане с повечето текстови редактори. В Linux бих препоръчал или nano, или Atom, в Windows бих препоръчал Atom (Забележка за потребителите на Windows, които използват Text Edit, не забравяйте да премахнете разширението на файла "TXT". Ако не го направите, това няма да работи). Скриптът трябва да съдържа следния код:

#!/bin/bash -e

#Задаване на променливи BTPATH =/boot/фърмуер CKPATH = $ BTPATH/vmlinuz DKPATH = $ BTPATH/vmlinux #Проверете дали трябва да се направи компресия. if [-e $ BTPATH/check.md5]; след това, ако md5sum --status --ignore -липсва -c $ BTPATH/check.md5; тогава echo -e "\ e [32m Файловете не са се променили, Декомпресията не е необходима / e [0m" exit 0 else echo -e "\ e [31mHash неуспешно, ядрото ще бъде компресирано / e [0m" fi fi #Архивиране на стария декомпресиран ядро mv $ DKPATH $ DKPATH.bak ако [! $? == 0]; then echo -e "\ e [31mDECOMPRESSED KERNEL BACKUP FAILED! / e [0m" exit 1 else echo -e "\ e [32m Декомпресираното архивиране на ядрото беше успешно / e [0m" fi #Декомпресиране на новото ядро ехо "Декомпресиране на ядрото:" $ CKPATH "………….." zcat $ CKPATH> $ DKPATH, ако [! $? == 0]; след това echo -e "\ e [31mKERNEL FAIL TO DECOMPRESS! / e [0m" exit 1 else echo -e "\ e [32mKernel Декомпресирано успешно / e [0m" fi #Хеш новото ядро за проверка на md5sum $ CKPATH $ DKPATH> $ BTPATH/check.md5, ако [! $? == 0]; след това echo -e "\ e [31mMD5 GENERATION FAILED! / e [0m" else echo -e "\ e [32mMD5 генерирано успешно / e [0m" fi #Exit exit 0

Стъпка 8: Създайте друг скрипт

За да може скриптът, който току -що създадохме, да се извиква при всяко инсталиране на пакет, трябва да създадем друг скрипт.

Този скрипт трябва да бъде създаден във файловата система на Ubuntu. Ако правите тази настройка на Linux система, можете да изпълните тази част преди първото зареждане, ако сте на Windows или MacOS, ще трябва да направите това след първото си зареждане.

Създайте този скрипт в директорията /etc/apt/apt.conf.d/ и го наречете 999_decompress_rpi_kernel

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

Кодът трябва да бъде:

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

След като това е създадено, ще трябва да направите скрипта изпълним. Това може да стане с помощта на следния код:

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

Стъпка 9: Насладете се на Ubuntu на Raspberry Pi 4

Сега можете да стартирате Ubuntu на USB устройство.

Препоръчано: