Меню Рубрики

Установка программ на sailfish

Sailfish как замена Android. Изучаем операционную систему, которая освободит твой телефон от гнета Google

Содержание статьи

Sailfish переводится как «рыба-парусник», а jolla — это по-фински «лодочка», родственник нашего ялика. Вот такая рыбацкая терминология.

На самом деле у Android есть и другие конкуренты, например Tizen. Но все же Sailfish — единственная система, которую можно установить на некоторые смартфоны прямо сейчас, плюс Jolla успела выпустить пару моделей под своей маркой, и эти аппараты все еще присутствуют на рынке.

Sailfish — это, по сути, прямой наследник операционки Meego. Эту систему ты, возможно, успел увидеть в аппарате Nokia N9. Meego — полноценный Linux, обладающий, помимо ядра, привычным набором компонентов, таких как Systemd, Pulseaudio и Wayland. Никаких виртуальных Java-машин, только хардкор!

Пользовательская среда — самобытная разработка Jolla, написанная на Qt 5 и QML. Управление в Sailfish построено на жестах и касаниях, поэтому отдельной кнопки Home системе не требуется. Для разблокировки нужно дважды коснуться экрана и затем смахнуть его в сторону. Навигация по системе строится на свайпах.

Центральный экран занимает список приложений, который можно пролистывать. Делаем свайп вниз — вылезает шторка с типами подключений, небольшой свайп вверх — появляется нижний док с избранными приложениями, а если потянуть сильнее — покажется основная сетка приложений. Пролистывая экраны в стороны, можно переключаться между тремя основными режимами: сеткой приложений, экраном уведомлений и миниатюрами запущенных задач. Виртуальных рабочих столов, как в Android, тут нет, но к этому быстро привыкаешь.

Часть UI написана с использованием Silica — собственного расширения QML, которое Jolla не отдает сообществу (так же как и движок «умного» ввода текста). Все остальное имеет открытый исходный код.

Что касается аппаратов, на которых работает эта ОС, то это Jolla Jolla (sic!), Jolla C, Inoi R7 (смартфон среднего уровня под отечественным брендом) и несколько региональных моделей, названия которых вряд ли тебе что-то скажут. М-да, негусто… Но парни в Jolla вовремя подсуетились и поучаствовали в программе Sony Open Devices. Результатом стало создание отдельной версии Sailfish X для смартфонов Sony Xperia X и XA2. Это уже другое дело! Имея современную «соньку», можно заменить Android на Sailfish и вдохнуть воздух свободы полной грудью… Но, как в анекдоте, тут есть нюанс.

Нюансы

Ты, конечно, знаешь, что операционка без собственной экосистемы приложений мало чего стоит. Вокруг Jolla существует сплоченное, но все же маленькое сообщество, которое потихоньку пилит программы под свою любимую систему. «Из коробки» в Sailfish есть неплохой набор приложений, включая вполне годный веб-браузер на Gecko. Но этого, конечно, мало.

Есть сайт openrepos.net — что-то вроде COPR в Fedora или OBS в openSUSE. Там можно найти много всего, но качество софта… не очень.

Понимая, что с такими ресурсами на рынке удержаться невозможно, основатели Jolla договорились со швейцарской компанией Myriad Group AG о лицензировании их продукта Alien Dalvik — сторонней реализации Android runtime. Для Sailfish стали доступны тысячи приложений из мира Android. Входной барьер низок как никогда: достаточно уметь скачивать файлы APK по ссылкам из Google Play.

В итоге, помимо Storeman (клиента для OpenRepos), в системе имеется полноценный «фирменный» клиент магазина Jolla, где примерно половина ассортимента помечена значком с роботом — это и есть приложения с Android. Интеграция с ними максимально бесшовная.

Второй момент, который тоже очень важен, — это наличие в операционной системе драйверов, позволяющих ей нормально поддерживать сторонние аппараты со всеми их датчиками и сенсорами. Со времен Nokia N9 (а это 2011 год) упомянутую проблему так никто и не решил, поэтому нативных драйверов для мобильного железа в Sailfish почти нет.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Читайте также:  Установка x25xe в вектру а

источник

Установка программ на sailfish

Инструкция по сборке Sailfish OS для вашего Android телефона на русском

найдено на просторах сети (ссылка с инструкцией и файлик с ней же)

крайний официальный HADK (инструкция по сборке для телефона) с сайта Sailfish

Таблица телефонов на которые портирована Sailfish OS
— работа сервисов, оборудования
— ссылки на инструкции установки и архивы прошивок
(с форума https://forum.xda-developers.com)

Обновленный официальный HADK (инструкция по сборке для телефона) с сайта Sailfish

Обновленный официальный HADK (инструкция по сборке для телефона) с сайта Sailfish

Обновленный официальный HADK (инструкция по сборке для телефона) с сайта Sailfish

Обновленный официальный HADK (инструкция по сборке для телефона) с сайта Sailfish

Спрашивайте более конкретно 🙂

конкретно хочу собрать Sailfish OS для Андройд устройства Nokia X .
В инструкции используется CM (но для нокия Х не было официального СМ ) из репозитория я так понял (и задаются производителем и кодовым названием) а что делать если нет СМ официально ?
Можно ли сделать все на виртуальной машине ?
с какими трудностями можно столкнуться с данной моделью ? кстати думаю модель подходящая по железу да и так вся к Н9 приближена . правда с оперативкой натяг 512.

и обновления на английском надо прочесывать или русская инструкция актуальна ?

Сообщение отредактировал KeTbl4 — 08.12.17, 23:57

Большое спасибо neochapay,
что согласились помочь .
-Установил Ubuntu 14
— нашол исходники вроде как .
— curl установлен (в ubuntu вроде как по умалчанию , проверил версию 7.35)
— пытался вводить в терминале Код BASH: по порядку из инструкции , но не чего не происходит , гдето надо указывать свои пораметры ? (я так понял то что в инструкции красным ?)

$ HOST $ — не понимаю как мне из своего окружения перейти в HOST $ (тут я сильно не догоняю)
HOST: command not found — после таких строк я считаю пункт не выполненым
iop@ioppro:

-могу прдположить что дальше можно не суваться пока корневая деректория не определена но я пойду дальше все равно вы заходите редко сюда , буду руку набивать.

Да в линуксе я кушовый , но с вашей помощью думаю смогу добится результата . (может добавите пару разьяснительных слов по работе с вашей инструкцией ? как забивать Код BASH посточно или целиком ?
и как переключаться между MER_SDK $ HOST $ HABUILD_SDK $) (по ходу дела этот вопрос сам отпал)

$ cat $HOME/.hadk.env
> export MER_ROOT=»$HOME/mer»
> export ANDRO
> export VENDOR=»nokia»
> export DEVICE=»REL» — взял из build.prop
> # ARCH conflicts with kernel build
> export PORT_ARCH=»armv7-A» — взял из build.prop
> EOF

$ — тут вроде прошло все ровно система вернула $ 🙂

$ curl -k -O https://img.merproject…mages/mer-sdk/$TARBALL
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 334M 100 334M 0 0 149k 0 0:38:15 0:38:15 —:—:— 154k
iop@ioppro:

$ sudo mkdir -p $MER_ROOT/sdks/sdk
[sudo] password for iop:
iop@ioppro:

$ sudo mkdir -p $MER_ROOT/sdks/sdk
iop@ioppro:

/mer/sdks/sdk$ sudo tar —numeric-owner -p -xjf $HOME/$TARBALL
echo «export MER_ROOT=$MER_ROOT» >>

/.bashrc
echo ‘alias sdk=$MER_ROOT/sdks/sdk/mer-sdk-chroot’ >>

/.bashrc
exec bash
echo ‘PS1=»MerSDK $PS1″‘ >>

$ sdk
[sudo] password for iop:
Mounting system directories.
Mounting / as /parentroot
Mounting home directory: /home/iop
Entering chroot as iop
Env setup for REL — тут вроде все гладко
MerSDK MerSDK MerSDK iop@ioppro:

$ sudo zypper ref — тут явно чтото пошло не так но это предположительно мб и так сойдет
Retrieving repository ‘mer-core’ metadata ————————————[\]Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 14 seconds.
Retrieving repository ‘mer-core’ metadata . [error]Repository ‘mer-core’ is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Skipping repository ‘mer-core’ because of the above error.
Retrieving repository ‘mer-cross-tools’ metadata —————————-[|]Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Читайте также:  Установка заборов в омской области

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 27 seconds.
Retrieving repository ‘mer-cross-tools’ metadata . [error]Repository ‘mer-cross-tools’ is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Skipping repository ‘mer-cross-tools’ because of the above error.
Repository ‘mer-tools’ is up to date.
Some of the repositories have not been refreshed because of an error.
MerSDK MerSDK MerSDK iop@ioppro:

$ sudo zypper up —эта команда на половину прокатила (чтото скачивалось чтото нет )
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 25 seconds.
Error building the cache:
[|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘mer-core’ because of the above error.
iLocation ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 29 seconds. i
Error building the cache:
[|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘mer-cross-tools’ because of the above error.
Loading repository data.
Reading installed packages.

The following package updates will NOT be installed:
git gpgme perl-Git powertop python-pycurl sudo

The following packages are going to be upgraded:
dosfstools kpartx less libyaml mer-kickstarter mic mtools oprofile osc
pygpgme python-cheetah python-iniparse python-urlgrabber rsync sdk-chroot
sdk-sb2-config sdk-utils sp-memusage sp-smaps spectacle squashfs-tools
syslinux yum yum-metadata-parser

24 packages to upgrade.
Overall download size: 5.2 MiB. After the operation, additional 373.5 KiB will
be used.
Continue? [y/n/?] (y): y
Retrieving package dosfstools-3.0.10-6.6.4.i486
(1/24), 65.8 KiB (170.8 KiB unpacked)
Retrieving: dosfstools-3.0.10-6.6.4.i486.rpm . [done]Retrieving package kpartx-0.4.9-7.7.4.i486
(2/24), 19.3 KiB ( 41.1 KiB unpacked)
Retrieving: kpartx-0.4.9-7.7.4.i486.rpm . [done]Retrieving package less-436-7.33.7.4.i486 (3/24), 101.1 KiB (182.2 KiB unpacked)
Retrieving: less-436-7.33.7.4.i486.rpm . [done]Retrieving package libyaml-0.1.4-1.1.4.i486
(4/24), 46.5 KiB (114.9 KiB unpacked)
Retrieving: libyaml-0.1.4-1.1.4.i486.rpm . [done]Retrieving package mtools-4.0.12-4.4.4.i486
(5/24), 185.1 KiB (307.2 KiB unpacked)
Retrieving: mtools-4.0.12-4.4.4.i486.rpm . [done (83.9 KiB/s)]Retrieving package oprofile-0.9.8-1.2.7.i486
(6/24), 1.3 MiB ( 10.3 MiB unpacked)
Retrieving: oprofile-0.9.8-1.2.7.i486.rpm . [done (96.4 KiB/s)]Retrieving package pygpgme-0.1-8.8.4.i486 (7/24), 25.4 KiB ( 74.9 KiB unpacked)
Retrieving: pygpgme-0.1-8.8.4.i486.rpm . [done]Retrieving package python-cheetah-2.4.4-5.5.4.i486
(8/24), 302.8 KiB ( 1.9 MiB unpacked)
Retrieving: python-cheetah-2.4.4-5.5.4.i486.rpm . [done (94.0 KiB/s)]Retrieving package rsync-3.0.9-1.1.4.i486 (9/24), 246.5 KiB (483.4 KiB unpacked)
Retrieving: rsync-3.0.9-1.1.4.i486.rpm . [done (72.0 KiB/s)]Retrieving package sp-memusage-1.3.3-1.2.4.i486
(10/24), 47.3 KiB (104.8 KiB unpacked)
Retrieving: sp-memusage-1.3.3-1.2.4.i486.rpm . [done]Retrieving package sp-smaps-0.4.2-1.2.3.i486
(11/24), 84.0 KiB (244.0 KiB unpacked)
Retrieving: sp-smaps-0.4.2-1.2.3.i486.rpm . [done (29.8 KiB/s)]Retrieving package squashfs-tools-4.0-1.1.4.i486
(12/24), 68.3 KiB (187.6 KiB unpacked)
Retrieving: squashfs-tools-4.0-1.1.4.i486.rpm . [done]Retrieving package yum-metadata-parser-1.1.4-8.8.4.i486
(13/24), 19.3 KiB ( 45.9 KiB unpacked)
Retrieving: yum-metadata-parser-1.1.4-8.8.4.i486.rpm . [done]Retrieving package python-iniparse-0.3.1-1.1.4.noarch
(14/24), 32.5 KiB (106.3 KiB unpacked)
Retrieving: python-iniparse-0.3.1-1.1.4.noarch.rpm . [done]Retrieving package python-urlgrabber-3.9.1-1.1.5.noarch
(15/24), 75.8 KiB (313.3 KiB unpacked)
Retrieving: python-urlgrabber-3.9.1-1.1.5.noarch.rpm . [done]Retrieving package sdk-chroot-0.66-1.5.2.noarch
(16/24), 24.7 KiB ( 13.3 KiB unpacked)
Retrieving: sdk-chroot-0.66-1.5.2.noarch.rpm . [done]Retrieving package sdk-sb2-config-0.66-1.5.2.noarch
(17/24), 28.5 KiB ( 82.3 KiB unpacked)
Retrieving: sdk-sb2-config-0.66-1.5.2.noarch.rpm . [done]Retrieving package sdk-utils-0.66-1.5.2.noarch
(18/24), 34.2 KiB ( 47.2 KiB unpacked)
Retrieving: sdk-utils-0.66-1.5.2.noarch.rpm . [done]Retrieving package syslinux-4.06-1.1.4.i486
(19/24), 951.4 KiB ( 2.5 MiB unpacked)
Retrieving: syslinux-4.06-1.1.4.i486.rpm . [done (98.7 KiB/s)]Retrieving package yum-3.2.29-13.13.5.noarch
(20/24), 727.0 KiB ( 3.9 MiB unpacked)
Retrieving: yum-3.2.29-13.13.5.noarch.rpm . [done (94.1 KiB/s)]Retrieving package spectacle-0.30-1.4.4.noarch
(21/24), 127.8 KiB (726.8 KiB unpacked)
Retrieving: spectacle-0.30-1.4.4.noarch.rpm . [done]Retrieving package osc-0.146.0-1.3.5.noarch
(22/24), 413.4 KiB ( 1.7 MiB unpacked)
Retrieving: osc-0.146.0-1.3.5.noarch.rpm . [done (138.2 KiB/s)]Retrieving package mer-kickstarter-0.19-2.2.7.noarch
(23/24), 13.3 KiB ( 74.6 KiB unpacked)
Retrieving: mer-kickstarter-0.19-2.2.7.noarch.rpm . [done]Retrieving package mic-0.14-9.5.3.noarch (24/24), 388.9 KiB ( 2.0 MiB unpacked)
Retrieving: mic-0.14-9.5.3.noarch.rpm . [done (104.2 KiB/s)]Installing: dosfstools-3.0.10-6.6.4 . [done]Installing: kpartx-0.4.9-7.7.4 . [done]Installing: less-436-7.33.7.4 . [done]Installing: libyaml-0.1.4-1.1.4 . [done]Installing: mtools-4.0.12-4.4.4 . [done]Installing: oprofile-0.9.8-1.2.7 . [done]Installing: pygpgme-0.1-8.8.4 . [done]Installing: python-cheetah-2.4.4-5.5.4 . [done]Installing: rsync-3.0.9-1.1.4 . [done]Installing: sp-memusage-1.3.3-1.2.4 . [done]Installing: sp-smaps-0.4.2-1.2.3 . [done]Installing: squashfs-tools-4.0-1.1.4 . [done]Installing: yum-metadata-parser-1.1.4-8.8.4 . [done]Installing: python-iniparse-0.3.1-1.1.4 . [done]Installing: python-urlgrabber-3.9.1-1.1.5 . [done]Installing: sdk-chroot-0.66-1.5.2 . [done]Installing: sdk-sb2-config-0.66-1.5.2 . [done]Installing: sdk-utils-0.66-1.5.2 . [done]Installing: syslinux-4.06-1.1.4 . [done]Installing: yum-3.2.29-13.13.5 . [done]Installing: spectacle-0.30-1.4.4 . [done]Installing: osc-0.146.0-1.3.5 . [done]Installing: mer-kickstarter-0.19-2.2.7 . [done]Installing: mic-0.14-9.5.3 . [done]
MerSDK MerSDK MerSDK iop@ioppro:

ну а тут полное фиаско . видемо предыдущий пункт пошол не так .
MerSDK MerSDK MerSDK — очень не понятно почему три раза.

Читайте также:  Установка iss для 1с

$ sudo zypper ar http://repo.merproject…edge:/mer/latest_i486/ curlfix
Adding repository ‘curlfix’ . [done]Repository ‘curlfix’ successfully added
Enabled: Yes
Autorefresh: No
GPG check: Yes
URI: http://repo.merproject…edge:/mer/latest_i486/

MerSDK MerSDK MerSDK iop@ioppro:

$ sudo zypper ref curlfix
Retrieving repository ‘curlfix’ metadata ————————————[\]File ‘repomd.xml’ from repository ‘curlfix’ is unsigned, continue? [yes/no] (no): y
Retrieving repository ‘curlfix’ metadata . [done]Building repository ‘curlfix’ cache . [done]Specified repositories have been refreshed.
MerSDK MerSDK MerSDK iop@ioppro:

$ sudo zypper dup —from curlfix
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 26 seconds.
Error building the cache:
[|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘mer-core’ because of the above error.
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 26 seconds. r
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 29 seconds. r
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 29 seconds.
iError building the cache:
[|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘mer-cross-tools’ because of the above error.
Loading repository data.
Reading installed packages.
Computing distribution upgrade.

The following packages are going to be upgraded:
curl libcurl

2 packages to upgrade.
Overall download size: 287.7 KiB. After the operation, additional 23.3 KiB will
be used.
Continue? [y/n/?] (y):
Invalid answer ‘i’. [y/n/?] (y): y
Retrieving package libcurl-7.40.0-1.1.1.i486
(1/2), 162.0 KiB (422.8 KiB unpacked)
Retrieving: libcurl-7.40.0-1.1.1.i486.rpm . [done]Retrieving package curl-7.40.0-1.1.1.i486 (2/2), 125.7 KiB (183.2 KiB unpacked)
Retrieving: curl-7.40.0-1.1.1.i486.rpm . [done (48.9 KiB/s)]Installing: libcurl-7.40.0-1.1.1 . [done]Installing: curl-7.40.0-1.1.1 . [done]MerSDK MerSDK MerSDK iop@ioppro:

$ sudo zypper in android-tools createrepo zip
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r): опятьже чтото не нашлось
Autoselecting ‘r’ after 18 seconds. r
Error building the cache:
[|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘mer-core’ because of the above error.
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 29 seconds.
Location ‘http://releases.merpro…s/repodata/repomd.xml’ is temporarily unaccessible.

Abort, retry, ignore? [a/r/i] (r):
Autoselecting ‘r’ after 30 seconds. i
Error building the cache:
[|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘mer-cross-tools’ because of the above error.
Loading repository data.
Reading installed packages.
‘zip’ not found in package names. Trying capabilities.
No provider of ‘zip’ found.
Resolving package dependencies.

Problem: nothing provides libxml2-python needed by createrepo-0.9.9-1.1.5.i486
Solution 1: do not install createrepo-0.9.9-1.1.5.i486
Solution 2: break createrepo-0.9.9-1.1.5.i486 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies.
Resolving package dependencies.

The following NEW packages are going to be installed:
android-tools libselinux1

2 new packages to install.
Overall download size: 167.2 KiB. After the operation, additional 424.0 KiB
will be used.
Continue? [y/n/?] (y): y
Retrieving package libselinux1-2.1.13_20130423-1.1.2.i486
(1/2), 53.0 KiB (130.1 KiB unpacked)
Retrieving: libselinux1-2.1.13_20130423-1.1.2.i486.rpm . [done]Retrieving package android-tools-4.2.2_git20130218-11.4.2.i486
(2/2), 114.2 KiB (293.9 KiB unpacked)
Retrieving: android-tools-4.2.2_git20130218-11.4.2.i486.rpm . [done]Installing: libselinux1-2.1.13_20130423-1.1.2 . [done]Installing: android-tools-4.2.2_git20130218-11.4.2 . [done]MerSDK MerSDK MerSDK iop@ioppro:

Находясь в MER SDK качаем окружение UBUNTU . для андройда. да будет весёлая матрёшка. — тут все получилось оставил только лог вхола в Ubuntu chroot

$ hadk
Env setup for REL
MerSDK MerSDK MerSDK iop@ioppro:

$ ubu-chroot -r $MER_ROOT/sdks/ubuntu
sudo: unable to resolve host ioppro
Env setup for REL
HABUILD_SDK [] iop@ioppro:

на севодня хватит ) в итоге не без косяков но в папке MER все появилось и sdk и ubuntu .
С нетерпением жду проверки моей «домашней роботы» и указаний к действиям .

Сообщение отредактировал KeTbl4 — 12.12.17, 23:41

Машинный перевод Обновленного официального HADK (инструкции по сборке для телефона) с сайта Sailfish

может кому-то будет полезно.

HOST: command not found
Потому что HOST означает, что команда выполняется на рабочей системе, тоесть
HOST->MerSDK->Ubuntu

источник

Добавить комментарий

Adblock
detector