我下的PAD android4.4 版镜像还有源码,然后通过看源码和板子每次开机启动时的LOG,发现在挂载data,cache等读写分区时,并没有进行e2fsck检查。通过看到fstab.rk30board.bootmode.emmc里面并没有设置check标志,更加确信没有调e2fsck。
想问下Firefly-rk3288 PAD android4.4在以后使用的时候会在什么时候调用e2fsck,因为我觉得不调用这个玩意的话,那么有一天文件系统崩溃的时候,就不能自动修复了,还得我们手动修复的。
我看的系统启动时挂载分区应该是在init.rk30board.bootmode.emmc.rc里面的mount_all fstab.rk30board处进行挂载,而mount_all指令肯定会根据fstab.rk30board相关文件的fs_mgr_flags标志决定是否进行文件系统e2fsck检查。现在就没设check标志。就是说不检查吧。
还请专家说说会在其他那些地方调用啊。
zhansb
3
看看这个:system/core/fs_mgr/fs_mgr.c
回复挺快的,这个文件我看过了啊,fstab相关文件得设置check标志,然后system/core/fs_mgr/fs_mgr.c中才会调用e2fsck进行文件系统正确与否的检查。现在是fstab相关文件(应该是fstab.rk30board.bootmode.emmc)就没有设置check标志,因此开机启动时不会检查的。
如果不会自动调用e2fsck修复文件系统的话,那么以后产品出货终端用户使用平板电脑时,出现文件系统崩溃时,还得自己上网找找怎么修复文件系统。
我觉得这样做不好,Windows或者ubuntu都有开机启动时调用文件系统检查工具,检查文件系统有没有问题。
总不能用户下了一堆APK,结果恢复出厂设置后,用户的喜好设置都没了。。这方面我觉得得改进下。