Fork me on GitHub

1. Подготовка окружения и SDK для портирования

Основа по которому делается портирование Sailfish OS на новое оборудование это

SailfishOS-HardwareAdaptationDevelopmentKit-1.1.2

Предупреждение

  • в официальном руководстве есть опечатки, которые "попили" некоторое количества крови))) Удачного портирования!!!

Подготовка окружения и SDK для портирования.

Я использую виртуальную машину VirtualBox (2 ядра процессор, ОЗУ 2048 Мб, HDD 150 Гб)при получении порта который будет хотя бы загружаться на смартфоне, я выложу ссылку на рабочую виртуальную машину).

  1. файлы настройки окружения
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

social