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はこれをまとめてやっている感じ)