编译移植Android 2.3到Tiny210(2)

因为是最高权限生成rootfs_dir的,因此也要使用最高权限才能cp,比如rootfs_dir/dev/下的设备文件,

上面的错误就是使用一般权限导致/dev/console没有拷贝过去!

sudo ./genrootfs.sh

sudo cp rootfs_dir/ /tftpboot/nfs -fpRv

继续出错:

[ 139.032041] request_suspend_state: wakeup (0->0) at 138479524004 (2011-08-13 20:12:20.456813585 UTC)

[ 139.034670] init: untracked pid 144 exited

[ 139.035349] init: untracked pid 145 exited

网上很多人也出现了同样的错误。归纳起来主要三个原因:

1 system/lib/hw/下缺少gralloc.default.so

把out/target/product/OK6410/obj/SHARED_LIBRARIES/gralloc.default_intermediates/LINKED下把这个文件放到文件系统的/system/lib/hw下就可以启动了

参看:

2 如果是挂载nfs,检查nfs权限

a 关闭防火墙

b 可以在/etc/exports 中配置nfs服务,增加rw,no_root_squash,可以解决此问题

参看:

3 还出现该问题,说明init程序所在的分区权限不够。

参看:

Android系统移植问题

错误: request_suspend_state: wakeup init: untracked pid 123 exited

原因:
(1)检查发现这是由于init.rc里面会重新mount根文件系统为只读,导致init.rc不能创建子目录。

(2)如果在ICS启动时,串口输出init: untracked pid之类的错误,说明init程序所在的分区权限不够,需要修改,在Telechips的代码中。

解决方法:需要修改init.rc,注释掉:mount yaffs2 mtd@system /system ro remount语句即可。

有这样一行:mount rootfs rootfs / ro remount。把它注释掉就可以了

mount rootfs rootfs / ro remount
改成
mount rootfs rootfs / rw remount

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7b2dde03de4a898d79c0cf2078d6f130.html