Nokia N9 へ SailfishOS を入れてみた。

前々から試してみたいと思っていたが、
手順をよく理解してからやろうと思っていたら結構経った。

今回の場合、既存の Harmattanとのデュアルブート。

まずざっくり流れを書くと次の通り。
事前作業として必要な材料集め。
・N9向けのファームウェア
・端末へ書き込むためのツール flasher(Windows か Linux)
・OpenMode Kernel
・パーティション構成変更に使う MOSLO
・マルチブート用の Ubiboot
・N9向けに構成された SailfishOS
多くの情報では、1.0.2.5の物が多いが、
ここでは、1.1.0.39が公開されていたのでそれを使用。

手順
事前のデータバックアップや操作は自己責任であることは前提。
1、既存の Harmattan を最新の PR1.3 まで更新。
2、Developer Mode を有効化。
3、N9を繋ぐPCに flasherを導入(今回は Windowsを使用)
4、flasherで OpenMode書き込み、端末起動時に Waringが出るようになる。
5、flasherで MOSLO書き込み、パーティションが 3つから 4つへ。
6、端末内に Ubiboot関連ファイルコピー後、別途 flasherで Ubiboot書き込み。
SailfishOS用を使ったので起動時に Harmattanと SailfishOSの2種選択画面が出る。
7、SaiflishOSのイメージを端末へ送り、手順5で作られた 4つ目のパーティションに書き込む。
8、起動時の選択で SailfishOSを選ぶ。

flasherコマンド関連
Windowsでは Winflasher 3.12を使用。
管理者権限で専用プロンプトを開く。

flasher -i
接続待機、正常に繋がればファームの種類が表示される。
うまく繋がらない時が時々あった。

ファームウェアの更新(端末のリセット兼ねる)
flasher -f -F main.bin --erase-user-data=secure -F emmc.bin --erase-mmc=secure
この場合、ユーザーデータは消える。

手順4にて
flasher -a main.bin -k zImage_2.6.32.54-openmode_l2fix --flash-only=kernel -f -R
main.bin はファームフェアファイルのリネーム。
zImage_2.6.32.54-openmode_l2fix は、OpenModeの Kernel。

手順5にて
flasher -k zImage-moslo -n initrd-moslo -l -b
Nemo用の MOSLOパッケージから zImage-moslo と initrd-moslo を得る。

手順6にて
flasher -a main.bin -k zImage_2.6.32.54-ubiboot-02_301013 --flash-only=kernel -f -R
zImage_2.6.32.54-ubiboot-02_301013 は、Ubibootファイル。

参考にしたサイトへのリンク。
wiki.maemo.org の Sailfishページ
Mer Wikiの Nemoのインストールのページ
talk.maemo.orgの N9へのポーティングのスレッド(1.1.0.39版イメージ)
MobiQuil Blog!
youtube上の手順動画(Windows版)

今回の操作は、主に動画を見ながら行った。
動画下に説明文が別にあるので、必要な情報はそこで確認出来る。

N9への操作で、当初データを保持したまま進めようとしたのだが、
手順5での moslo書き込み後に、手順4の waringメッセージ後起動しなくなった。
mosloを 再度書こうとしても、次のようなエラーが出た。
ERR: Re-partitioning failed! No partition created.
状況に近いのは、この事だろうか(talk.maemo.orgのスレッドへのリンク)。
パーティションを再構成する際に、容量不足が起きた可能性有り。
この後、端末を真っ新にするために flasherでファームウェアを書き込み
ひとまず初期状態に出来たので一安心。
手順4から再度進めて、moslo書き込みも無事超えて、
ubibootまで行い、flasherを使うところは済んだ。

ubibootやSailfishOSイメージは、
USBでマスストレージ接続で転送するが、
その後の端末内でのコマンドライン操作時には、
接続を外さないとファイルが見えない。

SailfishOSのイメージ展開や書き込みは
容量が大きいので数分掛かる。
経過も見えないのでとにかく待つしかない。

書き込めていれば、起動時に選択すると SailfishOSが起動する。
MeeGoを選べば Harmatttanが起動する。
SailfishOSの方は、スペックの事もあってなのか、
選択後、暗転したまま少々の時間は掛かった。

起動後の操作や体感は次の記事にて。

追記、2017-04-12 21:58
1.1.0.39 イメージが得られなくなっていたが、再アップされた。
talk.maemo.orgの N9へのポーティングのスレッド内