読者です 読者をやめる 読者になる 読者になる

Advent Vega端末にMer + PlasmaActive - 失敗編

Mer

@himamuraさんから(ずいぶん前に)お借りしたAdvent Vega(P10AN01)にMer*1を入れました。

Advent Vegaはハードウェア的にはauのXoomと同じ構成なのですが
FlashRomの焼き直しにNvflashが使えると言う利点があります。*2
NvflashはNVidiaが出しているFlashROMを焼くためのツールで、USB経由でFROMを書き換えることが可能です。

事前準備

必要tool(nvflashとか)のダウンロード

nvflashとbootloader.bin、あと、その他ファイルが必要になるのでダウンロードしてきます。

Linux4Tegra Development kitに含まれているらしいので、とりあえずダウンロードしました。

$ tar zxfv tegra-linux-12.alpha.1.0.tar.gz

↑で展開すると↓な感じ。

|-- apply_tegra_X_abi.sh
|-- apply_tegra_binaries.sh
|-- bootloader
|   |-- harmony
|   |   |-- BCT
|   |   |   |-- harmony_12Mhz_H5PS1G83EFR-S5C_150Mhz_512MB_2K8Nand_HY27UF084G2B-TP.bct
(略)
|   |   |   `-- harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB_emmc_THGBM1G6D4EBAI4_x8.bct
|   |   |-- cfg
(略)
|   |   |   `-- gnu_linux_fastboot_nand_full.cfg
|   |   `-- fastboot.bin
|   |-- mkbootimg
|   |-- nvflash
|   `-- ventana
|       |-- BCT
|       |   `-- ventana_A03_12MHz_EDB8132B1PB6DF_300Mhz_1GB_emmc_THGBM1G6D4EBAI4.bct
|       |-- cfg
|       |   |-- gnu_linux_fastboot_emmc_full.cfg
|       |   `-- ventana_A03_12MHz_EDB8132B1PB6DF_300Mhz_1GB_emmc_THGBM1G6D4EBAI4.cfg
|       `-- fastboot.bin
|-- flash.sh
|-- kernel
|   |-- GPLv2.txt
|   |-- install_3rdparty.sh
|   |-- kernel_build.sh
|   |-- kernel_sync.sh
|   `-- zImage
|-- nv_tegra
|   |-- license.txt
(略)
|   `-- tegra_bins.tar.gz
`-- rootfs
    `-- README.txt

おー、ちゃんと居ます。

udevにboardを登録する

いちいちsudoとかやりたくないので、udevにルールを追加します。

$ cd /etc/udev/rules.d
$ sudo vi 92-nvidia-board.rules

中身は↓のような感じにする

SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"

書き換えたら、udevをrebootする

$ sudo service udev restart

sudoなしでnvflashが出来るようになりました。

Merのファイルシステムを用意する

Mer Wikiにはyoutubeの動画リンクしかないので、ここから拝借しました。
開発用PCにSDカードを認識させて

bzcat meego-mer-armv7hl-plasma-1.2.90.20111024.0928-mmcblk0p.raw.bz2 | sudo dd bs=4096 of=/dev/sdX
477184+1 レコード入力
477184+1 レコード出力
1954545665 バイト (2.0 GB) コピーされました、 191.492 秒、 10.2 MB/秒

ロードの仕方は @hermit4さんのblogを参考にしました。*3

カーネルを焼く

l4tには既にzImageが同梱されているので、そのまま焼きます。

Vegaの右上に有る<電源>ボタンと<Back>ボタンを同時押しすると、Nvflash焼きモードに入ります。
失敗するとAndroidが起動してしまいます。成功しても画面には特に何も出ないので、成功しているか
どうか画面上からは判断出来ませんでした。

確実なのは、USB(AーA)ケーブルでLinux*4と接続して

$ lsusb

で、下記の用に出てきます。

Bus 002 Device 021: ID 0955:7820 NVidia Corp.

とりあえず、Nvflashでいろいろ操作するために、bootloader.imgを入手してくる必要がありました。

http://www.samsung-tablets.com/how-to-install-update-on-advent-vega-tablet.html/
公式がどこか判りませんので、とりあえずここから”softwareImage_v1.09_Vega_Final.exe”をダウンロードしました。
nautilusで上記ファイルを開くと、bootloader.imgがあるので展開します。

$ sudo ./nvflash --bl bootloader.bin --go

うまくいくと

Nvflash started
rcm version 0X20001
System Information:
   chip name: t20
   chip id: 0x20 major: 1 minor: 3
   chip sku: 0x8
   chip uid: 0x1714404540806617
   macrovision: disabled
   hdcp: enabled
   sbk burned: false
   dk burned: false
   boot device: nand
   operating mode: 3
   device config strap: 0
   device config fuse: 0
   sdram config strap: 0

downloading bootloader -- load address: 0x108000 entry point: 0x108000
sending file: bootloader.bin
| 941512/941512 bytes sent
bootloader.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully

と言う感じになりました。

とりあえず Kernelも焼きます。

$ sudo ./flash.sh harmony mmcblk0p1
copying cfgfile(/home/moguriso/hima/bak/ldk/bootloader/harmony/cfg/gnu_linux_fastboot_nand_flashboot_full.cfg)... done.
copying bctfile(/home/moguriso/hima/bak/ldk/bootloader/harmony/BCT/harmony_a02_12Mhz_H5PS1G83EFR-S6C_333Mhz_1GB_2K8Nand_HY27UF084G2B-TP.bct)... done.
copying bootloader(/home/moguriso/hima/bak/ldk/bootloader/harmony/fastboot.bin)... done.
making zero initrd... 
done.
Making Boot image... done
*** Flashing target device started. ***
Nvflash started
rcm version 0X20001
System Information:
   chip name: t20
   chip id: 0x20 major: 1 minor: 3
   chip sku: 0x8
   chip uid: 0x1714404540806617
   macrovision: disabled
   hdcp: enabled
   sbk burned: false
   dk burned: false
   boot device: nand
   operating mode: 3
   device config strap: 0
   device config fuse: 0
   sdram config strap: 0

sending file: flash.bct
- 4080/4080 bytes sent
flash.bct sent successfully
odm data: 0x302d8011
downloading bootloader -- load address: 0x108000 entry point: 0x108000
sending file: fastboot.bin
| 940112/940112 bytes sent
fastboot.bin sent successfully
waiting for bootloader to initialize
bootloader downloaded successfully
setting device: 1 0
creating partition: BCT
creating partition: PT
creating partition: EBT
creating partition: SOS
creating partition: LNX
creating partition: MBR
creating partition: APP
creating partition: USP
creating partition: UIP                                                                                                                             Formatting partition 2 BCT please wait.. done!                                                                                                       Formatting partition 3 PT please wait.. done!                                                                                                        Formatting partition 4 EBT please wait.. done!                                                                                                       Formatting partition 5 SOS please wait.. done!                                                                                                       Formatting partition 6 LNX please wait.. done!                                                                                                       Formatting partition 7 MBR please wait.. done!                                                                                                       Formatting partition 8 APP please wait.. done!                                                                                                       Formatting partition 9 USP please wait.. done!                                                                                                       Formatting partition 10 UIP please wait.. done!
done!
sending file: fastboot.bin
| 940112/940112 bytes sent
fastboot.bin sent successfully
sending file: boot.img
\ 4034560/4034560 bytes sent
boot.img sent successfully
*** The target harmony has been flashed successfully. ***
Make the target filesystem available to the device and reset the board to boot.

起動 ... しません

f:id:moguriso:20120121011556j:plain
元々のAndroidは綺麗にお亡くなりになりました。
起動時にUSBとBootableの設定(多分、USB or SDカード or MMC or NFS)を
切り替えられるようです。ですが、メッセージを信じるのであれば
f:id:moguriso:20120121011609j:plain

  • <Menu>ボタン→選択(決定?)
  • <Home(Left)>ボタン→左
  • <Back(right)>ボタン→右

VegaさんのMenuキーはハードウェア実装でなく、ソフトウェアエミュレーションらしく
ハードキーがついてません。。。詰まるところ、押せません。
どうしよう、、、 orz