2011年04月28日

KZM-A9-Dualのブート可能なSDを作る方法

KZM-A9-Dualのブート可能なSDを作る方法は添付のDVDの中の How_to_boot_from_SD.txt に書いてありますが、ネットで見られると便利なので、ここにも貼り付けます。



How to boot from SD card

0.Files to need

Check out directory. The Files to need are:

    uboot-sd.bin
    sdboot.bin
    uImage
    android-root.tar.bz2

To build these files, read "How_to_build.txt".

0. Prepare a SD card

At least 1GB size required.

Old MMC card is not good.

1. Examine your SD card in /dev

Try ls /dev/sd* before you put your SD in SD card reader.

 $ ls /dev/sd*
 /dev/sda  /dev/sda1  /dev/sda2  /dev/sda5

So, /dev/ada* is your hard disk drives. Remember.

Then ls /dev/sd* after you put your SD in SD card reader.

 $ ls /dev/sd*
 /dev/sda  /dev/sda1  /dev/sda2  /dev/sda5  /dev/sdb  /dev/sdc

SD card is /dev/sdb or /dev/sdc.

2. Unmount the device

Type "mount" to check SD device is not mounted.

If mounted automatically, Do unmount manually.

3. Writing to SD card

The follewing script is VERY DANGER. The specified drive are wiped out.

Please double check!!

これは危険なコマンドです。くれぐれもドライブの指定を間違わないように!!

 $ sudo ./write_sd.sh /dev/sdb

(it takes a few minutes to finish ... )

4. Boot from SD card

set Dip switch on the KZM-A9-Dual board.

   DSW1-3 OFF
   DSW1-4 ON

set SD card into the SD card slot. (Head side on the board.

There is SDIO card slot on the tail side on the board.)

Power ON and appears these message on serial console.

    U-Boot 2009.03-rc1 (Jan 24 2011 - 13:42:35)
    
    Booted Device: SD               <---- Check this!
    Board: EM/EV ES2 (Rev.ffffff20)
    Core:  1.15v
    DRAM:  512 MB
    Flash: 64 MB

Check the line "Booted Device: SD" to confirm booting

from SD card.

5. Kernal boot args

Kernal boot args should be:

root=/dev/mmcblk1p3 noinitrd init=/init console=ttyS1,115200n8n mem=129M@0x40000000 mem=256M@0x50000000 rw video=qfb: ip=none rootfstype=ext3 rootwait

NOTE:

At the previous release memory config was "mem=135M@0x40000000 mem=256M@0x50000000". It is changed.

6. Known Issues

It fails to read root file system on SD after resume in power management.

To avoid suspend/resume, please set in "Settings" in Android

    Applications > Development > Stay awake

write_sd.sh

if [ "$1" = "/dev/sda" ]; then echo "/dev/sda is your root"; exit; fi
if [ ! -b "$1" ]; then echo $1 "is not block device"; exit; fi
set -x -e
OUT_DIR=./out
UBOOT=$OUT_DIR/uboot-sd.bin
SDBOOT=$OUT_DIR/sdboot.bin
UIMAGE=$OUT_DIR/uImage
ROOT_TAR=$OUT_DIR/android-root.tar.bz2
DRIVE=$1
TMP_MNT=/tmp/mnt

ls -l $UBOOT
ls -l $UIMAGE
ls -l $ROOT_TAR
ls -l $DRIVE

# Delete partition table
dd if=/dev/zero of=${DRIVE} bs=1024 count=1024

fdisk ${DRIVE} << __END__
n
p
1

+40M
n
p
2

+256K
n
p
3


t
1
6
p
w
__END__

#sleep 2
sync;sync;sync
mkfs.msdos ${DRIVE}1
mkfs.ext3 ${DRIVE}3

mkdir -p $TMP_MNT || true
mount ${DRIVE}1 $TMP_MNT
cp $SDBOOT $TMP_MNT
cp $UBOOT $TMP_MNT
cp $UIMAGE $TMP_MNT
umount $TMP_MNT

mount ${DRIVE}3 $TMP_MNT 
tar xvpf $ROOT_TAR -C $TMP_MNT
umount $TMP_MNT
sync;sync;sync

echo "*** OK ***"

Do not delete empty lines.



トラックバックURL

コメントする

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

QRコード
QRコード