linux系统移植:将已有的软件,按照硬件平台的差别,进行少量的代码更改,致使该软件可以在新的硬件平台上运行上去的过程,就是将linux系统经过剪裁,移植到arm开发板上。
移植的内容:
1.移植uboot
2.移植linux内核
3.移植根文件系统镜像
嵌入式linux系统包含的三个必要软件
一、BootLoader
特征:
BootLoader=boot(启动)+loader(加载);仅仅是一个总称,uboot是其中的一种,上电先运行,类似于BIOS,本质上就是一个裸板程序,类似于自己编撰的shell裸板程序,一旦linux内核启动,BootLoader生命结束。
三大功能:
1.上电先进行硬件初始化,为linux内核运行打算一个好的硬件环境
2.从"某个地方"加载linux内核到显存而且启动linux内核
3.启动内核以后,给linux内核传递参数,告诉linux内核,将来内核要挂接(要找)的根文件系统rootfs在"某个地方"linux系统移植步骤,将来linux内核按照这个参数去对应的地方去找根文件下系统。
二、linux内核
必须由BootLoader加载和启动linux系统移植步骤,内核本质上也是一个大程序,从上而下执行,最后会步入到一个while(1)。内核一旦启动linux标准教程,BootLoader生命结束,内核永驻显存,直至系统复位重启才衰落。
内核会依照BootLoader传递的参数去某个地方去找根文件系统rootfs,一旦找到rootfs以后的话,内核会将控制权交给根文件系统rootfs。
三、根文件系统rootfs
linux内核按照BootLoader提供的参数找到了根文件系统rootfs,内核都会运行根文件系统rootfs下/sbin目录下的init一号进程,而且将控制权交给init第一号进程,init进程创建子进程运行/bin/sh程序,就是shell程序redhat linux下载,shell终端,shell运行->终端->等待用户输入命令(ls/pwd/……)。