やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

dynabook AZ/05M に Linux を入れて再利用したかったがnvflashが使えず断念

 ARM用のnvflashバイナリがなかった。これがなければ始まらないのに。残念。

概要

 ひょんなことからdynabook AZ/05Mなるしょぼいマシンを入手した。しかしこれがまったく使えない。あまりに使えないのでずっと放置していた。OSはAndroidなのだが、ツールがブラウザとメールくらいしか入っていない。そしてブラウザを起動してみるとページ遷移するたびにダイアログが表示されてウザい。たぶん古くてセキュリティ的に問題があるのだろう。OSバージョンも古い。Android 2.1だってさ。最新は10くらいのはず。だめだこりゃ。

 だったらせめてLinuxをいれてプログラミングマシンにしたい。gitが使えてpushとかできたらいいな。そんなわけで、できるかどうか調査してみた。

対象マシン

項目
マシン名 dynabook AZ/05M
型番 PNAZ05MNA
モデル名 TOSHIBA AC100 Series
モデル番号 PDN01N-00H01C

スペック

項目
CPU NVIDIA Tegra 250 1.0GHz 2core 1MB
メモリ 512MB PC2-4200(DDR2-533) SDRAM
ディスク eMMC 16GB

 スペック情報源。

 おそろしいまでの低スペック。CPUは聞いたことがないし、メモリは512MBと1GBの半分しかない。WindowsXPを動かせるかどうかくらいの化石。

 なによりディスクがeMMCであるというのが終わっている。eMMCはマザーボードと一体型なので交換できない。フラッシュ系なので書き込み耐性も低い。SSDより低い。そのぶん安価とはいえ、ディスクが死んだらそのままマシンごとすべて捨てるしかない。つまり、eMMCなマシンは使い捨てということだ。せめてeMMCでなくmSATAならよかったのに。SSDかM.2ならもっとよかったのに。もしこれからノートPCやタブレットなどを買うときはeMMCを避けたほうがよいと思う。交換できないから。USB bootできるならいいけど、本機にはそんな情報が見当たらない。できないのだろう。

調査

 つぎのような手順を踏むらしい。

  • 内蔵ディスクeMMCにOSを書き込む
    • 内蔵ディスクeMMCのデータをどこかへバックアップしておくべき
  • 古いUbuntuを使う(新しいのは使えない)
    • tegra2というCPUを使っているのが原因らしい。OSがサポートしなくなっていったようだ

情報源

必要なもの

  • インターネット環境
  • dynabook AZ/05M
  • PC (Raspberry PI 4B)
  • USBケーブル(A - miniB)
  • SDカード

やってみる

  1. eMMCにあるAndroidイメージをバックアップする

eMMCにあるAndroidイメージをバックアップする

 こちらを参考にした。

 DynabookのeMMCに読み書きするためにはnvflashというツールを使うようだ。

 まずは作業するPCを用意する。私はRaspberry PI 4Bを使った。そのマシンにnvflashインストールする。

wget http://share.grandou.net/debian/nvflash/nvflash_20110628-2_all.deb 
--2021-07-17 15:04:04--  http://share.grandou.net/debian/nvflash/nvflash_20110628-2_all.deb
share.grandou.net (share.grandou.net) をDNSに問いあわせています... 失敗しました: 名前またはサービスが不明です.
wget: ホストアドレス `share.grandou.net' を解決できませんでした。

 残念ながらリンク切れ。ググって探した。

 zipを展開すると以下のようなディレクトリにそれぞれnvflash実行ファイルが入っていた。

  • x86
  • x64
  • ppc64
  • aarch64

 しかし、どれも実行できなかった。それもそのはず。ラズパイのCPUアーキテクチャはARMなので、ARM用にビルドされたバイナリ実行ファイルでないと動かない。

 ならばソースコードを入手してビルドしよう。探したら以下のようなリポジトリが見つかった。

 NVIDIRがベンダーのはずなのでNVIDIA/cbootimage-configsリポジトリが正しいはず。と思ったが、nvflashでなはいっぽい。nvflashソースコードは見つけられなかった。そしてバイナリは先述の4種しかない。それらは一般的なCPU用だと思われる。ラズパイはarmv7,armhfあたりだと思うので対象外。だめだこりゃ。

 kurtis99/nvflashリポジトリ名がまさにそのツール名である。しかし中身をみるとC言語なのにMakeファイルがない。仕方ないので自分で書いて実行してみた。

Makefile

nvflash:nvflash.o usb.o
    gcc nvflash.o usb.o -o nvflash

usb.o:usb.h usb.c
    gcc -c usb.c

nvflash.o:usb.h nvflash.c
    gcc -c nvflash.c
make
gcc -c nvflash.c
nvflash.c:1:10: fatal error: nvflash.h: そのようなファイルやディレクトリはありません
 #include "nvflash.h"
          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:8: nvflash.o] エラー 1

 はい、nvflash.hなんてファイルありませんね。ググっても見つからない。これ以上はもう何もできない。残念。

所感

 dynabookどうしよう。ラズパイ以外の一般的なCPUをもったマシンがあればよかったのだが。

対象環境

$ uname -a
Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux