make -C tools all
make[1]: Entering directory `/home/chv210/ad2.3/android2.2/uboot_samsung/tools'
ln -s ../lib_generic/crc32.c crc32.c
make[1]: *** No rule to make target `/usr/lib/gcc/i486-linux-gnu/4.4.1/include/stddef.h', needed by `img2srec.o'. Stop.
make[1]: Leaving directory `/home/chv210/ad2.3/android2.2/uboot_samsung/tools'
make: *** [tools] Error 2
解决上面uboot编译错误的方法是:make distclean。刚开始编译android4.0下的uboot,会报rm:asm是个目录的错误,直接删除掉就OK了。
20120718
往android目标机的system/bin里增加文件,是否只要在android源码里的out/product/target/smdkv210/system/bin里拷贝文件,然后重新./build_android.sh?
这样烧写到实际的目标机上,测试没有增加进去呀,后来执行:make -j1 PRODUCT-sec_smdkv210-eng snod 就增加进去了。system.img文件变大了。
20120712
今天测试发现:没有选上声卡模块的内核,android会启动不到桌面!
2012-06-27
今天终于找到不能下载android4.0问题的原因了:git工具有问题,我卸载后重新安装git工具就可以下载android4.0了。
2012-06-26
一直以为是system.img文件系统的原因,或者是烧写system.img的不成功原因才导致上面找不到/system/bin/下的很多命令找不到。今天分析出原因了:
是system分区里坏块很多,已经达到640块坏块,几乎达到整个分区的大小了,所以报:yaffs tragedy: no more erased blocks。所以才找不到后面的文件。其实它是有写进去system.img的,只是写得很后面去了,造成系统yaffs读文件系统错误。这一点上我看也是android系统yaffs文件系统的一个BUG吧?!不应受分区大小的限制,若有坏块要一直往后读。
2012-06-22
现在已经移植好uboot1.3.4了,内核linux2.6.32.9也已经能正常跑起来了,能显示linux企鹅图标,后来出现了android的动画图标。但是没有进入到桌面。启动到如下地方停止:不知是android代码问题还是kernel代码问题。
init: cannot open '/initlogo.rle'
PA FB = 0x40000000, bits per pixel = 32
screen width=800 height=480 va=0xd0000000 pa=0x40000000
Back frameBuffer[0].VAddr=d0177000 PAddr=40177000 size=1536000
invalid media device
yaffs: dev is 32505860 name is "mtdblock4"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.4, "mtdblock4"
yaffs: restored from checkpoint
yaffs_read_super: isCheckpointed 1
yaffs: dev is 32505862 name is "mtdblock6"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.6, "mtdblock6"
block 1 is bad
block 2 is bad
block 3 is bad
block 4 is bad
block 5 is bad
block 6 is bad
block 7 is bad
block 8 is bad
block 9 is bad
block 10 is bad
block 11 is bad
block 12 is bad
block 591 is bad
block 1305 is bad
block 1643 is bad
block 2143 is bad
yaffs_read_super: isCheckpointed 0
yaffs: dev is 32505861 name is "mtdblock5"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.5, "mtdblock5"
block 293 is bad
block 307 is bad
block 385 is bad
yaffs_read_super: isCheckpointed 0
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
init: cannot find '/system/bin/iwconfig', disabling 'iwconfig'
sh: can't access tty; job control turned off
# eth0: link down
warning: `rild' uses 32-bit capabilities (legacy support in use)
PVR_K:(Warning): SysFinalise: Version string: SGX540 S5PC110 [473, services4/system/s5pc110/sysconfig.c]
2012-6-17
repo init -u https://android.googlesource.com/platform/manifest
Get https://gerrit.googlesource.com/git-repo
fatal: https://gerrit.googlesource.com/git-repo/info/refs download error - The requested URL returned error: 403
今天在虚拟机上执行上面下载android源码的命令时老是出现403错误,不知为什么?谁遇到过?
2012-06-19
其实上面的启动信息还是可以进入命令行模式的。只要敲回车键就行。前两天在下面的启动信息里折腾了很久:
block 637 is bad
block 638 is bad
block 639 is bad
block 640 is bad
yaffs_read_super: isCheckpointed 0
yaffs tragedy: no more erased blocks
yaffs tragedy: no more erased blocks
yaffs tragedy: no more erased blocks
yaffs tragedy: no more erased blocks
init: cannot find '/system/bin/sh', disabling 'console'
init: cannot find '/system/bin/pvrsrvinit', disabling 'pvrsrvinit'
init: cannot find '/system/bin/servicemanager', disabling 'servicemanager'
init: cannot find '/system/bin/vold', disabling 'vold'
init: cannot find '/system/bin/netd', disabling 'netd'
init: cannot find '/system/bin/debuggerd', disabling 'debuggerd'
init: cannot find '/system/bin/rild', disabling 'ril-daemon'
init: cannot find '/system/bin/app_process', disabling 'zygote'
init: cannot find '/system/bin/mediaserver', disabling 'media'
init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
init: cannot find '/system/bin/installd', disabling 'installd'
init: cannot find '/system/bin/keystore', disabling 'keystore'
init: cannot find '/system/bin/netcfg', disabling 'ethernet_dhcp'