LINUX.ORG.RU

Собираем полный список изменений Raspbian по сравнению с Debian

 , ,


0

3

Всем привет. Для Raspberry Pi существует много сборок популярных операционных систем. Мне интересна тема использования «ванильного» дистрибутива Linux, а затем приведение его в точности такой же вид, как сборки на их основе. Чем отличается Raspbian от Debian? А чем отличается Pidora от Fedora? Давайте собирать эту информацию вместе, сосредоточившись на основном дистре, создаваемом самими разработчиками устройства - Raspbian

  1. Существует форк ядра Linux от проекта Raspbian. Изменения из него коммитятся в апстрим. Поэтому не обязательно использовать именно форк ядра - можно использовать ванильное ядро, собрав его командой «ARCH=arm make bcm2835_defconfig»
  2. Ядро системы собрано в вариантах для ARMv6 (первая модель Raspberry Pi) и для ARMv7+ (вторая и последующие модели). Пакеты с остальным ПО, скорее всего, собраны с -march для armv6 и -mtune для armv7 + hard float
  3. Существует библиотека с закрытым исходным кодом с реализацией OpenGL ES. Она создана разработчиками устройства, и используется не только в Raspbian, но и в мобильных телефонах, использующих GPU VideoCore IV. Приложения используют эту библиотеку в связке с EGL. Библиотека очень хороша. Если у вас не Raspbian, то скачать и установить её можно из Github.
  4. Вместе с тем, создаётся опенсорсный драйвер для GPU VideoCore IV. Он пока уступает в производительности проприетарному, но зато умеет OpenGL (который не ES), KMS и Wayland. Драйвер доступен в Mesa. Он также включен в образы дистрибутива, на него можно переключиться, отредактировав config.txt
  5. В Raspbian Linux есть очень здорово собранный Chromium browser. Он работает очень быстро и не занимает много памяти. Скорее всего, мейнтейнер накладывал патчи, и тщательно подбирал флаги сборки. Судя по DEB-SRC пакета, сборка создана на основе пакета из Ubuntu 14.04
  6. Raspbian Linux представляет из себя большой репозиторий Debian плюс маленький дополнительный репозиторий Raspbian. Это реализовано прозрачно для пользователя. apt-get получает список пакетов из некоего raspbian mirror. И когда я устанавливаю большинство пакетов, то скачивание идёт из репозитория Debian. Но в некоторых случаях скачивание идёт из репозитория Paspbian. Это новые пакеты, которых нет в Debian (например omxplayer и gstreamer-plugins-omx), а также пакеты, которые есть в Debian, но которые были пересобраны. Например с оптимизациями для конкретного CPU, либо в которых включена фича, отключенная по умолчанию (например OpenGL ES + EGL вместо OpenGL + GLX)

Дополняем и обсуждаем

А чем отличается Pidora от Fedora?

Pidora давным давно умерла и похоронена. Есть ванильная Fedora for ARM которая от Fedora практически не отличается и работает на Raspberry Pi 2 и 3.

Существует форк ядра Linux от проекта Raspbian. Изменения из него коммитятся в апстрим.

Основная проблема не в ядре как таковом, а в обвязке. К примеру можешь глянуть на то как разноообразные user-space библиотеки детектят версию Raspberry Pi на которой они сидят. С нормальными «ванильными» дистрибутивами эти способы способы несовместимы, там банально /proc/cpuinfo не так выглядит.

Или оверлеи для device tree. Частичная поддержка их в ядре есть, но Raspbian предлагает свой особый путь их конфигурации.

alpha ★★★★★ ()