




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux操作系统实验开发操作系统实验开发Linux内核的裁剪和定制内核的裁剪和定制1.解压内核源码进入源码根目录。tar xvzf linux-3.5-20150929.tgz2.修改基本的配置文件。cp tiny4412_linux_defconfig .config 3.配置内核。make menuconfig ARCH=arm4.编译内核。make ARCH=arm CROSS_COMPILE=arm-linux-5.查看是否编译正常。ls arch/arm/boot/zImageLinux内核的配置内核的配置Linux内核子系统内核子系统Linux内核的配置编译内核的配置编译嵌入式文
2、件系统嵌入式文件系统-JFFS2Jffs2: 日志闪存文件系统版本日志闪存文件系统版本2 (Journalling Flash FileSystem v2)主要用于主要用于NOR型闪存,基于型闪存,基于MTD驱动层,驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃志型文件系统,并提供了崩溃/掉电安全保护,提供掉电安全保护,提供“写平衡写平衡”支持等。缺点主要是当文件系统已满或接近支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使满时,因为垃圾收集的关系而使jffs2的运行速度大大放的运行速度大大放
3、慢。慢。jffs不适合用于不适合用于NAND闪存主要是因为闪存主要是因为NAND闪存闪存的容量一般较大,这样导致的容量一般较大,这样导致jffs为维护日志节点所占用为维护日志节点所占用的内存空间迅速增大,另外,的内存空间迅速增大,另外,jffs文件系统在挂载时需文件系统在挂载时需要扫描整个要扫描整个FLASH的内容,以找出所有的日志节点,建的内容,以找出所有的日志节点,建立文件结构,对于大容量的立文件结构,对于大容量的NAND闪存会耗费大量时间。闪存会耗费大量时间。嵌入式文件系统嵌入式文件系统-YAFFS2yaffs/yaffs2是专为嵌入式系统使用是专为嵌入式系统使用NAND型闪存而设型闪存
4、而设计的一种日志型文件系统。与计的一种日志型文件系统。与jffs2相比,它减少了一些相比,它减少了一些功能功能(例如不支持数据压缩例如不支持数据压缩),所以速度更快,挂载时间,所以速度更快,挂载时间很短,对内存的占用较小。很短,对内存的占用较小。yaffs/yaffs2自带自带NAND芯片的驱动,并且为嵌入式系芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的统提供了直接访问文件系统的API,用户可以不使用,用户可以不使用Linux中的中的MTD与与VFS,直接对文件系统操作。当然,直接对文件系统操作。当然,yaffs也可与也可与MTD驱动程序配合使用。驱动程序配合使用。yaffs与与yaf
5、fs2的主要区别在于,前者仅支持小页的主要区别在于,前者仅支持小页(512 Bytes) NAND闪存,后者则可支持大页闪存,后者则可支持大页(2KB) NAND闪存。同时,闪存。同时,yaffs2在内存空间占用、垃圾回收在内存空间占用、垃圾回收速度、读速度、读/写速度等方面均有大幅提升写速度等方面均有大幅提升嵌入式文件系统嵌入式文件系统-CramfsCramfs文件系统以压缩方式存储,在运行时解压缩,文件系统以压缩方式存储,在运行时解压缩,所以不支持应用程序以所以不支持应用程序以XIP方式运行,所有的应用程序方式运行,所有的应用程序要求被拷到要求被拷到RAM里去运行,但这并不代表比里去运行,
6、但这并不代表比 Ramfs需需求的求的RAM空间要大一点,因为空间要大一点,因为Cramfs是采用分页压缩是采用分页压缩的方式存放档案,在读取档案时,不会一下子就耗用过的方式存放档案,在读取档案时,不会一下子就耗用过多的内存空间,只针对目前实际读取的部分分配内存,多的内存空间,只针对目前实际读取的部分分配内存,尚没有读取的部分不分配内存空间,当我们读取的档案尚没有读取的部分不分配内存空间,当我们读取的档案不在内存时,不在内存时,Cramfs文件系统自动计算压缩后的资料文件系统自动计算压缩后的资料所存的位置,再即时解压缩到所存的位置,再即时解压缩到 RAM中。中。另另外,它的速度快,效率高,其只
7、读的特点有利于保护外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。文件系统免受破坏,提高了系统的可靠性。由由于以上特性,于以上特性,Cramfs在嵌入式系统中应用广泛在嵌入式系统中应用广泛。嵌入式文件系统嵌入式文件系统-ROMFS传统型的传统型的Romfs文件系统是一种简单的、紧凑的、只文件系统是一种简单的、紧凑的、只读的文件系统,不支持动态擦写保存,按顺序存放数据,读的文件系统,不支持动态擦写保存,按顺序存放数据,因而支持应用程序以因而支持应用程序以XIP(eXecute In Place,片内运行,片内运行)方式运行,在系统运行时,节省方式运行,在系统运
8、行时,节省RAM空间。空间。uClinux系系统通常采用统通常采用Romfs文件系统。文件系统。其他文件系统:其他文件系统:fat/fat32也可用于实际嵌入式系也可用于实际嵌入式系统的扩展存储器统的扩展存储器(例如例如PDA, Smartphone, 数码相机等数码相机等的的SD卡卡),这主要是为了更好的与最流行的,这主要是为了更好的与最流行的Windows桌桌面操作系统相兼容。面操作系统相兼容。ext2也可以作为嵌入式也可以作为嵌入式Linux的文的文件系统,不过将它用于件系统,不过将它用于 FLASH闪存会有诸多弊端闪存会有诸多弊端。嵌入式文件系统嵌入式文件系统-RAMDISKRamdi
9、sk是将一部分固定大小的内存当作分区来使用。是将一部分固定大小的内存当作分区来使用。它并非一个实际的文件系统,而是一种将实际的文件系它并非一个实际的文件系统,而是一种将实际的文件系统装入内存的机制,并且可以作为根文件系统。将一些统装入内存的机制,并且可以作为根文件系统。将一些经常被访问而又不会更改的文件经常被访问而又不会更改的文件(如只读的根文件系统如只读的根文件系统)通过通过Ramdisk放在内存中,可以明显地提高系统的性能。放在内存中,可以明显地提高系统的性能。在在Linux的启动阶段,的启动阶段,initrd提供了一套机制,可提供了一套机制,可以将内核映像和根文件系统一起载入内存以将内核
10、映像和根文件系统一起载入内存。嵌入式文件系统嵌入式文件系统-RAMFSRamfs是是Linus Torvalds开发的一种基于内存的文件开发的一种基于内存的文件系统,工作于虚拟文件系统系统,工作于虚拟文件系统(VFS)层,不能格式化,可层,不能格式化,可以创建多个,在创建时可以指定其最大能使用的内存大以创建多个,在创建时可以指定其最大能使用的内存大小。小。(实际上,实际上,VFS本质上可看成一种内存文件系统,它本质上可看成一种内存文件系统,它统一了文件在内核中的表示方式,并对磁盘文件系统进统一了文件在内核中的表示方式,并对磁盘文件系统进行缓冲行缓冲。)Ramfs/tmpfs文件系统把所有的文件
11、都放文件系统把所有的文件都放在在RAM中,所以读中,所以读/写操作发生在写操作发生在RAM中,可以用中,可以用ramfs/tmpfs来存储一些临时性或经常要修改的数据,来存储一些临时性或经常要修改的数据,例如例如/tmp和和/var目录,这样既避免了对目录,这样既避免了对Flash存储器的存储器的读写损耗,也提高了数据读写速度读写损耗,也提高了数据读写速度。Ramfs/tmpfs相对相对于传统的于传统的Ramdisk的不同之处主要在于:不能格式化,的不同之处主要在于:不能格式化,文件系统大小可随所含文件内容大小变化。文件系统大小可随所含文件内容大小变化。嵌入式文件系统嵌入式文件系统-NFSNF
12、S是由是由Sun开发并发展起来的一项在不同机器、不同开发并发展起来的一项在不同机器、不同操作系统之间通过网络共享文件的技术。在嵌入式操作系统之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上系统的开发调试阶段,可以利用该技术在主机上建立基于建立基于NFS的根文件系统,挂载到嵌入式设备,可以的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。很方便地修改根文件系统的内容。文件系统架构图文件系统架构图EXT4文件系统的制作文件系统的制作1.得到make_ext4fs 文件系统制作工具。tar xvzf linux_tools.gz2.解压文件系统
13、的目录。tar xvzf rootfs_qtopia_qt4-20141213.tar.gz3.开始制作文件系统映像./make_ext4fs -s -l 314572800 -a root -L linux ./rootfs_qtopia_qt4.img ./rootfs_qtopia_qt4制作文件系统简介制作文件系统简介制作ramdisk-u.img根文件系统a)创建根文件系统目录。#mkdir rootfs#cd rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sb
14、in lib/modulesb)创建最基本的设备文件。#cd dev#mknod -m 666 console c 5 1#mknod -m 666 null c 1 3#cd .制作ramdisk-u.img根文件系统c)安装/etc配置文件。#tar etc.tar.gz -C /xxx/rootfsxxx表示你要制作的rootfs所在的目录。d)编译内核模块。进入Linux内核源码目录(linux-2.6.29)#make modules ARCH=arm CROSS_COMPILE=arm-linux-e)安装内核模块。#make modules_install ARCH=arm IN
15、STALL_MOD_PATH=/xxx/rootfsxxx表示你要制作的rootfs所在的目录。制作ramdisk-u.img根文件系统f)配置busybox。进入busybox目录执行#make menuconfig进入Busybox Settings - build Options -选中Build busybox as a static binary“,即静态链接,免去拷贝大量的库文件。Installation Options - 选中Dont use /usr,以免busybox不慎被安装到宿主机系统的相应目录下,破坏宿主机系统。Busybox Installation Prefix (/xxx/rootfs),修改该选项表明编译后的busybox将安装到该位置。制作ramdisk-u.img根文件系统g)编译、安装busybox。#make ARCH=arm CROSS_COMPILE=arm-linux-#make install安装到Busybox Installation Prefix (/xxx/rootfs)设定的目录里。当前为我要制作的根文件系统目录(/xxx/rootfs)。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保护大气大气保护承诺书3篇
- 纺织品企业信息技术应用与管理考核试卷
- 渔业可持续发展的创新模式考核试卷
- 纺织品在运动器材的人体工程学考核试卷
- 医疗器械质量管理体系认证考核试卷
- 【课件】第六单元写作《发挥联想和想象》课件-2024-2025学年统编版语文七年级上册
- 2025设备采购合同范本 项目管理合同范本
- 2025租赁委托合同协议书范本
- 工程吊顶装修合同书样本二零二五年
- 二零二五版塔吊司机劳务合同书
- 有色金属冶金概论总论
- 砂石料单价编制
- 海藻学知到章节答案智慧树2023年烟台大学
- 六年级下册道德与法治期中测试卷含答案【考试直接用】
- EIM Book 1 Unit 11 Promise,promise单元知识要点
- 全陕西师范大学《716文学综合》考研真题详解下载全
- 引航梯的位置和标识及保养记录
- 外科学急性化脓性腹膜炎
- 苯酚的分子组成和结构课件
- 《罗织经》全文及翻译
- GB∕T 26077-2021 金属材料 疲劳试验 轴向应变控制方法
评论
0/150
提交评论