passive log storage - 2nd このページをアンテナに追加 RSSフィード Twitter

2018/04/01

[]DM200 Ver1.4アップデート、そしてLinux on Pomeraの再設定。

年明けから今年度対応でクソ忙しくてやってらんなかったけど、なんとか落ち着いたのでそろそろ再開したい。

とりいそぎ、このネタだ。


DM200のアップデートが出てた。

「ポメラ」DM200 ソフトウェアアップデートのご案内 | 機種選択 | ファイルとテプラのキングジム

ATOKの更新、カレンダー表示関連の強化、通信関連の使い勝手向上、御約束の「軽微な修正」。

結論から言うと・・・

Linux on Pomera DM200 人柱版その2」はバージョン1.4でも動作する。

バージョン1.3で使っていたSDカードもそのまま使える。

免責

本記事を参考にいろいろやってお持ちのDM200が文鎮化しても当方は一切知ったことではないのでそこんところヨロシク。

DM200 Ver1.3 → Ver1.4 アップデート

用意した物:microSDカード(東芝製、16GB、class10、手持ちが無かったのでコンビニで購入)

まず既存環境のバックアップ

ファクトリーモードによるとファームウェアバージョンは「Ver1 4 59」。

アップデートファイルのファイル名と一致する。

本体ストレージ上のデータで欠損などは特にないことを確認。

通信関係の安定化とか含まれているらしいが、今回検証は置いておく。


バックアップと準備と予想

Ver1.3でできていたように、「Linux on Pomera DM200 人柱版その2」が起動できるか、試すための準備と調査。

まず新しくなった純正eMMC NANDをバックアップする。

次に、純正ver1.3と1.4の比較。

本家より引用。

簡単な動きの説明

インストーラでは内蔵eMMC NANDのリカバリkernelリカバリinitramfs領域を書き換えます。

書き換え後に起動手順を行うと書き換えたkernelとinitramfsを使って、SDカードの2番目のパーティションに置いたrootfsのDebian(jessie)が動きます

「DM200 NAND backup/restore tool」に含まれるreadme.txtより引用。

2. SDカード上にrestoreフォルダを作成し、中にバックアップ時に取得したmmcblk0p14.imgとmmcblk0p15.imgを名前を変えずに入れてください。

注: 標準ではdebianインストーラを使用した場合に書き換える領域のみリストアします。

つまり、「mmcblk0p14.img」「mmcblk0p15.img」がDebian起動にかかわるkernelとinitramfsの部分であり、インストール時に書き換えられる。

やってることは、起動中にsdカード上のrootfsにシーケンスを切り替えるだけのはず。

なので、Ver1.3とVer1.4のそれぞれのNANDイメージファイルを比較する。

手っ取り早くWindows機を起動していたのでcompコマンドを使用。

C:\diff>comp .\v1.3\mmcblk0p14.img .\v1.4\mmcblk0p14.img 
.\v1.3\mmcblk0p14.img と .\v1.4\mmcblk0p14.img を比較しています... 
ファイルに違いはありません 

ほかのファイルを比較しますか (Y/N)? n 

C:\diff>comp .\v1.3\mmcblk0p15.img .\v1.4\mmcblk0p15.img 
.\v1.3\mmcblk0p15.img と .\v1.4\mmcblk0p15.img を比較しています... 
ファイルに違いはありません 

ほかのファイルを比較しますか (Y/N)? n 

ということで、この二つのブロックに差異は無い、つまりv1.3とv1.4で同じ。

まぁ、アップデート履歴を見る限り起動に関する修正は入ってないから、おおよそ予想通りではある。「軽微な修正」があるので確信できなかったけど。

普通にv1.4+DM200 on linuxいけるんじゃねぇの?

基の純正ファームウェアのこれらが同等であれば、DM200 on linux も問題なくインストール、起動できる?


ver1.3+linuxインストール後のファームウェアイメージを取っておいてver1.4にアップデートに該当ファイルだけリストア(mmcblk0p14.imgとmmcblk0p15.imgの書き戻し) すれば手間少なく復帰できただろうな。とっとけば良かった・・・。


Ver1.4 に Linux on Pomeraインストール

なにはともあれ、ここまでやったのだからゼロからインストール

純正Ver1.4 に 「Linux on Pomera DM200 人柱版 その2」をインストール

ファームウェアVer1.4にて「linux on Pomera DM200 人柱版その2」のインストール動作確認完了。

eMMC側からrootfsを起動できる体制がととのったので、以前(Ver1.3)使ってたSDイメージ内のrootfsが起動できるか確認。

ファームウェアVer1.4にて、Ver.1.3で使用していたSDカードの継続使用が可能であることを確認。

WiFi接続もまったく今まで通り問題なし。Bluetoothについてはそもそも使っていなかったので参考にならず。

一応確認

比較してみる。

C:\diff>comp .\before\mmcblk0p14.img .\after\mmcblk0p14.img 
.\before\mmcblk0p14.img と .\after\mmcblk0p14.img を比較しています... 
OFFSET 4 で比較エラーがあります 
ファイル1 = 18 
ファイル2 = E8 
OFFSET 5 で比較エラーがあります 
ファイル1 = 1C 
ファイル2 = 8D 

(中略)

OFFSET 2BC で比較エラーがあります 
ファイル1 = 30 
ファイル2 = 0 
不一致の数が 10 に達しました - 比較を終了します 

ほかのファイルを比較しますか (Y/N)? n 

C:\diff>comp .\before\mmcblk0p15.img .\after\mmcblk0p15.img 
.\before\mmcblk0p15.img と .\after\mmcblk0p15.img を比較しています... 
OFFSET 4 で比較エラーがあります 
ファイル1 = 39 
ファイル2 = AA 
OFFSET 5 で比較エラーがあります 
ファイル1 = BD 
ファイル2 = DB 

(中略)

OFFSET 13 で比較エラーがあります 
ファイル1 = BD 
ファイル2 = 58 
不一致の数が 10 に達しました - 比較を終了します 

ほかのファイルを比較しますか (Y/N)? 

ってことだ。

というか・・・

インストーラはイメージ内のvfat領域の下にある「kernel.img」とinitramfs.imgを書き込んでいるんなら、インストーラのイメージ内から実SDカードにコピーしてインストーラとして起動すればeMMC側に再インストールされるんじゃないだろうか。

もっというと、v1.4ファームウェアアップデータが差分のみ書き込むのなら、v1.3にDM200 on linux導入済なら、ファームウェアアップデータを適用しても何事もなく起動するような気がする。 つまり、

  1. Ver1.4にアップデート
  2. SDカード上からインストーラを削っている場合はインストーラのイメージから取り出してSDカードのvfat上に配置)
  3. インストーラを起動

たぶんこれが一番手順が少ない、んじゃないか、な?

・・・が、またeMMCをリカバリしてチェックするのめんどくさいので、Ver1.3でLinux on Pomeraを使っていた方はお試ししてみれば?

おまけ:tmux

Linux on Pomera へ、端末マルチプレクサのtmuxを追加してみた。

初見で「screenよりわかりやすそう」と思ったけど、意外とそうでも無かった。だが、見栄えは良いのでぼちぼちためしていこうと思う。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/obally/20180401/1522600018