Оглавление:

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 шагов
Видео: How to Update EEPROM on Raspberry Pi 4 For USB Boot. Запуск малинки 4 с ssd диска. 2024, Ноябрь
Anonim
Raspberry Pi 4 Ubuntu USB-загрузка (без SD-карты)
Raspberry Pi 4 Ubuntu USB-загрузка (без SD-карты)

Ниже приведены инструкции по загрузке Raspberry Pi 4 без SD-карты.

Если вы не хотите следовать инструкциям, в исходном посте есть готовые изображения. Просто прошейте эти образы на USB-накопитель, и все готово (если у вас есть EEPROM, поддерживающий загрузку с USB - шаг 3).

Запасы

Raspberry Pi 4

USB SSD или флеш-накопитель

Шаг 1. Загрузите Ubuntu для Raspberry Pi с сайта Ubuntu

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

ubuntu.com/download/raspberry-pi

Шаг 2. Запишите образ на USB-диск

Прошить образ на USB-накопитель. Это может быть USB-накопитель или USB-накопитель. Я бы рекомендовал использовать Balena Etcher в Windows и MacOS. Если вы используете Ubuntu, встроенный Image Writer будет работать нормально.

www.balena.io/etcher/

Шаг 3. Обновите EEPROM Raspberry Pi

Для этого шага есть несколько подэтапов. Если вы уже обновили EEPROM Raspberry Pi до «стабильной» версии, то можете пропустить этот шаг.

Сначала вы должны записать образ RaspberryPiOS (https://www.raspberrypi.org/downloads/raspberry-pi-os/) на SD-карту.

Во-вторых, загрузите Raspberry Pi и отредактируйте файл / etc / default / rpi-eeprom-update, набрав

Судо нано / и т. д. / по умолчанию / 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 откройте загрузочный раздел USB-накопителя Ubuntu и запустите

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 kernel = 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 / firmware CKPATH = $ BTPATH / vmlinuz DKPATH = $ BTPATH / vmlinux # Проверить, нужно ли выполнять сжатие. если [-e $ BTPATH / check.md5]; тогда, если md5sum --status --ignore-missing -c $ BTPATH / check.md5; then echo -e "\ e [32mFiles не изменились, декомпрессия не нужна / 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 [32mDecompressed kernel back up failed / e [0m" fi #Decompress the new kernel echo "Распаковка ядра:» $ CKPATH "………….." zcat $ CKPATH> $ DKPATH if [! $? == 0]; then echo -e "\ e [31mKERNEL НЕВОЗМОЖЕН ДЕКОМПРЕССИРОВАТЬ! / e [0m" exit 1 else echo -e "\ e [32mKernel успешно распакован / e [0m" fi # Хешировать новое ядро для проверки md5sum $ CKPATH $ DKPATH> $ BTPATH / check.md5, если [! $? == 0]; then 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-накопителя.

Рекомендуемые: