Сборка дистрибутива GNU / Linux для Raspberry Pi с использованием проекта Yocto: 6 шагов
Сборка дистрибутива GNU / Linux для Raspberry Pi с использованием проекта Yocto: 6 шагов

Видео: Сборка дистрибутива GNU / Linux для Raspberry Pi с использованием проекта Yocto: 6 шагов

Видео: Сборка дистрибутива GNU / Linux для Raspberry Pi с использованием проекта Yocto: 6 шагов
Видео: Yocto Project - Базовый курс cборки Дистрибутивов Linux и Приложений под ваше устройство 2025, Январь
Anonim
Image
Image

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