嵌入式Linux软件设计剖析.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 串行终端控制组合键的用法: 先按Ctrl+A组合键,然后松开这两个键,再按Z键会出现控制组合键的帮助文档。 常用的组合键: S键:发送文件到目标系统中; W键:自动卷屏。 C键:清除屏幕的显示内容; B键:浏览minicom的历史显示; X键:退出minicom,会提示确认退出。 嵌入式Linux软件设计 附录5:RamDisk文件系统的创建 一、RamDisk文件系统 嵌入式系统无硬盘,一般采用NOR型或NAND型的Flash保存代码和数据,这就要把系统内存划出一部分当作硬盘使用存储数据。 由于这两种Flash的结构不一样,在其上构建的RamDisk操作方式自然也不一样,但是其构建的文件系统是一样的——RamDisk文件系统。 在系统中构建一个RamDisk系统: mkdir /tmp/ramdisk0 mke2fs /dev/ram0 或 mkfs -t ext2 /dev/ram0 mount /dev/ram0 /tmp/ramdisk0 系统重启后? 嵌入式Linux软件设计 但是,当系统启动时,还没有形成构建RamDisk的环境,又如何来构建呢? Linux的initrd机制: initrd = boot loader initialized RAM disk 就是由bootloader初始化的内存盘。 在Linux内核启动前,bootloader会将Flash中的initrd文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd文件系统: ①加载根文件系统存储介质的驱动模块; ②执行真正的根文件系统中的/sbin/init进程。 嵌入式Linux软件设计 Linux2.4内核对Initrd的处理流程 Linux2.4内核的initrd格式是文件系统镜像文件,处理流程如下: bootloader把内核以及/dev/initrd的内容加载到内存,/dev/initrd是由bootloader初始化的设备,存储着initrd。 在内核初始化过程中,内核把/dev/initrd设备的内容解压缩并拷贝到/dev/ram0设备上。 内核以可读写的方式把/dev/ram0设备挂载为原始的根文件系统。 嵌入式Linux软件设计 解决方案: RamDisk必须是一个小的linux rootfs系统,它必须包含了除内核以外的所有Linux系统在引导和管理时需要的工具。 一般包含如下目录: bin,dev,etc,home,lib,mnt,proc,sbin,usr,var 基本的工具和运行库: /bin: sh,ls,cp,mv ……, glibc 必要的配置文件: /etc: inittab,rc,fstab …… 必要的设备文件: /dev/tty*,/dev/console,/dev/men …… 嵌入式Linux软件设计 如何建立: RamDisk文件内包含有启动代码,所以不能直接用常规方式建立。 嵌入式Linux软件设计 二、busybox工具 1.简介 busybox是一个集成了一百多个最常用linux命令和工具的软件,还集成了http服务器和telnet服务器。 我们用这个工具可以方便地生成嵌入式系统RanDisk的所需要的文件。。 源代码下载:/downloads/ 目前版本:busybox-1.18.0.tar.bz2 本课程使用版本:busybox-1.9.2.tar.bz2 交叉编译环境:arm-linux-gcc-3.4.1.tar.bz2 嵌入式Linux软件设计 解压busybox文件: tar -jxvf busybox-1.9.2.tar.bz2 将会解压到当前目录的busybox-1.9.2目录下。 2. busybox工具的编译和安装 修改Makefile中的174行的arch和编译工具 ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux- 进入解压后的busybox目录,修改编译配置选项: make menuconfig 嵌入式Linux软件设计 make menuconfig 的启动画面: 嵌入式Linux软件设计 编译配置选项: Busybox Settings --- Build Options --- ←编译为静态连接 嵌入式Linux软件设计 编译配置选项(续): Busybox Settings --- Busybox Library T

文档评论(0)

四月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档