2014-09-01 29 views
1

我想做Pandabaord上的android Kitkat Porting。 AOSP代码编译成功,现在编译后生成引导,系统,用户数据,u-boot和MLO所有映像文件。我想为Panda板制作一个可引导的SD卡,我使用下面的脚本。pandabaord SD卡上的引导分区没有正确创建

#!/bin/sh 
if [ $# -lt 2 ]; then 
echo "example usage: $0 /dev/sdc \$ANDROID_ROOT" 
exit 1 
fi 

DRIVE=$1 
ANDROID_ROOT_DIR=$2 

sudo umount ${DRIVE}* 

sudo dd if=/dev/zero of=$DRIVE bs=1 count=1024 
sudo sync 
sudo parted $DRIVE mklabel gpt 
sudo parted $DRIVE mkpart boot fat32 1MB 9MB 
sudo parted $DRIVE mkpart system ext4 9MB 521MB 
sudo parted $DRIVE mkpart cache ext4 521MB 1033MB 
sudo parted $DRIVE mkpart userdata ext4 1033MB 2033MB 
sudo parted $DRIVE mkpart media fat32 2033MB 3033MB 
sudo sync 

sudo mkfs.ext4 ${DRIVE}2 -L system 
sudo mkfs.ext4 ${DRIVE}3 -L cache 
sudo mkfs.ext4 ${DRIVE}4 -L userdata 
sudo mkfs.vfat -F 32 ${DRIVE}5 -n media 
sudo sync 

sudo dd if=${ANDROID_ROOT_DIR}/device/ti/panda/xloader.bin of=$DRIVE bs=131072 seek=1 
sudo sync 
sudo dd if=${ANDROID_ROOT_DIR}/device/ti/panda/bootloader.bin of=$DRIVE bs=262144 seek=1 
sudo sync 
sudo dd if=${ANDROID_ROOT_DIR}/out/target/product/panda/boot.img of=${DRIVE}1 
sudo sync 
${ANDROID_ROOT_DIR}/out/host/linux-x86/bin/simg2img ${ANDROID_ROOT_DIR}/out/target/product/panda/system.img ${ANDROID_ROOT_DIR}/out/target/product/panda/system.ext4.img 
sudo dd if=${ANDROID_ROOT_DIR}/out/target/product/panda/system.ext4.img of=${DRIVE}2 
sudo sync 
sudo e2label ${DRIVE}2 system 
sudo sync 

运行上述脚本此代码分开DRIVE 5分区作为系统,高速缓存,用户数据和媒体之后。但为什么开机没有创建?也就是说,{DRIVE} 1没有设置知道?那么将xloader.bin,bootloader.bin和boot.img全部存储在哪里?

感谢您的提前帮助。在PANDABOARD的

回答

0

ROM代码会在两个地方是“引导程序”的代码,根据选项,您要使用:

  • 原始模式 - 那么图像必须在以下位置之一: SdCARD上的0KB,128KB,256KB,384KB和镜像包含ROM检查的特殊标题。

  • 从活动的主分区(文件必须称为MLO)Fat12/16/32启动。

它看起来像你要使用原始模式,所以xloader.bin(MLO)包含东西启动你的板(偏移128KB)。该代码是通过ROM代码读取内存PANDABOARD ,然后可能加载bootloder- bootloader.bin的下一阶段

所以,你在这里做什么:

sudo dd if=${ANDROID_ROOT_DIR}/device/ti/panda/xloader.bin of=$DRIVE bs=131072 seek=1 

sudo dd if=${ANDROID_ROOT_DIR}/device/ti/panda/bootloader.bin of=$DRIVE bs=262144 seek=1 

只是应付两个文件到SD卡的偏移128KB和256KB,这些图像存储在那里。