Я хотел бы знать, есть ли другой прямой способ обновить Raspberry pi-4 прямо из командной строки терминала UBUNTU 20.04.
1) Я прочитал статью ниже: Загрузчик Raspberry Pi 4
Примечания к последнему выпуску: Примечания к выпуску EEPROM загрузчика Pi4
2) И насколько я могу судить, нет прямого способа обновить прошивку "eeprom" напрямую? Я бы хотел ошибиться в этом ... Так что, пожалуйста, докажите, что я ошибаюсь в этом вопросе ...
3) Если я не ошибаюсь в пункте (2) .. какой самый быстрый / простой способ обновить прошивку ..? Чтобы использовать другую SD-карту с RPI OS?
Большое спасибо за помощь мне заранее ...
[Ответ ниже относится только к моделям Raspberry Pi 4B, т.е. 3B(+) не имеют встроенной флэш-памяти EEPROM.]
A «краткое» предупреждение: запуск обновлений EEPROM может включать в себя риски вплоть до блокировки вашего Raspberry Pi 4B, поэтому я должен подчеркнуть, что пробовать что-либо, упомянутое в этом ответе, ВЫ ДЕЛАЕТЕ ЭТО НА СВОЙ СОБСТВЕННЫЙ РИСК. ВСЕГДА ДЕЛАЙТЕ РЕЗЕРВНУЮ КОПию ВАШЕЙ СУЩЕСТВУЮЩЕЙ СИСТЕМЫ ПЕРЕД ПОПЫТКОЙ ОБНОВЛЕНИЯ FLASH EEPROM. Особенно копия загрузочного раздела, которую довольно легко (и небольшой по размеру файл) сделать резервной копией на другой компьютер, просто скопировав все файлы и каталоги, находящиеся внутри загрузочного раздела.
Более чем рекомендуется сделать резервную копию всей ОС, создав ее образ-клон, то есть со всеми разделами, их файлами и т. д.), а затем сохранить их на отдельном диске для безопасного хранения и возврата процесса. , если во время обновления что-то пойдет не так.
На данный момент (август 2020 г.) скрипт rpi-eeprom-update
, который можно загрузить, например, с GitHub (см.: https://github.com/raspberrypi/rpi-eeprom ) более или менее не работает в других дистрибутивах, кроме Raspbian/Raspberry OS (где предполагается, что он либо предустановлен, либо может быть установлен с помощью sudo apt install rpi- eeprom-update
без лишних хлопот). Это означает, что может быть рискованно пытаться запустить средство обновления EEPROM из любой другой ОС, кроме официальной ОС Raspbian/Raspberry Pi.
И это означает, что первоначальный ответ на ваш вопрос:
Да, вы должны запустить обновление EEPROM из операционной системы Raspberry / версии Raspbian, которая актуальна — и ни из какой другой ОС на данный момент в время.
Поскольку это обновление флэш-памяти EEPROM , вы сможете использовать любую установленную вами установку Raspbian на RPi4B — при условии, что она предварительно полностью обновлена! Или приобретите для этой цели отдельную карту MicroSD / загрузочную флешку USB.
Запуск процесса обновления EEPROM:
Загрузитесь в ОС Raspbian/Raspberry Pi и убедитесь, что она обновлена (запустите sudo apt update
, sudo apt upgrade
, sudo reboot now
.)
Затем, все еще находясь в Raspbian/RPiOS, запустите sudo rpi-eeprom-update
со стороны Raspbian/RPiOS и перезагрузитесь обратно (в Raspbian /RPiOS).
Проверьте состояние и версию прошивки EEPROM, снова запустив sudo rpi-eeprom-update
(без дополнительных команд). Если EEPROM кажется самой последней, это хорошо.
В любом случае прочитайте и выполните следующие действия (при необходимости).
Если теперь все работает как надо на стороне Raspbian/RPiOS, выполните отключение sudo сейчас
, включите вашу установку Ubuntu, включите питание и загрузитесь в Ubuntu.
При загрузке в Ubuntu проверьте состояние прошивки с помощью sudo rpi-eeprom-update
(без параметров командной строки после этого -- и, при условии, что она установлена или доступна на стороне Ubuntu тем не менее, если нет, см. ниже.)
sudo rpi-eeprom-update
(без добавленных команд) должен просто перечислить сведения о версии и уведомить, доступно ли обновление, которое может увидеть сценарий — посмотрите, есть ли вывод этой команды соответствует правильной версии микропрограммы EEPROM, которую вы пытаетесь установить.
Если версия микропрограммы не совпадает или если у вас вообще нет rpi-eeprom-update
на вашей Ubuntu, что не будет неожиданностью, поскольку Ubuntu для RPi4B не поставляется с предустановленным rpi-eeprom-update
, и его нельзя установить через apt или любой другой PPA, о котором я знаю на момент написания этой статьи.
Оставаясь в терминале Ubuntu:
Клонируйте репозиторий Github для rpi-eeprom
с https://github.com/raspberrypi/rpi-eeprom с git
:
Если у вас не установлен git
, сначала выполните: sudo apt install git
Затем: git clone https://github.com/raspberrypi/rpi-eeprom
После клонирования репозитория Git cd rpi-eeprom
в клонированный каталог репозитория git и скопируйте файлы из его stable/
-подкаталог в любой каталог файлов .bin вашей прошивки в соответствии с rpi-eeprom-update
(см. ниже.)
Как вы можете видеть из sudo rpi-eeprom-update
пример вывода ниже, в моем случае с Ubuntu 20.04LTS каталог был: /usr/bin/firmware/stable
Это сработало для меня, и теперь мой Ubuntu 20.04LTS 64-бит на RPi 4B показывает последнюю стабильную прошивку следующим образом:
BCM2711 detected
Dedicated VL805 EEPROM detected
BOOTLOADER: up-to-date
CURRENT: Fri 31 Jul 2020 01:43:39 PM UTC (1596203019)
LATEST: Fri 31 Jul 2020 01:43:39 PM UTC (1596203019)
FW DIR: /usr/bin/firmware/stable
VL805: up-to-date
CURRENT: 000138a1
LATEST: 000138a1
Если вам кажется, что наличие отдельной карты Raspbian MicroSD — это просто дополнительные хлопоты, имейте в виду, что неисправное обновление EEPROM может — в худшем случае — испортить ваш компьютер. Raspberry Pi полностью.
Следовательно, поскольку инструмент rpi-eeprom-update
является «таким, какой он есть», рекомендуется запускать обновления через него только в ОС Raspbian/Raspberry и нигде больше.
(Запуск sudo rpi-eeprom-update
для отображения номера версии в других дистрибутивах не должен вызывать каких-либо беспорядков, но здесь абсолютно НИКАКИХ гарантий.)
**Не забудьте сохранить ваша ОС Raspbian/Raspberry обновлена, даже (или особенно), если вы используете ее только для прошивки EEPROM! Всегда запускайте sudo apt update
+ sudo apt upgrade
и ПЕРЕЗАГРУЗИТЕ [!] ПЕРЕД попыткой запуска rpi-eeprom-update
(в некоторых случаях sudo apt dist-upgrade
/ sudo apt full-upgrade
может пригодиться
ВСЕГДА не забывайте перезагружаться после запуска вышеупомянутого набора обновлений apt + upgrades, иначе вы можете не получить правильную информацию на вашем текущем статусе прошивки или существующих конфигурациях и ожидающих обновлениях могут перекрываться и вызывать хаос.)
Если после выполнения всех вышеперечисленных шагов вы по-прежнему не видите более новую прошивку в Ubuntu, попробуйте (внутри Ubuntu):
Перейдите в каталог, где у вас есть rpi-eeprom-update
на вашем Ubuntu.
Отредактируйте его с помощью, например, sudo nano rpi-eeprom-update
(или sudo vim
, если вы предпочитаете этот редактор.)
Найдите строку, в которой говорится:
FIRMWARE_RELEASE_STATUS=${FIRMWARE_RELEASE_STATUS:-critical}
Измените часть с надписью -critical
на -stable
, сохраните и выйдите. Убедитесь, что у вас есть EEPROM и файлы восстановления .bin в каталоге прошивки внутри вашей Ubuntu!
После этого повторно запустите скрипт sudo rpi-eeprom-update
и посмотрите, что он говорит. Приведенный выше список должен соответствовать последней стабильной версии прошивки RPi4B EEPROM на момент написания этой статьи (18 августа 2020 г.) — в настоящее время также нет критической
версии EEPROM на данный момент будет иметь прямую поддержку загрузки USB MSD.
Думайте о стабильной
версии как о почти законченной, «поздней бета-версии» прошивки, которая еще не совсем готова с точки зрения общей надежности. Опять же, если у вас возникнут проблемы, попробуйте вернуться к, например, более старой версии или попробуйте переключиться между текущими версиями стабильной
, бета
и критической
.
Я получил этот результат от моей 64-разрядной версии Ubuntu 20.04LTS сегодня на RPi4B после того, как какое-то время возился с программой обновления EEPROM и наконец завершил процесс.* Вау! *
Дополнительные примечания:
Строка выше, которую вы можете отредактировать в сценарии rpi-eeprom-update
, заменив ie -critical
на - стабильный
, или другими словами; указать rpi-eeprom-update
, какую версию прошивки искать.
Если вы хотите по-настоящему сходить с ума в будущем, эти инструкции применимы и к бета-версиям прошивки EEPROM — просто измените суффикс на -beta
и скопируйте файлы репозитория git соответственно, как разъяснено в инструкции выше. Переключение на последние бета-версии выполняется путем выполнения всех необходимых шагов, как указано там, но с изменением каталога для двоичных файлов прошивки (.bin) на beta/
вместо stable/
. или критический/
.
ПРИМЕЧАНИЕ. Бета-версии прошивки обычно НЕ рекомендуются для начинающих пользователей, а в некоторых случаях даже для опытных. На самом деле, только обновления встроенного ПО EEPROM, помеченные как «критические», считаются «готовыми к производству» (= безопасными и стабильными в использовании). Все эти предупреждения ни в коем случае не беспочвенны - - если вы посмотрите т.е. ветки на форумах Raspberry Pi, несколько пользователей запустили свои хорошо работающие дистрибутивы RPi сломя голову в канаву случайных сбоев и страданий ОС после прошивки [нестабильной] бета-версии прошивки EEPROM.
(См. sudo rpi-eeprom-update --help
для получения списка всех функций командной строки.)
Всякий раз, когда вы запускаете sudo rpi-eeprom-update
без параметров командной строки, и если он выводит: *** ОБНОВЛЕНИЕ ДОСТУПНО ***
, вы всегда можете (в по крайней мере, попробуйте) применить доступное обновление, запустив: sudo rpi-eeprom-update -a
(например, применить доступное обновление.) - однако, по крайней мере, в случае моего 20.Сборка 04LTS, которая не использовалась в Ubuntu.
Столь же безуспешной была моя попытка в Ubuntu выполнить прямую прошивку с помощью sudo rpi-eeprom-update -a -f
после загрузки правильных двоичных файлов прошивки с Github. Этот тип прямой прошивки с определяемыми пользователем файлами .bin обычно предназначен для особых случаев (и, опять же, должен запускаться только внутри Raspbian/RPiOS) — эта функциональность полезна, т.е. если вам нужно вернуться вернуться к другой версии прошивки из-за проблем с нестабильностью, других ошибок и прочего.
Наилучших результатов я добился с rpi-eeprom-update
, клонируя его с Github всякий раз, когда выходит новый выпуск, sudo копируя
подкаталоги ( = stable /
, critical/
, beta/
) в каталоге моей прошивки (в данном случае /usr/bin/firmware/
) – обязательно ЧРЕЗВЫЧАЙНО осторожны с этой процедурой. Я обычно тщательно проверяю каждый файл на наличие существующих, прежде чем копировать их в каталоги прошивки.
Сценарии rpi-eeprom-update
и rpi-eeprom-config
, которые я поместил в /bin/ в моей Ubuntu, чтобы я мог обновлять EEPROM из любого каталога , обычно просто для просмотра текущей ситуации с версией EEPROM.
Рекомендуемый URL-адрес для добавления в закладки: https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/release-notes.md — все последние изменения и новые версии EEPROM загрузчика указан там.
Если у вас возникнут проблемы с самой программой обновления EEPROM или возникнут проблемы с установленной новой прошивкой, рекомендуется (особенно при использовании бета-версий/стабильных предварительных версий микропрограммы) опубликовать сообщение о проблеме и обратиться за помощью на официальном сайте Raspberry Pi. Форумы по адресу https://www.raspberrypi.org/forums/ — обычно есть специальная ветка для поиска ошибок, касающихся бета-версий и предварительных версий, просто добавьте эту молитву в молитвенную мельницу.
Надеюсь, это хоть немного помогло — не стесняйтесь просить дополнительных пояснений и/или комментариев, если это необходимо.
Если какие-либо (RPi) разработчики/программисты заинтересуются этой темой, многие вещи в процессе обновления EEPROM RPi4B можно сделать чертовски проще... и заставить их работать правильно на других дистрибутивах, кроме собственного "Lada-Linux" Raspberry Foundation (= единственный инструмент, который вам нужен, это молоток, но они чертовски грубые и громоздкие. :-D
) Просто говорю! Ваше здоровье!
Я сделал это простым способом.
Однако у меня есть Ubuntu 20.04 64 бит, и 2 пакета были для Ubuntu 20.10.
Используйте на свой страх и риск, хотя у меня он работал нормально.
curl -O http://ports.ubuntu.com/pool/universe/r/raspberrypi-userland/libraspberrypi0_0~20200520+git2fe4ca3-0ubuntu2_arm64.deb
sudo apt install ./libraspberrypi0_0~20200520+git2fe4ca3-0ubuntu2_arm64.deb
curl -O http://ports.ubuntu.com/pool/universe/r/raspberrypi-
userland/libraspberrypi-bin_0~20200520+git2fe4ca3-0ubuntu2_arm64.deb
sudo apt install ./libraspberrypi-bin_0~20200520+git2fe4ca3-0ubuntu2_arm64.deb
sudo add-apt-repository ppa:waveform/eeprom
sudo apt update
sudo apt install rpi-eeprom -y
Вы можете проверить доступное обновление прошивки:
sudo rpi-eeprom-update
Вы можете обновить прошивку, используя:
sudo rpi-eeprom-update -a
Затем вам необходимо перезагрузить компьютер:
sudo reboot
@ebaruk @joey_g216
Используя Ubuntu 20.04, можно установить пакеты rpi-eeprom
в Ubuntu 20.10 (multiverse).
https://packages.ubuntu.com/groovy/rpi-eeprom
Проверьте зависимости для установки rpi-eeprom с помощью dpkg.
apt-cache policy binutils libraspberrypi-bin linux-firmware-raspi2 pciutils python3 flashrom
Если существуют пакеты «Установлено: (нет)», установите их с помощью apt. После версии 1.20190819 требуется только пакет linux-firmware-raspi2
.
Загрузите пакет .deb rpi-eeprom в свой браузер (или curl/wget), загрузите ссылку на файл .deb с http://ports.ubuntu.com/pool/multiverse/r/rpi-eeprom/rpi-eeprom_9.0-1ubuntu1_arm64.deb (кейс arm64) или http://ports.ubuntu.com/pool/multiverse/r/rpi-eeprom/rpi-eeprom_9.0-1ubuntu1_armhf.deb (для armhf).
На вашем терминале выполните команду ниже, чтобы установить пакет .deb:
sudo dpkg -i ~/Downloads/DOWNLOADED_DEB_NAME