嵌入式Linux系统应用及项目实践教学课件作者丰海第五章_嵌入式Linux启动程序_内核_根文件系统课件.ppt
文本预览下载声明
第五章 嵌入式Linux启动程序 内核根文件系统 * 丰海 BootLoader的基本概念 Boot Loader 就是在操作系统内核运行之前运行的一段引导系统启动的程序。通过这段小程序的作用是初始化硬件设备、建立内存空间的映射图,并将系统的软硬件环境带到一个合适的状态,以便为调用操作系统内核准备好正确的环境。在嵌入式世界,Boot Loader 是严重地依赖于硬件而实现的,没有Bootloader,嵌入式系统就不能启动。由于作者在这方面的功力还不够,所以无法向读者介绍针对TQ2440开发板的u-boot移植,只介绍一下u-boot的使用基础和概念。Bootloader完成的主要功能就是将操作系统调进内存中执行,然后将控制权交给操作系统,嵌入式系统中常见的Bootloader有Vivi、Blob、Redboot、U-Boot等。 内核移植的平台 1. 首先验证所下载内核的完整性 2. 安装编译内核时所需要的工具: 3. 编译前的准备 4.内核源代码的修改 修改平台输入时钟\Makefile文件、机器代码加入NAND FLASH的分区信息、添加内核对yaffs2的支持、修改看门狗驱动 5. 输入make进行编译 BusyBox最初是由 Bruce Perens在 1996年为 Debian GNU/Linux安装盘编写的,其目标是在一张软盘上创建一个可引导的 GNU/Linux系统,Busybox是一个遵循GPLV2协议的开源项目。Busybox将众多的Linux命令集合进一个很小的可执行程序中,BusyBox是为构建内存有限的嵌入式系统的优秀工具。 Busybox在编写过程中对文件大小进行了优化,并考虑了系统资源有限的情况。与一般的GNU工具集动辄几MB的体积相比,动态连接的Busybox只有几百KB,即使静态连接也只有1MB左右,一次有人将Busybox比喻成Linux工具中的瑞士军刀,包括了一个大的工具集,但是有些根文件系统下的文件还是需要用户自己来建立。 BusyBox 1下载busybox的源代码busybox-1.19.4.tar.bz2及其对应的验证文件 2 验证文件的完整性 3 解压源代码 fh@fh:~/busybox$ tar jxvf busybox-1.19.4.tar.bz2 4 进入busybox源代码目录 fh@fh:~/busybox$ cd busybox-1.19.4/ 5 修改Makefile文件 fh@fh:~/busybox/busybox-1.19.4$ vi Makefile 修改164行为CROSS_COMPILE = arm-linux- // 指定交叉编译器arm-linux- 修改190行为ARCH = arm // 指定CPU类型为arm 修改完后保存 6 配置busybox fh@fh:~/busybox/busybox-1.19.4$ make menuconfig
显示全部