Оглавление:
Видео: Сборка дистрибутива GNU / Linux для Raspberry Pi с использованием проекта Yocto: 6 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Raspberry Pi, вероятно, самый популярный недорогой одноплатный компьютер на рынке. Он часто используется для Интернета вещей и других встроенных проектов. Несколько дистрибутивов GNU / Linux имеют отличную поддержку Raspberry Pi, и есть даже Microsoft Windows для Raspberry Pi 2.
Если вы хотите создать Интернет вещей (IoT) на основе Raspberry Pi, и если вы хотите сделать это профессионально, рекомендуется создать встроенный дистрибутив Linux, который точно соответствует потребностям вашего устройства. Чтобы загрузить дистрибутив Linux на Raspberry Pi, вам понадобится загрузчик, ядро Linux и различные приложения в пользовательском пространстве.
Один из самых популярных способов создания собственного встроенного дистрибутива Linux - это использование Yocto Project. Yocto - это совместный проект Linux Foundation, который использует платформу Openembedded и механизм сборки bitbake. Poky - это справочная система Yocto Project с шестимесячным циклом выпуска. Он предоставляет метаданные, разделенные на слои, и рецепты для создания различных пакетов и образов.
В этом руководстве представлены точные шаги для создания образа с минимальным дистрибутивом GNU / Linux для Raspberry Pi, который включает systemd и connman.
Шаг 1. Подготовка
Для этого урока вам понадобятся:
- Персональный компьютер с дистрибутивом GNU / Linux, например Ubuntu, на котором вы будете собирать дистрибутив GNU / Linux для Raspberry Pi.
- Raspberry Pi
- microSD или SD-карта в зависимости от версии вашего Raspberry Pi
- Кабель HDMI и монитор
- USB-клавиатура
- Источник питания
Установите необходимые пакеты на свой персональный компьютер в зависимости от вашего дистрибутива GNU / Linux: https://www.yoctoproject.org/docs/2.0/yocto-projec… Примечания (от Юнуса Эмреи):
- Вы не можете запечь изображение, если ваш домашний каталог зашифрован, потому что он не позволяет использовать длинные имена файлов.
- Первоначальная сборка занимает очень много времени, если у вас медленное соединение
- При прошивке образа на SD-карту убедитесь, что вы выбрали основной / dev / sdX, а не / dev / sdXp1 или другой вариант внутренней части.
Шаг 2. Получите исходный код
Выполните следующие действия на своем персональном компьютере:
-
Клонируйте Poky с помощью Git (в данном случае я загружаю выпуск Jethro (2.0) проекта Yocto):
git clone -b jethro git: //git.yoctoproject.org/poky
-
Заходим в каталог poky:
компактный диск
-
Клонировать мета-малину:
git clone -b jethro git: //git.yoctoproject.org/meta-raspberrypi
Шаг 3. Настройте
-
Инициализировать среду сборки
исходный код oe-init-build-env
-
Добавьте meta-raspberrypi в BBLAYERS в conf / bblayers.conf, после этого он должен быть похож (но в вашем случае с разными путями) на:
BBLAYERS? =
/ home / leon / poky / meta / / home / leon / poky / meta-yocto / / home / leon / poky / meta-yocto-bsp / / home / leon / poky / meta-raspberrypi \"
-
Откройте conf / local.conf и измените MACHINE на raspberrypi, raspberrypi0, raspberrypi2 или raspberrypi3 в зависимости от вашей модели Raspberry Pi, например:
МАШИНА ?? = "raspberrypi2"
-
Добавьте следующую строку в conf / local.conf, чтобы установить память графического процессора в мегабайтах:
GPU_MEM = "16"
-
При желании добавьте следующую строку в conf / local.conf, чтобы заменить System V на systemd:
DISTRO_FEATURES_append = "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""
-
При желании добавьте следующую строку в conf / local.conf, чтобы включить в образ командную строку сетевого менеджера connman:
IMAGE_INSTALL_append = "connman connman-client"
Шаг 4. Создайте изображение
-
Выполните следующую команду, чтобы создать минимальный образ дистрибутива GNU / Linux для вашего Raspberry Pi:
Bitbake rpi-базовое изображение
Обратите внимание, что сборка может занять до нескольких часов в зависимости от оборудования вашего персонального компьютера и скорости подключения к Интернету.
Шаг 5: флэш-карта SD
Когда сборка завершится, образ будет расположен по следующему пути в вашем каталоге сборки: tmp / deploy / images / raspberrypi2 / rpi-basic-image-raspberrypi2.rpi-sdimg.
Подключите карту microSD к компьютеру, замените X соответствующим идентификатором (который можно найти с помощью таких команд, как lsblk или fdisk -l) и выполните следующие команды, чтобы прошить изображение на нем:
sudo umount / dev / sdX
sudo dd if = tmp / deploy / images / raspberrypi2 / core-image-weston-raspberrypi2.rpi-sdimg of = / dev / sdX sync sudo umount / dev / sdX
В качестве альтернативы, если вы предпочитаете, вы можете использовать bmaptool вместо dd.
Будьте очень осторожны при прошивке SD-карты и убедитесь, что вы используете правильную букву для пути к устройству. Делайте это на свой страх и риск и помните, что ошибка может привести к повреждению накопителя на вашем персональном компьютере!
Шаг 6: загрузка и тестирование
Загрузите Raspberry Pi и выполните следующие шаги, чтобы убедиться, что образ работает успешно:
- Войдите как root без пароля
-
Если установлен connman, убедитесь, что его службы systemd загружены:
systemctl status -l connman