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