linux资料免费下载:
用户名与密码都是www.linuxidc.com
嵌入式系统 Boot Loader 技术内幕
Bootloader一般放在Flash的底端或者顶端,这要根据处理器的复位向量设置。要使Bootloader的入口位于处理器
上电
执行第一条指令的位置。
接下来分配参数区,这里可以作为Bootloader的参数保存区域。
再下来内核映像区。Bootloader引导Linux内核,就是要从这个地方把内核映像解压到RAM中去,然后跳转到内核映像入口执行。
然后是根文件系统区。使用Ramdisk文件系统,则需要Bootloader把它解压到RAM中。
最后是其他文件系统如果使用JFFS2文件系统,将直接挂接为根文件系统。也可以是YAFF2,它适应于NAND Flash。
最后还可以分出一些数据区,这要根据实际需要和Flash大小来考虑了。
这些分区是开发者定义的,Bootloader一般直接读写对应的偏移地址。到了Linux内核空间,可以配置成MTD设备来访问Flash分区。但是,有的Bootloader也支持分区的功能,例如:
Redboot
可以创建Flash分区表,并且内核MTD驱动可以解析出redboot的分区表。