Будучи проектом совместного сотрудничества (иногда такие проекты называются "зонтичными"), Yocto Project охватывает различные составляющие процесса разработки. Эти составляющие именуются проектами в рамках общего проекта Yocto Project и включают в себя инструменты для сборки, метаданные инструкций по сборке (называемые рецептами), библиотеки, утилиты и графические интерфейсы.
Poky – это эталонная система сборки в рамках проекта Yocto Project. Она включает в себя BitBake, OpenEmbedded-Core, пакет поддержки платформы (Board Support Package, BSP), а также прочие пакеты и компоненты, объединенные в единую сборку. Название Poky также относится к эталонному дистрибутиву Linux, который создается этой системой сборки и может быть чрезвычайно минималистичным (core-image-minimal) или же представлять собой полноценную систему Linux с графической оболочкой (core-image-sato)
Систему сборки Poky можно рассматривать как эталонную систему для всего проекта – рабочий пример реального процесса. При загрузке Yocto Project фактически вы получаете экземпляр этих инструментов, утилит, библиотек, вспомогательных средств и метаданных, которые можно использовать для создания системы по умолчанию, как это описывается в нашей статье. Как эталонная система, так и эталонный дистрибутив, который она создает, называются Poky. Вы можете использовать Poky как начальную точку для создания ваших собственных дистрибутивов, которые, конечно же, могут называться как угодно.
Для всех систем сборки требуется наличие инструментария toolchain, состоящего из компилятора, ассемблера, линковщика и прочих двоичных утилит, необходимых для создания исполняемых файлов для той или иной архитектуры. Poky использует набор GNU Compiler Collection (GCC), но вы можете указать и другие наборы компиляторов. В Poky используется механизм кросс-компиляции: использование набора компиляторов одной архитектуры для создания исполняемых файлов другой архитектуры (например, сборка ARM-дистрибутива, выполняемая на компьютере с x86-архитектурой). Разработчики часто используют кросс-компиляцию при разработке встраиваемых систем, поскольку их рабочие компьютеры намного мощнее, чем типичная встраиваемая система.
Набор метаданных разделен на слои, каждый из которых обладает дополнительной функциональностью по отношению к нижележащим слоям. Базовый слой называется OpenEmbedded-Core (или oe-core) и содержит общие рецепты, классы и связанные с ними функции, необходимые для любой сборки. Эти сборки впоследствии можно настраивать под собственные нужды, добавляя новые слои поверх слоя oe-core.
OpenEmbedded-Core совместно поддерживается проектами Yocto Project и OpenEmbedded. Слой, отделяющий проект Yocto Project от проекта OpenEmbedded, называется meta-yocto и содержит конфигурацию дистрибутива Poky, а также базовый набор эталонных BSP-пакетов. Сам по себе проект OpenEmbedded является отдельным Open Source-проектом, обладающим собственными схожими рецептами и задачами, но со своей отдельной командой руководителей и областью применения.
Проект предназначен для создания Linux дистрибутива для одноплатного компьютера "Raspberry Pi" выполняющего функции "Мультимедиа Центра", в сборку входит программа Kodi (ранее XBMC) — бесплатный кроссплатформенный медиаплеер и программное обеспечение для организации "Домашнего КИНОТЕАТРА". Графический интерфейс программы позволяет легко управлять видеофайлами, фотографиями и музыкой, находящимися на компьютере.
Основная функция нашей сборки "мультимедиа центра" функция цифрового телевидения (IPTV) - просмотр телевизионных программ через "Интернет",
Дистрибутив "Berserk" включает пример списка общедоступных бесплатных новостных мировых каналов в формате m3u, которые работают прямо из коробки.
Таким образом для подключения IPTV вам достаточно добавить один файл со списком телевизионных каналов от вашего провайдера (поставщика услуг Интернет), указать его в настройках плагина pvr.iptvsimple который можно запустить через меню: "CИСТЕМА => Сеть => IPTV настройки" и вы сможете смотреть телевидение на вашем устройстве Raspberry Pi.
Для записи дистрибутива на карту памяти используется команда dd. Запуск команды dd выполняется от имени администратора, при этом необходимо указать входной файл if=имя_файла, далее устройство подключения карты памяти "microSDHC" of=имя_устройства, например /dev/sdX, где X может быть a,b,c и т.д. в зависимости от предыдущих подключенных дисковых разделов, и указать количество байт, которые будут записаны за раз bs=1M (например 1Мбайт)
Проще всего название устройства подключения карты памяти определить по выводу команды blkid
наберите команду sudo blkid до подключения карты памяти - "microSDHC"
и далее
наберите команду sudo blkid после подключения карты памяти - "microSDHC"
и тот новый раздел который появился в выводе последней команды и будет искомым
Отмонтируйте разделы карты памяти - "microSDHC" например так, если разделов несколько
umount /dev/sdX1 umount /dev/sdX2
В команде dd указывается имя диска целиком т.е. без номера раздела так как в образе содержатся таблицы двух разделов:
Для записи дистрибутива в архиве на карту памяти необходимо
вначале выполнить команду
gzip -dc имя_файла_архива
где ключ d означает распаковать архив
а ключ с означает результат распаковки направить в выходной поток
Перейдите в каталог содержащий архив дистрибутива (файл с расширением zip) и наберите команду:
ВНИМАНИЕ: все предыдущие данные на карте памяти "microSDHC"
после выполнения операции записи будут удалены.
sudo bash gzip -dc berserk-raspberrypi2-torvin-v0.2.1.rpi-sdimg.zip | dd of=/dev/sdX bs=1M sync
с сайта https://sourceforge.net/projects/win32diskimager
распакуйте zip дистрибутив в любую удобную для вас папку, например c:/projects
далее запустите приложение Win32 Disk Imager
Выберите Image File, c учетом того, что расширение нужно указать "*.*"
(иначе файл с дистрибутивом "berserk-raspberrypi2-torvin-v0.2.1.rpi-sdimg" вы не увидите)
Вставьте карту памяти microSDHC на которую вы хотите записать образ,
выберите устройство записи: Device
удостоверьтесь что вы выбрали именно карту памяти microSDHC на которую
планируете записать образ
Нажмите кнопку записи: Write
после этого вы получите предупреждение
что все данные на карте памяти будут перезаписаны
и далее нажмите на кнопку подтверждения, начнется процесс записи, после
окончания которого вы можете извлечь карту памяти, вставить ее в ваше
устройство Raspberry Pi и загрузить его.
указанные выше модели явно проверялись
ПРИМЕЧАНИЕ:
К сожалению часть WiFi адаптеров работать не будет, это не особенность данного дистрибутива, а скорее
проблема конкретных драйверов WiFi адаптеров в ядре Linux. Можно констатировать тот факт,
что в настоящий момент вы не можете просто пойти в магазин и купить любой WiFi адаптер.
Скорее вы должны подобрать WiFi адаптер из списка менее проблематичных и хорошо работающих под Linux.
Но у нас есть для вас и хорошая новость, например для платы Raspberry Pi 3 WiFi адаптер является встроенным,
т.е. интегрирован в само устройство, а это значит что для этой платы WiFi гарантированно
работает из коробки. Скорость работы WiFi для Raspberry Pi 3B у нас по замерам получилась где до 15 МБит/с,
a скорость работы уже в более свежей плате Raspberry Pi 3B+ (plus), еще выше, где то до 20 MБит/с.
Замеры производились в штатной квартире, где точка доступа располагалась в одной комнате, а телевизор
с Raspberry Pi 3 находился в другой.
Также были проверены следующие каналы поставщика IPTV телевидения edem.tv
Примечание:
Это не реклама сайта edem.tv, просто так исторически сложилось, что мой домашний провайдер интернет
не предоставляет услуги IP Телевидения, и был выбран один из самых бюджетных поставшиков IPTV на текущий момент времени (27 июня 2017).
Cтоимость просмотра 202 каналов телевидения равна 1$ в месяц (всего один доллар)
по сути это равно двум чашкам кофе в автомате ( ;-)сколько кофе вы выпиваете за месяц?)
Далее я расскажу где найти полностью бесплатный плэйлист (на котором это также проверялось), для того, чтобы быть полностью независимым
от любых поставщиков, любого телевидения
В образе Berserk по умолчанию включена учетная запись:
root - пользователь
berserk - пароль по умолчанию
Cетевой доступ к устройству Raspberry Pi в дистрибутиве "Berserk" по умолчанию отключен .
Для доступа можно использовать протокол SSH - Secure Shell («безопасная оболочка»). Для включения этой возможности вам необходимо войти через главное меню "СИСТЕМА", далее выбрать подменю => "Сеть"
в случае успешного включения появиться всплывающее сообщение в правом нижнем углу экрана
ВНИМАНИЕ: в случае использования доступа по протоколу SSH советуем вам смените пароль по умолчанию на собственный
Пароль можно сменить выполнив команду passwd на самом устройстве
версия - v0.2.8-2 Radio Torvin описание - Простейшая Интернет Радио колонка "KODI" Сборка предназначена для старых Raspberry Pi 1 плат (пылящихся где то на шкафу, но которые готовы еще поработать) Назначение: - Плата подключается только к Ethernet кабелю и аналоговому 3.5мм звуковому выходу (подключение стандартных наушников или колонок) далее к плате подключается штатное питание и после этого плата работает как простая Интернет Радио колонка (по умолчанию используется список m3u8 из 10 Интернет радиостанций) Предполагается что, плата работает без HDMI выхода, а для выключения достаточно выдернуть адаптер питания из розетки. (а если у вас есть еще и радио мышка, то ее можно использовать как пульт удаленного управления) При включении сетевой интерфейс по умолчанию настраивается через DHCP протокол и проигрывается последняя запомненная радиостанция из списка управление громкостью проигрывания осуществляется обычной мышью: - колесико вперед - увеличение громкости звука - колесико назад - уменьшение громкости звука - длительное нажатие (3сек и более) на правую кнопку мыши - выбор следующий радиостанции - длительное нажатие (3сек и более) на левую кнопку мыши - выбор предыдущей радиостанции примечание: - Для добавления собственного списка Интернет радиостанций вы всегда можете подключить HDMI кабель от телевизора и воспользоваться штатным графическим интерфейсом Kodi 17.6 (выключите плату, подключите HDMI и включите адаптер питания) Основное меню Kodi => "Дополнения" => "Мои дополнения" => "Клиенты PVR" => "PVR IPTV Simple Client" aрхитектура - ARM процессор: - ARM1176JZ-F платы - Raspberry Pi 1 model "B" (2-usb 1-ethernet) дата - от 07.03.2020 MD5 - c8a712d3462b0354f4da365883f273bf (контрольная сумма MD5 zip архива) размер архива 316.2 Мбайт имя файла - berserk-image-raspberrypi-radio-v0.2.8-2.rpi-sdimg.zipВозможные причины пропадания звука после переключения каналов
Проблема N1 - "После переключения каналов звуковая колонка перестала работать"
это может быть связано с тем, что отдельно взятая запись из списка
Интернет Радио каналов - сломалась.
Для того, чтобы это исправить
вам необходимо обновить ваш список
Интернет Радиостанций, исключив из него
все не работающие радиостанции.
см. примечание выше: => "Для добавления собственного списка ..."
Проблема N2 - "Как проверить, что определенная интернет радиостанция не работает"
Подключите HDMI кабель от телевизора, включите систему,
выберите пункт меню "ТВ" и проверьте все радиостанции по очереди
(не забывая, что по умолчанию подключен звуковой аналоговый выход т.е.
звук не будет слышен через динамики телевизора, и для быстрой проверки
можно подключить обычные наушники к звуковому разъему Raspberry Pi)
наш последний список радиостанций вы можете взять здесь:
версия - v0.2.8-2 Radio Torvin описание - Простая Интернет Радио колонка "KODI" назначение - см. выше aрхитектура - ARM платы - Raspberry Pi 3 Model "B+" (B Plus)" - Raspberry Pi 3 Model "B" - Raspberry Pi 2 Model "B" дата - от 07.03.2020 (hehe: весенняя сборка для Non-Stop режима) MD5 - c6fd4c1639e0a1ab1ae3dacd482a1454 (контрольная сумма MD5 zip архива) размер архива 316.8 Мбайт имя файла - berserk-image-raspberrypi3-radio-v0.2.8-2.rpi-sdimg.zip
Вы можете загрузить следующие версии образа дистрибутива:
Changelog Показать/Скрыть
v0.2.7 - 29/11/2019
- add default config for dropbear
- fix error linker "undefined reference to __atomic_fetch_add_8" for Raspberry Pi 1
v0.2.6 - 08/07/2018
- firmware 20180619
- support for WiFi module CYW43455 (Raspberry Pi 3B Plus)
v0.2.5 - 30/06/2018
- Linux Kernel 4.9.80
- Kodi 17.6 (Krypton)
- FFmpeg 3.1.11
- bcm2835-bootfiles 20180313-r3
- python package for addons Plex and Weather:
(python-xml python-misc python-db)
- Kodi addons pvr.iptvsimple 2.4.14
- Network Manager v0.2.5
- ntfs-3g v2017.3.23
Build
- Poky 2.4.1 (Rocko)
v0.2.4 - 28/04/2018
- add addons Kodi
(plugin.video.youtube, script.module.requests)
- python package
(ctypes lang re io netserver netclient html difflib zlib shell)
(sqlite3 urllib3 compression datetime crypt threading math email misc)
- add mount ext4 (udev rules)
- ntfs-3g-ntfsprogs v2013.1.13
- bs-net v0.1.3
v0.2.3 - 25/07/2017
- Network Manager v0.2.4
- Screensaver v0.1.2
- bs-net v0.1.2
v0.2.2 - 23/06/2017
- Separation of the assembly
in Kodi recipe, for boards:
Raspberry Pi and Raspberry Pi 2,3
v0.2.1 - 17/05/2017
- Linux Kernel 4.1.21
- Kodi 15.2
- bcm2835-bootfiles 20160622-r3
- Network Manager v0.2.3
- Screensaver v0.1.1
- Dosfstools 3.0.28
- FFmpeg 2.6
Build
- Poky 2.1.3 (Krogoth)
- version 0.2.x - codename "Torvin"
версия - v0.2.6 Torvin описание - Мультимедиа центр Kodi 17.6 на Raspberry Pi (собран в Yocto Project) aрхитектура - ARM платы - Raspberry Pi 3 Model "B+" (B Plus) - Raspberry Pi 3 Model "B" - Raspberry Pi 2 Model "B" дата - от 09.07.2018 MD5 - 16b3b2c2952f7ccf1a5c99b9d9e3fcaa (контрольная сумма MD5 zip архива) размер архива 316.8 Мбайт примечание: Дополнительно в слое meta-raspberrypi доступны следующие аппаратные платформы: raspberrypi raspberrypi0 raspberrypi0-wifi raspberrypi2 raspberrypi3-64 raspberrypi3 raspberrypi-cm3 raspberrypi-cm но проверялась сборка только для плат Raspberry Pi 3 Model "B"(B+) и Raspberry Pi 2 Model "B" имя файла - berserk-raspberrypi3-torvin-v0.2.6.rpi-sdimg.zip
версия - v0.2.5 Torvin описание - Мультимедиа центр Kodi 17.6 на Raspberry Pi aрхитектура - ARM платы - Raspberry Pi 3 Model "B" - Raspberry Pi 2 Model "B" дата - от 01.07.2018 MD5 - 99c25e60674e2b3c8f6f56d58e433dff (контрольная сумма MD5 zip архива) размер архива 274.8 Мбайт имя файла - berserk-raspberrypi3-torvin-v0.2.5.rpi-sdimg.zip
версия - v0.2.4 Torvin описание - мультимедиа центр Kodi 15.2 на Raspberry Pi aрхитектура - ARM платы - Raspberry Pi 3 Model "B" - Raspberry Pi 2 Model "B" дата - от 28.04.2018 MD5 - 0f39bd2b9c6ae2c29e4f9c0128185791 (контрольная сумма MD5 zip архива) размер архива 229.3 Мбайт имя файла - berserk-raspberrypi3-torvin-v0.2.4.rpi-sdimg.zip
версия - v0.2.3 Torvin описание - мультимедиа центр Kodi 15.2 на Raspberry Pi aрхитектура - ARM платы - Raspberry Pi 3 Model "B" - Raspberry Pi 2 Model "B" дата - от 25.07.2017 MD5 - 5075aea63586034f5cf6072c5a23bcfa (контрольная сумма MD5 zip архива) размер архива 225.0 Мбайт имя файла - berserk-raspberrypi3-torvin-v0.2.3.rpi-sdimg.zip
версия - v0.2.1 Torvin описание - мультимедиа центр Kodi 15.2 на Raspberry Pi aрхитектура - ARM платы - Raspberry Pi 3 Model "B" - Raspberry Pi 2 Model "B" дата - от 19.05.2017 MD5 - b03d0ff3456a3c2fd4a3a24cf120753a (контрольная сумма MD5 zip архива) размер архива 225.0 Мбайт имя файла - berserk-raspberrypi3-torvin-v0.2.1.rpi-sdimg.zip
Описание дистрибутива можете посмотреть в статье
версия - v0.3.2.1 кодовое имя - Brand описание - Сборка Kodi 17.6 в связке с Chromium 67.0.3396.99 для платы Raspberry Pi 3B Plus (RPI 3B+) ( изменение по сравнению с v0.3.2: исправлен запуск Kodi плагинов "Yahoo! Weather" и "Plex" ) платы - Raspberry Pi 3 Model "B" Plus Raspberry Pi 3 Model "B" Raspberry Pi 2 Model "B" дата - от 20.06.2019 MD5 - fdf56a8ff606592e4032aa26c6595d89 (контрольная сумма MD5 zip архива) размер архива 376.7 Мбайт имя файла - berserk-raspberrypi3-brand-v0.3.2.1.rpi-sdimg.zip
версия - v0.3.2 кодовое имя - Brand описание - Сборка Kodi 17.6 в связке с Chromium 67.0.3396.99 для самой новой платы Raspberry Pi 3B Plus (RPI 3B+) плата - Raspberry Pi 3 Model "B" Plus Raspberry Pi 3 Model "B" Raspberry Pi 2 Model "B" дата - от 03.08.2018 MD5 - b177257c921c5b1875b9966c1593f76f (контрольная сумма MD5 zip архива) размер архива 376.3 Мбайт имя файла - berserk-raspberrypi3-brand-v0.3.2.rpi-sdimg.zip
версия - v0.3.1 кодовое имя - Brand описание - Сборка Kodi 17.6 в связке с Chromium 63.0.3239.132 плата - Raspberry Pi 3 Model "B" и Raspberry Pi 2 Model "B" дата - от 17.06.2018 MD5 - 7902adccc33a3cd95943b23486253433 (контрольная сумма MD5 zip архива) размер архива 370.7 Мбайт имя файла - berserk-raspberrypi3-brand-v0.3.1.rpi-sdimg.zip