linux系统启动优化5个部分:
1,开机时钟时序优化;
2,Uboot优化;
3,Kernel优化;
4,Rootfs优化;
5,应用程序优化;
ROM Code : NAND内固化好的一段代码,主要作用是初始化CPU、DDR等硬件。
U-Boot : 初始化串口、网口等硬件设备,并引导系统加载内核镜像到DDR中执行。
Kernel : 负责内核子系统初始化,挂载根文件系统,加载各模块的驱动程序。
Rootfs : linux内核外围的一个应用环境。
Apps : 包括图丁系统以及图丁系统下开发的所有应用程序。
1,ROM code基本动不了,涉及到硬件时序,修改的话可能影响系统稳定性。
2,Uboot优化:删除部分命令;禁止启动延迟;禁止内核镜像校验;修改内核镜像加载方式;优化U盘升级文件扫描时间
Uboot拥有较多命令: 如环境变量设置命令setenv、跳转至内存物理地址的命令bootm等等。 在非调试状态下,可以通过裁剪部分命令来加快uboot的启动速度。(实际上,想通过裁剪命令加快启动速度,就是扯淡)
启动过程用到的命令: 【bootcmd : mmc,run loadimage/mmcboot,bootm】 【loadimage : fatload】 【mmcboot : echo,run mmcargs,test,bootz】 【mmcargs : setenv】
可直接注释宏控禁止命令的编译,例如:禁止memory、ext4命令 //#define CONFIG_CMD_MEMORY //#define CONFIG_CMD_EXT4;涉及到的文件: include/configs/ark1680_arm.h