1 引言
最近在开发过程中遇到了一个问题:Linux在启动时挂载根文件系统时很慢很慢!
每次开机都是这样,项目中使用的是yaffs文件系统,理论上第一次启动时,会扫描完整的rootfs的flash区域建立索引,第二次启动就不会再扫描一次。但是实际情况是系统启动每次都扫描一遍,着实让人费解。
经过排查探究,最后发现是自己的一个知识缺漏点,由于操作流程不正确,才导致每次启动都要扫描一遍flash,因此特此记录。
2 现象
linux版本:4.3
文件系统:yaffs
flash类型:nandflash
系统启动后会将文件系统挂载为只读文件系统,但由于某些需求会更改文件系统的内容,因此会对文件系统remount为可读可写,操作完之后会设置会只读。
在上述流程中,虽然我们在增删、更新文件系统数据内容后,有调用sync命令,想将文件数据及时回写到磁盘中,但由于我们增删文件后,立马设置文件系统为只读,之后才进行的sync操作,使得sync命令实际并未产生预期相符的结果,导致yaffs文件系统的checkpoint信息并未更新,而文件系统内容实际是有

文章描述了在Linux系统中,使用YAFFS文件系统时遇到的启动慢问题。原因是由于在文件系统由只读变为可写,进行修改后再变回只读的过程中,sync命令未能更新checkpoint信息。正确的操作应确保在文件系统为可写状态下执行sync,以更新checkpoint,避免每次启动都扫描flash。
最低0.47元/天 解锁文章
2213

被折叠的 条评论
为什么被折叠?



