Записки утконоса-программиста

Sailfish OS - Hardware Adaptation Development Kit - Собираем пакеты для камеры

HADK последний нам очень мило объясняет сборку поддержки камеры - TODO и всё. И самая весёлость начинается тогда, когда вы указываете в конфиге девайса have_camera 1 - пакеты просто не соберутся.
Sailfish OS - Hardware Adaptation Development Kit - Собираем пакеты для камеры

Итак, решаем проблему - сборки пакетов!

Включаем WiFi вручную и не очень

Итак, есть wifi модуль wifi_pronto.ko и он тупо не включается. Почему...а потому что андройд...
Включаем WiFi вручную и не очень

Пинговать запрещено!

Поднял сегодня WiFi на железке, о том как я её поднимал расскажу чуть по позже, но при попытке пинга, особо замечу от рута, выходила следующая ошибка:
Код BASH:
  1. ping 8.8.8.8
  2. socket: Permission denied
Пинговать запрещено!

Пробрасываем версию пакета из SPEC в QML

Достаточно часто бывает нужно, чтобы отображалась версия в QML файле. Обычно такое нужно на страничке About. Вещь абсолютно бесполезная, но вот так сложились звёзды. Сейчас я покажу, как обновлять версию в QML файле, на основании версии из SPEC-файла.
Пробрасываем версию пакета из SPEC в QML

Не монтируется devtmpfs

Вообще идиотизм напал на меня на прошлой неделе...просто тупо не монтируется devtmpfs и естественно ни чего далее за ним не стартует. Глюк скорее всего в одном из драйверов, но решать надо было без долгого копания...как всегда прям..
Не монтируется devtmpfs

В любой непонятной ситуации

Меняй дизаин сайта...что я и сделал чо. По моему найсненько smile Ну и чуть концепцию поменяю...но это пока попозже.
В любой непонятной ситуации

Failed at step STDIN spawning в логах systemd

В логах вываливаются ошибки примерно такого вида:
"Failed at step STDIN spawning /usr/bin/xorg-launch-helper: " либо с ошибкой прав доступа, либо с тем, что нет файла.
Ошибка исправляется так:
В сервисе, который вызывает такую ошибку исправляем следующие переменные
Код PHP:
  1. StandardInput=tty
  2. TTYPath=/dev/tty1
То есть явно указываем на то куда выплёвывать сообщения. У меня стоял tty-forse и это вызывало ошибку

Sailfish OS - Включить сеть на незагружающемся устройстве

Задача:
Есть устройство и оно грузится...как то...но не подобраться к нему. Задача подключить DevMode и соотвествено сеть через USB
Решение
Через recovery или как то другим способом создаём файл в корне sailfish:
/var/lib/environment/usb-moded/alwaysdevmode.conf
То есть если через рековери то будет /data/.stowaways/sailfishos/var/lib/environment/usb-moded/alwaysdevmode.conf
С содержимым:
Код BASH:
  1. USB_MODED_ARGS=-r

Создание initram

Код BASH:
  1. cd initram/
  2. find . | cpio -H newc -o > ../initramdisk.cpio

Sailfish OS - Hardware Adaptation Development Kit - Читаем логи незагружающегося устройства

Итак,есть устройство...и естественно оно не загружается...ну так бывает при портировании. Как добраться до логов?
Шаг 1: Правим настройки журнала systemd
Заходим в рековери, кастомное
Код BASH:
  1. adb shell
  2. vi /data/.stowaways/sailfishos/etc/systemd/journald.conf
И меняем параметр Storage на persistent
Шаг 2: Перезагружаемся...ждём...
Шаг 3: Перезагружаемся в рековери заново
Шаг 4: Чрутуемся в sailfish
Код BASH:
  1. adb shell
  2. su
  3. mount -o bind /dev /data/.stowaways/sailfishos/dev
  4. mount -o bind /proc /data/.stowaways/sailfishos/proc
  5. mount -o bind /sys /data/.stowaways/sailfishos/sys
  6. chroot /data/.stowaways/sailfishos/ /bin/su -
Шаг 5: смотрим наш журнал:
Код BASH:
  1. journalctl -b