1

Pandabaord에서 Android Kitkat Porting을하고 싶습니다. AOSP 코드가 성공적으로 컴파일되고 부팅, 시스템, 사용자 데이터, u-boot 및 MLO가 컴파일 된 후 생성됩니다. 이제 팬더 보드 용 부팅 가능한 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 

위의 스크립트를 실행 한 후이 코드는 시스템, 캐시, 사용자 데이터 및 미디어로 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)이 포함되어 있습니다. 코드는 pandaboard 의 ROM 코드에 의해 메모리에 읽고 그래서

당신이 여기에서 무엇을하고 있는지 다음 아마 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 각각의 이미지가 저장됩니다.