今更netwalker nandにosを書き込む、吸い取る。

netwalkerではsdカードでほかのosをブートさせる方はたくさんいますが、nandからブートさせようとする人は、あまりいなそうです。なので、私がやってみました。

前回
http://blog.haniokasai.com/2015/03/netwalker-nandubuntu.html

前回も書きましたが、netwalkerが使用しているファイルシステムはext4やext2ではなく、ubifsなので、単純にddを使うのは好ましくなさそうです。そこで、私はいろいろ調べてみました。

☆書き込む☆
ubiformat /dev/mtd4 –f ubi.img

単純にこれだけです。mtd4とは、rootファイルシステムが保存されているパーテーションのことです。リカバリsdの/firmwareにubi.imgがありますので、書き込んで見てください。

☆吸い出す☆
単純にddでやりたいところなのですが、だめです。
ubinizeを使いましょう

ubinizeの使い方(ubinize -hを参考に)


ubi.cfgの書き方の例
[rootfs-volume]
mode=ubi
image=rootfs.ubifs
vol_id=4
vol_size=128MB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize

 「vol_size」が欠けるなら、ボリュームサイズがイメージ・ファイル(「イメージ」キーで、定義される)のサイズに相当させていると思われます。どういう意味?

Usage: ubinize [-o filename] [-p <bytes>] [-m <bytes>] [-s <bytes>] [-O <num>] [-e <num>]
[-x <num>] [-Q <num>] [-v] [-h] [-V] [--output=<filename>] [--peb-size=<bytes>]
[--min-io-size=<bytes>] [--sub-page-size=<bytes>] [--vid-hdr-offset=<num>]
[--erase-counter=<num>] [--ubi-ver=<num>] [--image-seq=<num>] [--verbose] [--help]
[--version] ini-file
Example: ubinize -o ubi.img -p 16KiB -m 512 -s 256 cfg.ini - create UBI image
         'ubi.img' as described by configuration file 'cfg.ini'

-o, --output=<file name>     output file name
-p, --peb-size=<bytes>       size of the physical eraseblock of the flash
                             this UBI image is created for in bytes,
                             kilobytes (KiB), or megabytes (MiB)
                             (mandatory parameter)
-m, --min-io-size=<bytes>    minimum input/output unit size of the flash
                             in bytes
-s, --sub-page-size=<bytes>  minimum input/output unit used for UBI
                             headers, e.g. sub-page size in case of NAND
                             flash (equivalent to the minimum input/output
                             unit size by default)
-O, --vid-hdr-offset=<num>   offset if the VID header from start of the
                             physical eraseblock (default is the next
                             minimum I/O unit or sub-page after the EC
                             header)
-e, --erase-counter=<num>    the erase counter value to put to EC headers
                             (default is 0)
-x, --ubi-ver=<num>          UBI version number to put to EC headers
                             (default is 1)
-Q, --image-seq=<num>        32-bit UBI image sequence number to use
                             (by default a random number is picked)
-v, --verbose                be verbose
-h, --help                   print help message
-V, --version                print program version

さっぱりわかりませーん。
ddとかも苦手で、特にbs=が苦手なんですよ。
たぶん、ブロックサイズとかのことが書いてると思います。

試しに、

vi ubi.img

[rootfs-volume]
mode=ubi
image=rootfs.ubifs
vol_id=4
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize

 ubinize –o rootfs.img  ubi.cfg

むむ、、、

参考url


コメント

このブログの人気の投稿

pocketmine-mp隠れたおすすめ プラグイン一覧

[pocketmine-mp]pocketmineの0.14対応化 pocketmine-mp.phar src

[Nukkit-JAVA版PocketMine-MP] Nukkitのプラグインを作る!