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がサポートしなくなっていったようだ
情報源
- https://yondakana.blogspot.com/2018/07/dynabook-az-lubuntu-1304.html
- https://toshi-mtk.hatenablog.com/entry/2018/01/27/005343
- https://rsn604.github.io/it/android%E9%BB%8E%E6%98%8E%E6%9C%9F%E3%81%AE%E3%82%AF%E3%83%A9%E3%83%A0%E3%82%B7%E3%82%A7%E3%83%AB%E3%81%9F%E3%81%A1%E3%81%9D%E3%81%AE%EF%BC%97-dynabook-az%E3%81%AB%E3%81%AFlinux/
- http://kuchem.kyoto-u.ac.jp/kinso/weda/blog/?date=201112
- https://kbunji.blog.ss-blog.jp/2011-04-15-1
- https://devcutecolors.hatenablog.com/entry/archlinux-dynabookaz/
- http://kapper1224.sakura.ne.jp/PALM24.html#No001
必要なもの
- インターネット環境
- dynabook AZ/05M
- PC (Raspberry PI 4B)
- USBケーブル(A - miniB)
- SDカード
やってみる
- 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ファイルがない。仕方ないので自分で書いて実行してみた。
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をもったマシンがあればよかったのだが。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux