Как мне обновить программное обеспечение и прошивку?

91

Я понимаю, что программное обеспечение на Raspberry Pi разделено на три раздела: прошивка GPU с закрытым исходным кодом, исправленное ядро ​​ARM Linux и программное обеспечение пользовательского пространства.

Прошивка графического процессора на чипе или SD-карте? Есть ли простой способ обновить все (прошивка, ядро, модули)?

Алекс Л
источник

Ответы:

93

Что такое прошивка GPU и ядро?

Ядро отвечает за управление ресурсами Raspberry Pi и работает на центральном процессоре (CPU). Это позволяет задачам запускаться на процессоре. Прошивка графического процессора, с другой стороны, управляет графическим процессором (GPU). Два отдельных устройства находятся на одной микросхеме и совместно используют память, которая разделяется во время загрузки в соответствии с жестко закодированными start.elfфайлами. Чтобы использовать Raspberry Pi, оба набора файлов должны быть в правильных местах на SD-карте.

Вы можете купить предварительно загруженные SD-карты у розничных партнеров Фонда.

Кроме того, Фонд регулярно выпускает новые изображения SD-карт по адресу http://www.raspberrypi.org/downloads . Вы должны использовать Unix ddили Windows, Win32DiskImagerчтобы загрузить это на существующую SD-карту.

Невозможно скомпилировать собственный образ прошивки графического процессора, поскольку он является закрытым исходным кодом, поэтому мы полагаемся на Foundation и Broadcom для его предоставления. С другой стороны, вы можете скомпилировать свой собственный образ ядра из исходного кода. Кросс-компиляция - предмет других вопросов, таких как Как кросс-компиляция ядра на хосте Ubuntu?

Обновление прошивки графического процессора - Debian / Raspbian

Вы можете обновить прошивку, используя rpi-updateHexxeh. На Raspbian вы можете установить его, запустив

sudo apt-get install rpi-update

Чтобы обновить программное обеспечение, запустите

sudo rpi-update

Обновление пользовательского пространства и программного обеспечения ядра - Debian / Raspbian

Программное обеспечение пользовательского пространства должно поддерживаться. Это довольно легко; просто беги

sudo apt-get upgrade

Если есть какие-либо ошибки, попробуйте сначала обновить базу данных, запустив

sudo apt-get update

Если вы не понимаете ошибку, то, вероятно, лучше спросить здесь или попробовать поискать в Google.

Обновление программного обеспечения - Arch Linux

Программное обеспечение должно поддерживаться. Преимущество Arch Linux перед Debian заключается в том, что Arch Linux управляет прошивкой Raspberry Pi в системе управления пакетами. Чтобы обновить, просто запустите

sudo pacman -Syu

Если есть какие-либо ошибки, и вы не понимаете это, то, вероятно, лучше спросить здесь или попробовать поискать в Google.

Рекомендации

  1. Rpi-обновление репозитория
Алекс Чемберлен
источник
Пользователь также создал инструмент под названием rpi-updater, который будет обновлять прошивку, ядро ​​и модули
Alex L
1
Разве Raspbian не поставляется с инструментом rpi-update?
Jivings
Кроме того, вы когда-нибудь выясняли, почему Debian не может управлять прошивкой с помощью apt?
Jivings
@ Jivings Лень?
Алекс Чемберлен
1
Довольно старый, но на данный момент Raspbian поставляется с установленным инструментом rpi-update, который находится в репозиториях по умолчанию raspberry pi apt. Вы можете сделать простую sudo apt-get install rpi-updateвместо ручной установки сейчас.
Caleb1994
20

Взгляните на RPi-Updater от Hexxeh. Он специально создан для обновления прошивки и ядра.

https://github.com/Hexxeh/rpi-update

Если вы используете Arch Linux, то обновления будут частью вашей обычной, pacman -Syuпоскольку они существуют в официальных репозиториях RPi.

Jivings
источник
Будьте осторожны при использовании rpi-update (это для самых передовых ядер) - обновления Raspbian также обновят ядро: raspberrypi.stackexchange.com/questions/4355/…
Pierz
11

Чтобы обновить систему до последних версий программного обеспечения UserLand вам необходимо запустить обновление до с обновления - обновление на самом деле загружает новые списки пакетов , так что обновление может пойти получить их и установить (как описано в Debian Linux документации ):

sudo apt-get update
sudo apt-get upgrade

Кроме того, вам может потребоваться запустить dist-upgrade, чтобы выполнить более крупные обновления:

sudo apt-get dist-upgrade

Автоматические обновления

Если вы хотите автоматизировать эти процедуры, это можно сделать, настроив apt's Periodic options. Raspberry Pi поставляется с установленным apt (он предоставляет команды apt-get и т. Д.), И как часть этого пакета устанавливается автоматический скрипт (в /etc/cron.daily/apt) для ежедневного автоматического обновления. (используя демон cron). Этим можно управлять, создав (как root) файл /etc/apt/apt.conf.d/10periodic, добавив в него следующее:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

Эта конфигурация будет запускать обновление каждый день для вас, поэтому при запуске sudo apt-get upgradeвы будете устанавливать последние пакеты (без необходимости сначала запускать обновление apt-get).

Автоматические обновления

Чтобы настроить apt на автоматическое обновление пакетов, во-первых, вам нужно установить новый пакет, чтобы автоматические обновления работали:

sudo apt-get install unattended-upgrades

Затем измените следующую опцию на «1» в /etc/apt/apt.conf.d/10periodic, чтобы включить автоматическое обновление:

APT::Periodic::Unattended-Upgrade "1";

Для получения более подробной информации смотрите комментарии в /etc/cron.daily/apt, а затем поместите соответствующие параметры в файл /etc/apt/apt.conf.d/10periodic.

Пирз
источник
Это правильный ответ для обновления RPI в начале 2017 года, rpi-обновление больше не нужно
Алек Истомин
имя файла не '02periodic' (в /etc/apt/apt.conf.d) - по крайней мере, так говорит файл 'apt' в cron.daily - "# Create /etc/apt/apt.conf.d / 02periodic файл, чтобы установить ваши предпочтения. "
Matthiku
Файлы нумеруются в порядке приоритета, поэтому в вашей системе это может быть 02 (и / или более новые системы).
Pierz