Основа по которому делается портирование Sailfish OS на новое оборудование это
SailfishOS-HardwareAdaptationDevelopmentKit-1.1.2
Предупреждение
- в официальном руководстве есть опечатки, которые "попили" некоторое количества крови))) Удачного портирования!!!
Подготовка окружения и SDK для портирования.
Я использую виртуальную машину VirtualBox (2 ядра процессор, ОЗУ 2048 Мб, HDD 150 Гб)при получении порта который будет хотя бы загружаться на смартфоне, я выложу ссылку на рабочую виртуальную машину).
- файлы настройки окружения
HOST $
cat <<'EOF' > $HOME/.hadk.env
export MER_ROOT="$HOME/mer"
# в официальной документации ошибка на этой строке
export ANDROID_ROOT="$MER_ROOT/android/droid"
export VENDOR="asus"
export DEVICE="Z00L"
# ARCH conflicts with kernel build
export PORT_ARCH="armv7hl"
EOF
cat <<'EOF' >> $HOME/.mersdkubu.profile
function hadk() { source $HOME/.hadk.env; echo "Env setup for $DEVICE"; }
export PS1="HABUILD_SDK [\${DEVICE}] $PS1"
hadk
EOF
cat <<'EOF' >> $HOME/.mersdk.profile
function hadk() { source $HOME/.hadk.env; echo "Env setup for $DEVICE"; }
hadk
PS1="MerSDK $PS1"
EOF
Установка MER SDK
HOST $
export MER_ROOT=$HOME/mer
cd $HOME
TARBALL=mer-i486-latest-sdk-rolling-chroot-armv7hl-sb2.tar.bz2
curl -k -O https://img.merproject.org/images/mer-sdk/$TARBALL
mkdir -p $MER_ROOT/sdks/sdk
cd $MER_ROOT/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
cd $HOME
sdk
# These commands are a tmp workaround of glitch when working with target:
sudo zypper ar \
http://repo.merproject.org/obs/home:/sledge:/mer/latest_i486/ curlfix
sudo zypper ref curlfix
sudo zypper dup --from curlfix
sudo zypper in android-tools createrepo zip
Установка Ubuntu Chroot
MER_SDK $
hadk
TARBALL=ubuntu-trusty-android-rootfs.tar.bz2
curl -O http://img.merproject.org/images/mer-hybris/ubu/$TARBALL
UBUNTU_CHROOT=$MER_ROOT/sdks/ubuntu
sudo mkdir -p $UBUNTU_CHROOT
sudo tar --numeric-owner -xvjf $TARBALL -C $UBUNTU_CHROOT
Чтобы зайти в Ubuntu Chroot:
MER_SDK $
ubu-chroot -r $MER_ROOT/sdks/ubuntu
# FIXME: Hostname resolution might fail. This error can be ignored.
# Can be fixed manually by adding the hostname to /etc/hosts