honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

docomo フォトパネル03(HUAWEI 255) 解析続き

honeylab.hatenablog.jp

 

前回からの続き

 

起動が完了するとログイン可能な状態になります。
しかし、何やら様子がおかしい。ちょっと見たことない画面。
パスワードも不明。

いろいろ調べたところ、 admin / admin でログイン出来た。

f:id:honeylab:20170506123423p:plainしかし、lsもない。なぜ?

と思ったら

 

f:id:honeylab:20170506123458p:plain

MMCシリーズの専用UIに
ネットワークカメラなどの類似製品で使われているようです。

ここでshell を入力すると、ようやくいつものBusyBox shell に入れます。

f:id:honeylab:20170506123613p:plain

MTD(NAND)構成は以下の通り。

カーネル、ユーザ領域ともバックアップとの2面構成になってるようです。

起動直後に'd'の入力で u-bootの環境に残ります。

ここで表示されるbootargが2系統準備してあり、片方でこけたら次に生きようになってるのかな?

bootarg1=setenv bootargs 'mem=64M console=ttyAMA0,115200 busclk=150000000 root=/dev/mtdblock5 rootfstype=yaffs2 mtdparts=hinand:8M(Ext),8M(logo),8M(kernel1)ro,8M(kernel2),64M(sys1)ro,64M(sys2),184M(fota),112M(sysdata),-(pic) panic=3'


bootarg2=setenv bootargs 'mem=64M console=ttyAMA0,115200 busclk=150000000 root=/dev/mtdblock6 rootfstype=yaffs2 mtdparts=hinand:8M(Ext),8M(logo),8M(kernel1),8M(kernel2)ro,64M(sys1),64M(sys2)ro,184M(fota),112M(sysdata),-(pic) panic=3' 

 

見た限り、/dev/mtdblock5にyaffs2で作ったrootfsを書いてやればサクッとシステムが更新できるんじゃないでしょうか。

 

ところで、MMCスロットがあるのでアクセスできるか見てみましたが、
helpにmmcサブシステムがありません。

あちゃーと思いつつ、usb start してみたところ

hilinux # usb start
(Re)start USB...
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found

 

え?USB Storage???

hilinux # fatls usb 0
...
system volume information/
1404 bootex.log

1 file(s), 1 dir(s)

 なんかいる!

hilinux # fatinfo usb 0
Interface: USB
Device 0: Vendor: Generic Rev: 1.68 Prod: Ultra HS-COMBO
Type: Removable Hard Disk
Capacity: 3781.5 MB = 3.6 GB (7744512 x 512)
Partition 1: Filesystem: FAT32 "NO NAME "

あ!これSDカードが見えてる。
なんとu-bootからSDカードが直アクセスできました。

で、fatload もあるので、u-bootのboot env を書き換えてやればたぶん普通にSDから起動できます。
すごいすごい。

 

さて、とりあえず、mtdblockにそのままwriteできるかどうか、
logoパーティションBMPを書き換えてみます。

普通に起動したSDカードが使えるってなんて便利なんでしょう。
ファミコンミニですごい大変だったのでものすごい楽)

[root@localhost /root]$ dd if=/dev/mtdblock2 of=/mnt/sd/part1/mtdblock2
16384+0 records in
16384+0 records out

 

ddで書き出したデータは以下のようなロゴになっていました。

普通のWindows BMPファイルです。

f:id:honeylab:20170506125005p:plain

 

 

u-bootが起動した直後に表示してくれるのでスマートな起動画面になりますね。

この時にコンソールにはこのように出ています。

prepare to show logo!
Decode LOGO(BMP format) OK

 これをペイントで開いて、けもふれロゴジェネレータでつくった画像を突っ込みます

f:id:honeylab:20170506124758p:plain

そして、

[root@localhost part1]$ dd if=mtdblock2 of=/dev/mtdblock2
2250+1 records in
2250+1 records out 

で書き戻す。

 

再起動。

 

 

 

できたwwww

続く。