Разработка продолжается по адресу https://github.com/raspberrypi/rpi-update. Сценарий rpi-update автоматически переключится на новый репозиторий.
Инструмент для получения новейшей прошивки и ядра для вашего Raspberry Pi.
Это предназначено только для использования с ОС Raspberry Pi. Если вы используете другой дистрибутив, уточните у сопровождающих, безопасно ли использование rpi-update.
Если в дистрибутив входит собственное ядро (например, BerryBoot), то оно почти наверняка небезопасно. Кроме того, различия в использовании каталогов /boot и /opt/vc, скорее всего, сделают его небезопасным.
Даже в ОС Raspberry Pi вам следует использовать это только по уважительной причине.
Это даст вам новейшее ядро/прошивку. Всегда есть вероятность регресса.
Исправления ошибок и улучшения в конечном итоге войдут в новые выпуски ОС Raspberry Pi и apt-get, когда они будут признаны достаточно хорошо протестированными.
Хорошей причиной для использования этого может быть то, что вы хотите помочь в тестировании и готовы рисковать сбоями и отправлять отчеты об ошибках. Эти тестеры приветствуются.
Кроме того, если вы страдаете от ошибки в текущей прошивке (возможно, как один из репортеров об ошибке на github или форуме) и исправление было отправлено на тестирование, то использование rpi-update — правильный способ получить исправление до тех пор, пока он попадает в новые образы ОС Raspberry Pi и apt-get.
Резервное копирование перед обновлением всегда желательно.
Чтобы установить инструмент, выполните следующую команду:
sudo apt-get install rpi-update
Чтобы установить инструмент, выполните следующую команду:
sudo curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update && sudo chmod +x /usr/bin/rpi-update
Затем, чтобы обновить прошивку, просто выполните следующую команду:
sudo rpi-update
После успешного обновления прошивки вам потребуется перезагрузиться, чтобы загрузить новую прошивку.
Если вы хотите установить другое разделение памяти GPU/ARM, определите gpu_mem
в /boot/config.txt
.
Чтобы обновить/понизить версию прошивки до определенной версии, укажите ее хеш Git (из репозитория https://github.com/Hexxeh/rpi-firmware) следующим образом:
sudo rpi-update fab7796df0cf29f9563b507a59ce5b17d93e0390
Есть несколько вариантов для экспертов, которые вы можете использовать. Это все переменные среды, которые вы должны установить, если хотите их использовать.
UPDATE_SELF
По умолчанию rpi-update
будет пытаться обновиться каждый раз при запуске. Вы можете отключить это поведение:
sudo UPDATE_SELF=0 rpi-update
SKIP_KERNEL
sudo SKIP_KERNEL=1 rpi-update
Обновит все, кроме файлов kernel.img
и модулей ядра. Используйте с осторожностью: некоторые обновления прошивки могут зависеть от обновления ядра.
SKIP_BACKUP
sudo SKIP_BACKUP=1 rpi-update
Избегает резервного копирования /boot и /lib/modules при первом запуске.
SKIP_REPODELETE
sudo SKIP_REPODELETE=1 rpi-update
По умолчанию загруженные файлы (/root/.rpi-firmware) удаляются по окончании обновления. Используйте эту опцию, чтобы сохранить файлы.
SKIP_VCLIBS
sudo SKIP_VCLIBS=1 rpi-update
Обновлю всё, кроме библиотек VideoCore. Используйте эту опцию, чтобы сохранить существующие библиотеки VideoCore, если вы не хотите, чтобы ваши локальные версии были перезаписаны.
ROOT_PATH
и BOOT_PATH
sudo ROOT_PATH=/media/root BOOT_PATH=/media/boot rpi-update
Позволяет выполнить «автономное» обновление, т.е. обновить прошивку на SD-карте, с которой вы в данный момент не загружаетесь. Полезно для установки прошивки/ядра в настроенный образ без RPI. Будьте осторожны: вы должны указать оба варианта или ни один. Указать только один не получится.
FW_SUBDIR
sudo FW_SUBDIR=safe rpi-update
Позволяет устанавливать прошивку в подкаталог /boot. Эта функция предназначена для поддержки параметра os_prefix
, который можно использовать в config.txt
. По умолчанию FW_SUBDIR инициализируется значением os_prefix
, действующим при загрузке устройства, чтобы перезаписать «работающую» прошивку. Для явной установки без подкаталога (для установки в /boot) используйте FW_SUBDIR=/
.
BRANCH
По умолчанию клонирует файлы прошивки из ветки master, иначе используются файлы из указанной ветки, например:
sudo BRANCH=next rpi-update
будет использовать «следующую» ветку.
PRUNE_MODULES
Позволяет удалять неиспользуемые каталоги модулей при обновлении. Установите его равным ненулевому значению, и он удалит все модули, кроме последнего установленного:
sudo PRUNE_MODULES=1 rpi-update
удалит ранее установленные файлы модуля. Используйте эту опцию, чтобы освободить место на диске, используемое старыми обновлениями модулей.
JUST_CHECK
Чтобы просто получить список коммитов, содержащихся в rpi-update с момента последнего обновления, запустите:
sudo JUST_CHECK=1 rpi-update
Это не обновит вашу прошивку
GITHUB_API_TOKEN
По умолчанию rpi-update
не будет использовать собственный токен API GitHub. Если у вас возникли проблемы с ограничением скорости, вы можете указать токен API в командной строке:
sudo GITHUB_API_TOKEN=<your API token> rpi-update
RPI_REBOOT
Чтобы перезагрузиться после успешного обновления, запустите:
sudo RPI_REBOOT=1 rpi-update
Вы можете использовать его для автоматизации обновлений.
Есть две возможные проблемы, связанные с сертификатами SSL, которые могут помешать работе этого инструмента.
На вашем Raspberry Pi время может быть установлено неправильно, что можно исправить, установив время с помощью NTP.
sudo apt-get install ntpdate
sudo ntpdate -u ntp.ubuntu.com
Другая возможная проблема заключается в том, что у вас может не быть установлен пакет ca-certificates
, и поэтому SSL-сертификат GitHub не является доверенным. Если вы используете Debian, вы можете решить эту проблему, набрав:
sudo apt-get install ca-certificates
Pi-hole и аналогичные DNS-серверы могут помешать работе этого инструмента. Убедитесь, что домены github.com не заблокированы. (например, codeload.github.com)