KDDIが今現在、ハッカソンなどで無償配布しているOpenWebBoard(以下OWB)なのですが、見る限り内部にロックはかかっていないようなので、好き勝手いじれそうなのです。
CPUも中華タブレットにありがちな奴なので、発売されればLinuxボードとして生まれ変わるかもしれません。
コアはAndroidなので、Android向けに書かれたDebianを内部でbootするためのスクリプトが動くかもしれないです。
まぁ、そんな夢のあるボードなのですが、今現在はリカバリーモードなどが特に用意されているわけでもなく、systemがマウント出来なかったら文鎮化確定のようです。
Level.1
USB Storageについて
OWBにはUSBポートが一つだけついていますが、標準でUSBハブを使用することが出来ます。
そこにUSBメモリを刺してマウントすることが出来ます。
どこにマウントされたかよく分からなかったのですが、
/mnt/usb_storage
にマウントされるようです。
root@rk3066:/mnt/usb_storage # ls -al
drwxrwxr-x system sdcard_rw 1970-01-01 09:00 USB_DISK0
きちんと書き込みの権限もあるようなので、Level.2で書くROMのバックアップはこちらに置こうかと思います。
ベースとなったAndroidについて
ro.build.id=KOT49H
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.2
ro.product.model=rk3066
ro.product.brand=rockchip
ro.product.name=rk3066
ro.product.device=rk3066
ro.product.board=rk30sdk
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=rockchip
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=rk3066
※一部ビルドしたユーザー名が表示されていたので省略してます。
以下のようにAndroid 4.4.2ベースのようです。
FirefoxOSはICEベースで書かれているのですが、今現在はJBとKKにも移植されて、既に製品に組み込まれているのですね。
Level.2
PATHについて
root@rk3066:/ # echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
その他情報
Linux version 3.0.36+ (****@******) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT --------------------
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 1631.46
processor : 1
BogoMIPS : 1631.46
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
Hardware : RK30board
Revision : 0000
Serial : 0000000000000000
Recoveryモードについて
$ adb reboot recovery
実行してみても、特に特別なRecoveryモードを用意しているわけではありません。
ただ、adbではdeviceとしてマウントされるため、shellに入ることが出来ます。
しかし、入った直後は/sbin
と/system/bin
しかPATHが通っていません
(これがAndroid標準の動作なのか、私には分かりません)
Bootloaderについて
$ adb reboot bootloader
暗転したまま何も画面にもfastbootにも反応しないため詳細は不明です。
ドライバを入れたら動くのかもしれない?
ROMのバックアップ
今現在は有事の際には書き戻す方法がないのですが、バックアップは取れそうです。
まずはmtdの一覧を見てみましょう。
root@rk3066:/data # cat /proc/mtd
dev: size erasesize name
mtd0: 00400000 00004000 "misc"
mtd1: 00c00000 00004000 "kernel"
mtd2: 00c00000 00004000 "boot"
mtd3: 02000000 00004000 "recovery"
mtd4: 04000000 00004000 "backup"
mtd5: 08000000 00004000 "cache"
mtd6: 3fc00000 00004000 "userdata"
mtd7: 00400000 00004000 "metadata"
mtd8: 00400000 00004000 "kpanic"
mtd9: 30000000 00004000 "system"
mtd10: 151800000 00004000 "user"
あまり面白みはないですね。
さすがに、ベースがAndroidなので、AndroidのROM焼きを専門にやっている方なら特に問題はないかと思います。
backup
cd /mnt/usb_storage/USB_DISK0
mkdir owb_backup
dd if=/dev/mtd/mtd0 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd0_misc.img
dd if=/dev/mtd/mtd1 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd1_kernel.img
dd if=/dev/mtd/mtd2 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd2_boot.img
dd if=/dev/mtd/mtd3 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd3_recovery.img
dd if=/dev/mtd/mtd4 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd4_backup.img
dd if=/dev/mtd/mtd6 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd6_userdata.img
dd if=/dev/mtd/mtd7 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd7_metadata.img
dd if=/dev/mtd/mtd8 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd8_kpanic.img
dd if=/dev/mtd/mtd9 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd9_system.img
dd if=/dev/mtd/mtd10 of=/mnt/usb_storage/USB_DISK0/owb_backup/mtd10_user.img
バックアップする・しないはご自由にお願いします。
また、USB_DISK0
は自分の構成に合わせて書き換えて下さい。
mtd6,9,10はワリと容量があるので注意。
mtd10は私の環境では3.9GBありました。
環境によりけりですが、私の環境ではUSBハブを通しても5MB/secぐらいは出ました。
書き戻すときはddコマンドなので逆にやれば書き戻せたと思います。知らね。
あ、flash_image
コマンドがあるため、簡単に焼けそうですね!
まとめ
- これは何でもできるLinuxボードに化けそう
- そういえば隣の人の個体はLEDが点灯していたはずなんだけど、私のは一切点灯しないが個体差とかあるのかな?
- 表面右側になんかボタンがあるけどなんだこれ?
- ↑押してみたけど何も反応しませんでした
次回予告
次回は同梱してたマニュアルについて書くよ!