主题 : 烧写Android4.0.1问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 84039
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2012-12-16
最后登录: 2012-12-16
楼主  发表于: 2012-12-16 16:23

 烧写Android4.0.1问题

本人在ubuntu 32位机上下载了Android4.0.1的源码,并make完成;
我使用2.3.1源码中的genrootfs.sh生成rootfs_dir文件夹;命令如下:
?#!/bin/sh

PRODUCT=generic

echo -n "Generating rootfs for Android..."
rm -fr rootfs_dir
cp -a out/target/product/${PRODUCT}/root/ rootfs_dir
cp -a out/target/product/${PRODUCT}/system/* rootfs_dir/system
cp -a out/target/product/${PRODUCT}/data/* rootfs_dir/data
chown root:root rootfs_dir -R
chmod 755 rootfs_dir/system/etc/dhcpcd/dhcpcd-run-hooks
chown 1014:2000 rootfs_dir/system/etc/dhcpcd/dhcpcd-hooks -R
chown 1000:1000 rootfs_dir/data -R
echo "...done"

#function mvapk()
#{
        #mv $1 rootfs_dir/mnt/apps
        #echo "    $1"
#}

if [ "${PRODUCT}" = "generic" ]; then
        echo -n "Create device file..."
        mkdir rootfs_dir/dev/input
        mknod rootfs_dir/dev/tty c 5 0
        mknod rootfs_dir/dev/console c 5 1
        mknod rootfs_dir/dev/fb0 c 29 0
        mknod rootfs_dir/dev/pointercal c 10 119
        mknod rootfs_dir/dev/input/event1  c 13 65
        mknod rootfs_dir/dev/ts-if c 10 185
        mknod rootfs_dir/dev/touchscreen c 10 180
        mknod rootfs_dir/dev/touchscreen-1wire c 10 181
        mknod rootfs_dir/dev/s3c2410_serial0 c 204 64
        mknod rootfs_dir/dev/s3c2410_serial3 c 204 67
        echo "...done"

        echo -n "Install prebuilt packages..."
        if [ -f vendor/samsung/common/busybox-bin.tgz ]; then
                tar xf vendor/samsung/common/busybox-bin.tgz -C rootfs_dir/system
                ln -sf /system/busybox/bin/busybox rootfs_dir/system/bin/sh
                mkdir -p rootfs_dir/bin && ln -sf /system/busybox/bin/sh rootfs_dir/bin/sh
        fi
        if [ -f vendor/samsung/common/iwtools-bin.tgz ]; then
                tar xf vendor/samsung/common/iwtools-bin.tgz -C rootfs_dir/system/bin
        fi
        echo "...done"

        echo -n "Install kernel modules and firmware..."
        if [ -f vendor/samsung/smdkv210/firmware.tgz ]; then
                tar xf vendor/samsung/smdkv210/firmware.tgz -C rootfs_dir/system/etc
        fi
        if [ -f vendor/samsung/smdkv210/kernel-modules.tgz ]; then
                tar xf vendor/samsung/smdkv210/kernel-modules.tgz -C rootfs_dir/system/lib
                find rootfs_dir/system/lib/modules/ -name modules.* \
                                -o -name source -o -name build | xargs rm -rf
        fi
        echo "...done"

        echo -n "Install proprietary-open files..."
        [ -f FriendlyARMData.tgz ] && tar xf FriendlyARMData.tgz -C rootfs_dir
        echo "...done"


   #cp vendor/friendly-arm/mini210/rootdir/* rootfs_dir/ -af

#       chown 1000:1000 rootfs_dir/data/app -R
#       chmod 775 rootfs_dir/data/app
#       chmod 664 rootfs_dir/data/app/*.apk

#    chown 1000:1000 rootfs_dir/data/system -R
#    chmod 775 rootfs_dir/data/system

    find rootfs_dir/ -name CVS -type d  | xargs rm -rf
fi

再用mkyaffs2image rootfs_dir rootfs_android4.0.1.img
将rootfs_android.4.0.1.img替换光盘Android内的rootfs_android-mlc2.img
修改FriendlyARM.ini文件

#This line cannot be removed. by FriendlyARM(www.arm9.net)

CheckOneButton=No
Action = Install
OS = Android

LowFormat = Yes
VerifyNandWrite = No
CheckCRC32=No

StatusType = Beeper | LED

################### Android 4.0.1 ####################
Android-BootLoader = Superboot210.bin
Android-Kernel = Androidpy/zImage
Android-CommandLine = root=/dev/mtdblock4 console=ttySAC0,115200 init=/linuxrc androidboot.console=s3c2410_serial0 skipcali=yes ctp=1
Android-RootFs-InstallImage = Androidpy/rootfs_android.4.0.1.img

使用SD模式启动Tiny210V2 开发板;
在烧写过程中出现:
Bad Yaffs Image file

通过超级终端输出的结果是:
/ # Board type: 2
NAND Low-level formating...
NAND Low-level formatted...

Superboot-210
Ver: 1.11(20121015)
CPU: S5PV210 1GHz
RAM: 512MB
NAND: 2GB(MLC2) ID:ECD59476
Touch Device: 1-wire
LCD Type: S70(Auto)

Installing OS 'ANDROID'
Installing bootloader...
file: /images/Superboot210.bin: 528 KB(540672 Byte)
Installing bootloader succeed
Installing kernel...
file: /images/Androidpy/zImage: 4 MB(4590976 Byte)
Skip block 0x00000008
Skip block 0x00000009
Installing kernel succeed
Installing yaffs2-image...
Installing yaffs2-image failed

如何解决呢?
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
1楼  发表于: 2012-12-16 17:04
配置文件中
LowFormat = Yes
VerifyNandWrite = No
CheckCRC32=No

改成
LowFormat = Yes
VerifyNandWrite = Yes
CheckCRC32=Yes

试试

也有可能是生成文件有点问题,或者flash有点问题
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 新手上路
UID: 84039
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2012-12-16
最后登录: 2012-12-16
2楼  发表于: 2012-12-16 17:55
按照你(huhu2207)的方式改了,可是还存在问题;
我之前的想法可能是mkyaffs2image 工具有问题;试过CD中的mkyaffs2image  mkyaffs2image-128M都不行;