2011年05月19日

KZM-A9-DualでAndroid2.3(Gingerbread)をSDカードから起動する

先日紹介したKZM-A9-DualにAndroid2.3を載せる方法(KZM-A9-DualでAndoridのGingerbreadを動かす最短の手順)ではルートファイルシステムをNFSに置いていました。今度はこれをSDメモリカードに置いて動かしてみます。

一番簡単な方法はAndroid 2.2が起動するSDカードのルートファイルシステムをAndroid 2.3のものに置き換えることです。

(English version of this page)



KZM-A9-Dualボード用の起動SDカードを作成する

まずはAndroid 2.2で起動SDカードを作ります。このページ(KZM-A9-Dualのブート可能なSDを作る方法)の手順に従って作成し、動作確認してください。

ubootとkernelはこのまま同じものを使います。

Android 2.3をビルドし、ルートファイルシステムを作成する

このページ(KZM-A9-DualでAndoridのGingerbreadを動かす最短の手順)の手順に従ってビルドします。

./make_nfsroot.sh を実行すると /export/android/root にルートファイルシステムができあがります。

これをまずNFSでマウントして起動して動作確認すると確実ですが、とりあえずスキップしてもかまいません。

ルートファイルシステムをSDにコピーする

/export/android/root にあるルートファイルシステムをSDカードの3番目のパーティションにコピーします。/dataは再作成する必要があるので削除しておきます。

まず SDカードをPC UbuntuのSDカードリーダに挿して、そのデバイスファイルを確認します。(この場合だと/dev/sdb )

そしてそれの第3パーティションを /mnt にマウントします。

$ ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdb   /dev/sdb2  /dev/sdc
/dev/sda1  /dev/sda5  /dev/sdb1  /dev/sdb3
$ sudo mount /dev/sdb3 /mnt
$ ls /mnt
acct    data          init              init.rc      mnt     sys
cache   default.prop  init.goldfish.rc  init.rc.org  proc    system
config  dev           init.kzm9d.rc     lib          sbin
d       etc           initlogo.rle      lost+found   sdcard

まずは全てのファイルを削除し、次に /export/android/root以下を全てコピーします。

$ sudo rm -rf /mnt/*
$ sudo cp -a /export/android/root/* /mnt/
$ ls /mnt
acct    data          init.goldfish.rc  proc    system
cache   default.prop  init.rc           sbin    ueventd.goldfish.rc
config  etc           init.rc.org       sdcard  ueventd.rc
d       init          mnt               sys     vendor

/dataを削除して、アンマウントします。

$ sudo rm -rf /mnt/data/
$ ls /mnt
acct    default.prop  init.goldfish.rc  proc    system
cache   dev           init.rc           sbin    ueventd.goldfish.rc
config  etc           init.rc.org       sdcard  ueventd.rc
d       init          mnt               sys     vendor
$ sudo umount /mnt
$ 

これでコピー完了。

SDから起動

SDカードをKZM-A9-DualのSDカードスロットに挿入し、ディップスイッチが以下のようになっていることを確認します。

   DSW1-3 OFF
   DSW1-4 ON

初回の起動には時間がかかります。シリアルコンソールに logcat と打って3分くらい待ってください。(参考:KZM-A9-DualでSDカードのブート時間の比較)

ブートログ

Booted Device: SD
Board: EM/EV ES2 (Rev.ffffff20)
Core:  1.15v
DRAM:  512 MB
Flash: 64 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
## Booting kernel from Legacy Image at 40007fc0 ...
   Image Name:   Linux-2.6.29
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3897312 Bytes =  3.7 MB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Linux version 2.6.29 (kmc@ubuntu) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #1 SMP PREEMPT Wed Apr 27 10:38:53 JST 2011
CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c57c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: KZM9D
Memory policy: ECC disabled, Data cache writealloc
Built 2 zonelists in Zone order, mobility grouping on.  Total pages: 97790
Kernel command line: root=/dev/mmcblk1p3 noinitrd init=/init console=ttyS1,115200n8n androidboot.console=ttyS1 SELINUX_INIT=no mem=129M@0x40000000 mem=256M@0x50000000 rw video=qfb: ip=none rootfstype=ext3 rootwait
Unknown boot option `androidboot.console=ttyS1': ignoring
PID hash table entries: 2048 (order: 11, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 129MB 256MB = 385MB total
Memory: 385820KB available (3520K code, 769K data, 128K init)
Calibrating delay loop... 1061.68 BogoMIPS (lpj=5308416)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU1: Booted secondary processor
Calibrating delay loop... 1061.68 BogoMIPS (lpj=5308416)
Brought up 2 CPUs
SMP: Total of 2 processors activated (2123.36 BogoMIPS).
net_namespace: 312 bytes
NET: Registered protocol family 16
PL310/L2C-310 cache controller enabled
chip revision ffffff20
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 5, 196608 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
NET: Registered protocol family 1
Power Management for EMXX.
spi: registered device spi [spi]
Starting pmu...
ashmem: initialized
yaffs Apr 27 2011 10:38:46 Installing.
msgmni has been set to 754
io scheduler noop registered
io scheduler anticipatory registered (default)
emxx_fb: registered device fb
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xe1020000 (irq = 40) is a TI16750
serial8250.0: ttyS1 at MMIO 0xe1030000 (irq = 41) is a TI16750
console [ttyS1] enabled
loop: module loaded
pmem: 1 init
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
smsc911x: Driver version 2008-10-21.
smsc911x-mdio: probed
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)
net eth0: MAC Address: 00:0a:a3:02:12:ae
Linux video capture interface: v2.00
emxx_v4l2: registered device video0 [v4l2]
i2c /dev entries driver
Driver 'sd' needs updating - please use bus_type methods
Battery probe...
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
emxx-ehci-driver emxx-ehci-driver: EMXX EHCI
emxx-ehci-driver emxx-ehci-driver: new USB bus registered, assigned bus number 1
emxx-ehci-driver emxx-ehci-driver: irq 115, io mem 0xe2701000
emxx-ehci-driver emxx-ehci-driver: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
emxx-ohci-driver emxx-ohci-driver: EMXX OHCI
emxx-ohci-driver emxx-ohci-driver: new USB bus registered, assigned bus number 2
emxx-ohci-driver emxx-ohci-driver: irq 115, io mem 0xe2700000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: version Apr 27 2011
android init
android_bind
mass_storage_function_add
android_usb gadget: Number of LUNs=1
adb_function_add
android_usb gadget: android_usb ready
udc:  ----- VBUS OFF
input: kzm9d_key as /devices/virtual/input/input0
input: kzm9d_touch as /devices/virtual/input/input1
emxx-rtc 0-0051: rtc core: registered rtc8564 as rtc0
Starting wdt.
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
logger: created 64K log 'log_main'
logger: created 256K log 'log_events'
logger: created 64K log 'log_radio'
Advanced Linux Sound Architecture Driver Version 1.0.18a.
Starting sound codec.
ALSA device list:
  #0: sound codec (emxx mixer)
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Registered led device: led1
Registered led device: led2
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
emxx-rtc 0-0051: setting system clock to 2000-01-01 00:00:06 UTC (946684806)
Waiting for root device /dev/mmcblk1p3...
mmc0: new high speed MMC card at address 0001
mmcblk0: mmc0:0001 000000 3.82 GiB
 mmcblk0: p1 p2 p3 p4 < p5 p6 >
mmc1: new high speed SDHC card at address b368
mmcblk1: mmc1:b368 SD    3.84 GiB
 mmcblk1: p1 p2 p3
kjournald starting.  Commit interval 5 seconds
EXT3 FS on mmcblk1p3, internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem).
Freeing init memory: 128K
Warning: unable to open an initial console.
init: cannot open '/initlogo.rle'
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
enabling adb
adb_open
$ warning: `rild' uses 32-bit capabilities (legacy support in use)
request_suspend_state: wakeup (3->0) at 21775323521 (2000-01-01 00:00:26.918060290 UTC)


トラックバックURL

コメントする

名前
URL
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード