Сборка Sailfish OS
Dec. 6th, 2018 12:17 amВы хотите суровой программерской наркомании? Их есть у меня!
Если вы когда-нибудь собирали какие-то ОС, то наверняка помните какое это муторное занятие, скрипты для сборки и т.п. Но всё это ничто по сравнению со сборкой Salfish OS.
Существует официальный мануал HADK (Hardware Adaptation Development Kit Documentation) (Есть шанс, что в России ссылка не работает) или тот же примерно вариант, но на русском (с некоторыми отличиями).
Поскольку никто мануалы читать не будет, а если и будет - этого мало. Их надо ещё и понять.
— Слушай, ты можешь понять, что вообще происходит?
— Тебе объяснить?
— Да нет, объяснить я и сам могу. Ты ПОНЯТЬ можешь?
Так вот, с пониманием плохо, а вот объяснить попытаюсь.

Ладно, отбросим лирику. Для сборки системы нам нужен linux 64 бита. На него ставим sdk, который (внимание) запускается в chroot. На него ставим ubuntu, которая запускается в chroot из quemu (глаз не дёргается?). Далее, для сборки системы нужен Андроид! Т.е. нам от андроида нужно ядро, с дровами, которое и будет тем самым ядром линукс, а работа с ним будет через хардварные библиотеки, а именно libhybris (т.е. не напрямую с ядром, как в нормальном линуксе, дёргая апи, а через библиотеки совмещения). Если вы ещё не потеряли нить, андроид собирается в том втором чруте. После сборки андроида, мы настраиваем песочницу в первом чруте, где идёт эмуляция таргета...
А теперь добавьте сюда, что у Ведра, у каждой под системы выше, у каждого rpm-хардварного пакета есть свой скрипт. И представьте себе что вам ещё это нужно сконфигурировать, а главное ПОНИМАТЬ зачем вы это делаете!!! Да, а всё недостающее дописать в библиотеку libhybris ручками, на си.
Матрёшки Арбата в полном составе нервно закурили!

С сатирой закончили. С другой стороны, это единственная рабочая, в меру современная мобильная ОС под Linux, которая поддерживается в актуальном состоянии (если думаете, что это не так, то мануалы по сборке написаны в ноябре текущего года, и продолжают актуализироваться). Настоящая полноценная наследница Maemo! Ядро андроид используется потому, что драйверов половины железа просто нет под другие ОС. А сами дрова имеют только бинарный вид и единственный путь - это использовать ядро ведра. Да, костыли всем не нравятся, но пока это единственный путь.
Кода адские мегатонны, и жаль если это всё канет в небытие, но не канет ибо очень активная идёт разработка. Я очень хочу аппарат с этой системой в полноценное своё пользование. Ну и писать софт под неё.
Если вы когда-нибудь собирали какие-то ОС, то наверняка помните какое это муторное занятие, скрипты для сборки и т.п. Но всё это ничто по сравнению со сборкой Salfish OS.
Существует официальный мануал HADK (Hardware Adaptation Development Kit Documentation) (Есть шанс, что в России ссылка не работает) или тот же примерно вариант, но на русском (с некоторыми отличиями).
Поскольку никто мануалы читать не будет, а если и будет - этого мало. Их надо ещё и понять.
— Слушай, ты можешь понять, что вообще происходит?
— Тебе объяснить?
— Да нет, объяснить я и сам могу. Ты ПОНЯТЬ можешь?
Так вот, с пониманием плохо, а вот объяснить попытаюсь.

Ладно, отбросим лирику. Для сборки системы нам нужен linux 64 бита. На него ставим sdk, который (внимание) запускается в chroot. На него ставим ubuntu, которая запускается в chroot из quemu (глаз не дёргается?). Далее, для сборки системы нужен Андроид! Т.е. нам от андроида нужно ядро, с дровами, которое и будет тем самым ядром линукс, а работа с ним будет через хардварные библиотеки, а именно libhybris (т.е. не напрямую с ядром, как в нормальном линуксе, дёргая апи, а через библиотеки совмещения). Если вы ещё не потеряли нить, андроид собирается в том втором чруте. После сборки андроида, мы настраиваем песочницу в первом чруте, где идёт эмуляция таргета...
А теперь добавьте сюда, что у Ведра, у каждой под системы выше, у каждого rpm-хардварного пакета есть свой скрипт. И представьте себе что вам ещё это нужно сконфигурировать, а главное ПОНИМАТЬ зачем вы это делаете!!! Да, а всё недостающее дописать в библиотеку libhybris ручками, на си.
Матрёшки Арбата в полном составе нервно закурили!

С сатирой закончили. С другой стороны, это единственная рабочая, в меру современная мобильная ОС под Linux, которая поддерживается в актуальном состоянии (если думаете, что это не так, то мануалы по сборке написаны в ноябре текущего года, и продолжают актуализироваться). Настоящая полноценная наследница Maemo! Ядро андроид используется потому, что драйверов половины железа просто нет под другие ОС. А сами дрова имеют только бинарный вид и единственный путь - это использовать ядро ведра. Да, костыли всем не нравятся, но пока это единственный путь.
Кода адские мегатонны, и жаль если это всё канет в небытие, но не канет ибо очень активная идёт разработка. Я очень хочу аппарат с этой системой в полноценное своё пользование. Ну и писать софт под неё.
no subject
Date: 2018-12-05 09:43 pm (UTC)no subject
Date: 2018-12-05 10:54 pm (UTC)no subject
Date: 2018-12-06 05:26 am (UTC)no subject
Date: 2018-12-06 07:41 am (UTC)no subject
Date: 2018-12-05 10:09 pm (UTC)Интересная тема. Есть несколько устройств поддерживаемых платной лицензионной версией. Есть и комьюнити порты. Основной недостаток - мало годного ПО.
У меня когнитивный диссонанс по этой теме. Поставил комьюнити порт на Gemini PDA, и снёс потом нафиг, т.к. продуктивно использовать можно с трудом. Как временный вариант использую андроид и devuan в chroot'e.
Кстати, в СФ не только ядро от андроида, но и все его базовые подсистемы в lxc контейнере крутятся.
no subject
Date: 2018-12-06 07:19 am (UTC)no subject
Date: 2018-12-06 06:39 pm (UTC)Все печально. Стоковый андроид, а в linuxdeploy chroot devuan. Devuan ибо он без systemd. Systemd в chroot'e не работает.
Я брал гемини, чтобы когда дежурство лапоть везде не таскать. Так - всё консольное работает нормально. Когда СФ3 выпустят - куплю лицензию и снесу андроид вместе с чрутом к чертям собачьим.
no subject
Date: 2018-12-07 10:21 am (UTC)no subject
Date: 2018-12-07 10:38 am (UTC)Jolla продает коммерческую сборку SF с компонентами недоступными в community edition.
https://jolla.com/#SailfishOS
Насчет телеграм сообществ - пиши в телеге камраду @ExPLIT. Можно по русски. :) Он там админ.
ну или сразу сюда https://t.me/sailfishos
no subject
Date: 2018-12-08 03:32 pm (UTC)no subject
Date: 2018-12-10 11:25 am (UTC)Я много лет ворчал, что нет PDA или qwerty слайдеров с 2012 года, когда выпустили последний motorola photon q. Поэтому когда увидел кампнию - решил ответить за слова. :D
Чисто физически - устройство не такое прочное и долговечное как псион5.
Софт - отдельная печаль. Официально предлагается трипл-бут. android/debian/sailfish-ce(community edition).
В android всё более-менее нормально, за исключением нестабильного блютуса. Но сам для использования на таком PDA подходит крайне плохо. Софт плохо/не поддерживает "ландшафную" ориетнтацию экрана. Нет возможности переключать раскладку клавы комбинацией клавиш. Да и комбинации клавиш ctrl+c, ctrl+v не во всех программах работают. Зато оптимизация питания и вообще все железо хотя-бы работает.
В debian нет нормальной НАТИВНОЙ поддержки графического ускорителя. И не будет. Наш земляк, кулибин еще тот, написал модуль для X, который использует GPU через прослойку андроида работающего в LXC контейнере. Но так использовать GPU могут только некоторые приложения типа браузера chrome/chromium. Батарея держит мало, вся сетевая часть работает не очень стабильно и только после пляски с бубном.
В sailfish-ce всё более-менее кроме одного. На момент тестирования клавиша Esc(она же on/off если держать долго) тушила экран. Что для меня как человека работающего в терминале с vim не подходит от слова "совсем".
Поэтому жду лицензионную sailfish3. :)
no subject
Date: 2018-12-05 10:19 pm (UTC)no subject
Date: 2018-12-06 06:27 am (UTC)no subject
Date: 2018-12-06 07:17 am (UTC)no subject
Date: 2018-12-06 08:39 am (UTC)no subject
Date: 2018-12-08 03:25 pm (UTC)+ есть утилита cabextract, которая потрошить .cab файлы.
no subject
Date: 2018-12-09 12:26 pm (UTC)no subject
Date: 2018-12-06 08:32 am (UTC)И да, эти товарищи натянули ее на BV6000.
no subject
Date: 2018-12-06 10:44 am (UTC)Бывает так что мануал есть но процедура сборки изменилась а мануал отстал по версии. Я когда то что то собирал по каким то мануалам. Читаешь что должно быть так а в реальности другое.
Приходится бесконечно гуглить выискивать решение.
Ненавижу компиляцию, зависимости, кривые билд скрипты, неточные мануалы!
no subject
Date: 2018-12-06 10:46 am (UTC)Фишка в том, что надо очень хорошо понимать ЧТО ты делаешь. И, вероятно, самому писать мануал.
no subject
Date: 2018-12-06 06:41 pm (UTC)Есть несколько телеграм сообществ на тему сф. Вступить хочешь?
no subject
Date: 2018-12-07 10:22 am (UTC)no subject
Date: 2019-06-11 05:09 am (UTC)Мне вот тут недавно предложили вакансии посмотреть:
Москва: ведущий разработчик https://hh.ru/vacancy/29727812
Иннополис: руководителя группы разработки https://hh.ru/vacancy/31189564
no subject
Date: 2019-06-11 07:23 am (UTC)