Linux启动流程
硬件上电后,会先启动Bootloader, Bootloader再引导Linux内核,Linux内核挂载文件系统,Linux系统启动完成。
Bootloader
Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
Bootloader有两种模式:
1.自启动模式:在这种模式下,bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。(用户不介入,Bootloader将引导Linux内核)
2.交互模式:在这种模式下,目标机上的bootloader将通过串口或网络等通行手段从开发主机(Host)上下载内核映像等到RAM中。可以被bootloader写到目标机上的固态存储媒质中,或者直接进入系统的引导。也可以通过串口接收用户的命令。(用户介入,用于刷机)
BootLoader编译与Linux内核编译
编译u-boot
1.解压u-boot包
tar xvf u-boot-1.1.6.tar.bz2
2.进入解压后的文件夹
cd u-boot-1.1.6
3.打补丁
patch -p1 <…/u-boot-1.1.6_jz2440.patch
4.编译
make 100ask24x0_config && make
5.生成uboot.bin文件
编译内核
- 拷贝内核代码到开发环境
- 解压 tar xvf …tar.gz
- 打补丁 patch
- 配置 cp config_ok .config
- 编译make uImage
移植到开发板
1.按下电源键
2.倒计时时候,按下空格
3.n刷uboot
4.显示usb connected.
5.打开dnw
6.dnw transmit
7.刷uImage (k)
8.刷文件系统(y)
9.重新上电,或者b