
对于linux启动流程分析,我们需要移植bootloader引导加载程序---移植linux内核---制作根文件系统镜像文件;
对于不同的硬件平台,linux系统启动流程大体相同,但是资源需求有差异,所以需要对已有平台的linux系统的各种配置资源进行少量修改和裁剪,移植到已有的开发板上,使其在开发板上能运行;
uboot是一个开源分布式软件;
uboot支持多种硬件架构平台(ARM/X86/POWERPC/.........);
uboot是一个裸机开发程序;
uboot是一个短命鬼,主要引导内核进行启动,内核启动成功之后,生命周期就结束;
uboot引导内核进行启动时,会给内核传递两个参数(bootcmd/bootargs),bootcmd参数:自启动命令 ==> 进入自启动模式;bootargs参数:自启动参数 ==> 将ubuntu指定文件夹,挂载到开发板中;
uboot已经移植成功,uboot主要作用引导内核进行启动,会给内核传递两个参数(bootcmd / bootargs);
需要内核的五大功能:
内核已经成功,并且uboot可以引导内核进行启动成功,我们不能直接操作内核,内核空间属于3G~4G,应用层空间属于0G~3G , 用户是不可以直接操作内核空间;
在Linux系统中一切皆是文件,文件是计算机系统的软件资源,操作系统本身和大量的用户程序、数据都是以文件形式组织和存放的,我们可以通过控制rootfs文件,间接控制开发板;
根文件系统制作网址:Index of /downloads
通过nfs服务器进行测试,将~/nfs/rootfs目录挂载到开发板上,串口工具对~/nfs/rootfs操作;