PinePhoneをNOKIA/Intelが作ったMeeGoの末裔であるSailfish OSで使うためのまとめ。
なお、Sailfish OSはjolla社の商用OSです。フルOSS版はNemo Mobileです。
起動用microSDの作り方
Linux環境でPinePhone Software ReleaseのSailfish OSの項目にある flash-it.sh スクリプトを実行して作成する。実行するとファイルのダウンロードを開始するので、実際のmicroSD書き込みが始まるまでには若干時間がかかる。
osakanataro@ubuntuserver:~$ ./flash-it.sh
Sailfish OS Pine64 device flasher V0.2.0
======================================
Which image do you want to flash?
1) PinePhone device
2) PineTab device
3) Dont Be Evil devkit
#? 1
Downloading images...
<ファイルのダウンロード>
Which SD card do you want to flash?
<いまマウントしているデバイス一覧表示>
Device node (/dev/sdX): /dev/sdb
Flashing image to: /dev/sdb
WARNING: All data will be erased! You have been warned!
Some commands require root permissions, you might be asked to enter your sudo password.
Creating EXT4 file system...
Unmounting /dev/sdb
[sudo] osakanataro のパスワード:
umount: /dev/sdb: not mounted.
Unmounting /dev/sdb1
umount: /dev/sdb1: not mounted.
Unmounting /dev/sdb2
umount: /dev/sdb2: not mounted.
mke2fs 1.44.1 (24-Mar-2018)
/dev/sdb1 contains a ext4 file system labelled 'boot'
last mounted on /home/osakanataro/boot on Thu Jan 1 09:00:19 1970
Creating filesystem with 242688 1k blocks and 60720 inodes
Filesystem UUID: 6c3c5d0c-98bf-4149-a78a-10613da0e8ef
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Allocating group tables: 0/30 done
Writing inode tables: 0/30 done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: 0/30 done
mke2fs 1.44.1 (24-Mar-2018)
/dev/sdb2 contains a ext4 file system labelled 'data'
last mounted on / on Thu Jan 1 09:00:15 1970
Creating filesystem with 7754240 4k blocks and 1941504 inodes
Filesystem UUID: b45e4f0b-a36e-4b8a-8f89-3ba4b63219a2
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: 0/237 done
Writing inode tables: 0/237 done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 0/237 done
Flashing U-boot...
Archive: u-boot.zip
inflating: u-boot-bootloader/devkit/boot.scr
inflating: u-boot-bootloader/pinephone/boot.scr
inflating: u-boot-bootloader/pinetab/boot.scr
inflating: u-boot-bootloader/u-boot/u-boot-sunxi-with-spl.bin
81+1 レコード入力
81+1 レコード出力
663992 bytes (664 kB, 648 KiB) copied, 0.029419 s, 22.6 MB/s
Flashing rootFS...
Archive: pinephone-rootfs.zip
inflating: pinephone/sfe-pinephone-3.2.1.20-devel-20200202/Jolla-3.2.1.20-pinephone-armv7hl.ks
inflating: pinephone/sfe-pinephone-3.2.1.20-devel-20200202/Jolla-3.2.1.20-pinephone-armv7hl.packages
inflating: pinephone/sfe-pinephone-3.2.1.20-devel-20200202/Jolla-3.2.1.20-pinephone-armv7hl.urls
inflating: pinephone/sfe-pinephone-3.2.1.20-devel-20200202/sfe-pinephone-3.2.1.20-devel-20200202.tar.bz2
pinephone/sfe-pinephone-3.2.1.20-devel-20200202/sfe-pinephone-3.2.1.20-devel-20200202.tar.bz2
Copying kernel to boot partition...
Cleaning up!
Unmounting /dev/sdb
umount: /dev/sdb: not mounted.
Unmounting /dev/sdb1
Unmounting /dev/sdb2
Flashing /dev/sdb OK!
You may now remove the SD card and insert it in your Pine64 device!
osakanataro@ubuntuserver:~$
初回起動について
まず、2020年2月12日現在、言語に日本語はない。英語でセットアップする。
jollaアカウントの作成が求められる。
また、使い方説明のチュートリアルがあり、これが結構長い。とはいえ、Androidからだとすぐにわからない操作もあるので1回は受けておくこと。
なお、チュートリアルは、画面の 左上隅、右上隅、右下隅、左下隅の順にクリック すると飛ばすことができる。(jolla Q&A「How do I cancel tutorial? [answered]」)
LTEの使用方法
2020年2月12日現在、オフィシャルレポジトリだけではLTEが利用可能にならなかった。
PinePhone向けに積極的な開発を行っているneochapayさんが公開している開発用レポジトリ http://repo.merproject.org/obs/home:/neochapay:/mer:/build_test/sailfishos_3.2.1.20/ を追加することで利用可能になる。
追加はterminalからコマンドを実行して行う。パソコンからsshでログインして操作すると良い。sshでログインする際のユーザ名は「nemo」となる。(パスワードはSetting画面で設定する)
最初にrootユーザになるため「devel-su」コマンドを実行する。
[nemo@PinePhone ~]$ devel-su
Password:
[root@PinePhone nemo]#
次に現在のレポジトリを確認するため「ssu lr」を実行する。
[root@PinePhone nemo]# ssu lr
Enabled repositories (global):
- adaptation-community ... http://repo.merproject.org/obs/nemo:/devel:/hw:/pine:/pinephone/sailfish_latest_armv7hl/
- adaptation-community-common ... http://repo.merproject.org/obs/nemo:/devel:/hw:/common/sailfish_latest_armv7hl/
- adaptation-dontbeevil ... http://repo.merproject.org/obs/nemo:/devel:/hw:/pine:/dontbeevil/sailfish_latest_armv7hl/
- adaptation-pinephone ... http://repo.merproject.org/obs/nemo:/devel:/hw:/pine:/dontbeevil:/pinephone/sailfish_latest_armv7hl/
- apps ... https://releases.jolla.com/jolla-apps/3.2.1.20/armv7hl/
- hotfixes ... https://releases.jolla.com/releases/3.2.1.20/hotfixes/armv7hl/
- hw-native-common ... http://repo.merproject.org/obs/nemo:/devel:/hw:/native-common/sailfish_latest_armv7hl/
- jolla ... https://releases.jolla.com/releases/3.2.1.20/jolla/armv7hl/
Enabled repositories (user):
- store ... https://store-repository.jolla.com/pinephone/armv7hl/?version=3.2.1.20
Disabled repositories (global, might be overridden by user config):
Disabled repositories (user):
- home ... https://download.jollamobile.com/home:/honeybadger/latest_armv7hl/
[root@PinePhone nemo]#
ここに、レポジトリを追加するため「ssu addrepo neochapay-repo http://repo.merproject.org/obs/home:/neochapay:/mer:/build_test/sailfishos_3.2.1.20/」と実行します。
[root@PinePhone nemo]# ssu addrepo neochapay-repo http://repo.merproject.org/obs/home:/neochapay:/mer:/build_test/sailfishos_3.2.1.20/
[root@PinePhone nemo]#
追加されたことを「ssu lr」で確認します。
[root@PinePhone nemo]# ssu lr
Enabled repositories (global):
- adaptation-community ... http://repo.merproject.org/obs/nemo:/devel:/hw:/pine:/pinephone/sailfish_latest_armv7hl/
- adaptation-community-common ... http://repo.merproject.org/obs/nemo:/devel:/hw:/common/sailfish_latest_armv7hl/
- adaptation-dontbeevil ... http://repo.merproject.org/obs/nemo:/devel:/hw:/pine:/dontbeevil/sailfish_latest_armv7hl/
- adaptation-pinephone ... http://repo.merproject.org/obs/nemo:/devel:/hw:/pine:/dontbeevil:/pinephone/sailfish_latest_armv7hl/
- apps ... https://releases.jolla.com/jolla-apps/3.2.1.20/armv7hl/
- hotfixes ... https://releases.jolla.com/releases/3.2.1.20/hotfixes/armv7hl/
- hw-native-common ... http://repo.merproject.org/obs/nemo:/devel:/hw:/native-common/sailfish_latest_armv7hl/
- jolla ... https://releases.jolla.com/releases/3.2.1.20/jolla/armv7hl/
Enabled repositories (user):
- neochapay-repo ... http://repo.merproject.org/obs/home:/neochapay:/mer:/build_test/sailfishos_3.2.1.20/
- store ... https://store-repository.jolla.com/pinephone/armv7hl/?version=3.2.1.20
Disabled repositories (global, might be overridden by user config):
Disabled repositories (user):
- home ... https://download.jollamobile.com/home:/honeybadger/latest_armv7hl/
[root@PinePhone nemo]#
この後、「zypper refresh」でレポジトリ更新、「zypper list-updates」でアップデートできるファイル確認、「zypper update」でパッケージアップデートの実行を行い、最後、「reboot」コマンドで再起動します。
再起動後からはLTEが使える様になります。
アップデート手法について
通常のOSアップデートはTerminalを開いて「version –dup」コマンドを実行するとアップデートできます。
パッケージの細かいあたりまで制御したい場合はzypperコマンドを使用する必要がありますが、こちらのコマンドはdevel-suコマンドでrootユーザになってから実行する必要があります。
「zypper refresh」で情報更新して、「zypper list-updates」でアップデートされるパッケージを確認、「zypper update」でアップデート適用、です。(version –dupはこれをまとめてやっている感じ)