Linux内核移植与根文件系统构建.ppt_第1页
Linux内核移植与根文件系统构建.ppt_第2页
Linux内核移植与根文件系统构建.ppt_第3页
Linux内核移植与根文件系统构建.ppt_第4页
Linux内核移植与根文件系统构建.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux内核移植和根文件系统构建,根文件系统,文件系统:简单地说,它是一种目录结构。由于Linux操作系统设备以文件的形式存在于系统中,对这些文件进行分类和管理,并提供与内核交互的接口,将形成一定的目录结构,即文件系统,它是用户反映系统的一种形式,并为用户提供测试和控制系统的接口。根文件系统:根文件系统是一个特殊的文件系统,那么根文件系统和普通文件系统有什么区别呢?由于根文件系统是内核启动时挂起的第一个文件系统,根文件系统应该包括启动Linux所需的目录和关键文件。例如,当Linux启动时,它需要初始化目录中的相关文件。当Linux挂载分区时,Linux肯定会找到挂载文件/etc/fstab

2、等。根文件系统还包括许多应用程序bin目录等。Linux系统启动所需的任何文件都可以成为根文件系统。什么是Linux根文件系统?当使用Linux时,你会发现在/下有很多目录,比如etc、usr、var、bin等等。这些目录中有许多目录或文件;在Linux下,文件系统看起来像一个树形结构,所以文件系统的结构可以形象地称为树形结构。linux文件系统的顶部是“/”。我们称“/”为Linux的根,它是Linux操作系统的根文件系统。Linux文件系统的入口是“/”,所有的目录、文件和设备都在“/”下。根文件系统目录结构,Linux符合文件系统科学分类标准(FHS),该标准定义了许多文件和目录的名称和

3、位置。linux根文件系统的目录结构如下:/Linux文件系统的入口也是最高级别的目录;/bin系统所需的命令位于此目录中,例如ls、cp、mkdir和其他命令;这个目录中的文件都是普通用户可以使用的可执行命令。作为基本系统,最基本的命令就放在这里;/boot引导系统程序所需的Linux内核和文件目录;比如内核的镜像文件,引导加载程序(GRUB);根文件系统目录结构、/dev设备文件存储目录,如声卡、磁盘./etc系统配置文件位置,一些服务器配置文件也在这里;例如,/etc/inittab是初始化过程的配置文件,etc/fstab用于指定启动时需要自动安装的文件系统列表。/home默认存储目录

4、为普通用户的主目录;/lib库文件存储目录/mnt此目录通常用于存储装载存储设备的装载目录,如cdrom。根文件系统目录结构、进程信息和内核信息(如cpu、硬盘分区、内存信息等)。)存储在这里。由/proc目录伪装的文件系统proc的装载目录;/rootdirectory /root Linux超级特权用户根;/sbin主要用于存储与系统管理相关的命令,是超级特权用户根的可执行命令存储位置。普通用户无权在此目录中执行命令,如ifconfig /tmp临时文件目录/usr,这是系统存储程序(如命令和帮助文件)的目录。/var目录包含在正常操作期间已被更改的文件:假脱机文件、日志文件、锁定文件、临

5、时文件和页面格式文件。文件存储规则,为了实现各种linux版本的标准化,各种版本的linux系统将遵循FHS标准;主要规则如下:配置文件放在/etc目录中;设备文件放在/dev目录中;库文件位于目录/库目录下;存储已编译的可执行文件和命令的目录是/bin、/sbin、/usr/bin、/usr/sbin和最少数量的目录。在嵌入式系统中,根目录下的许多目录都可以删除,如下:所有目录都应该删除,因为它们为多个用户提供了可扩展的环境;例如,(/home,/mnt,/root)可以根据引导加载情况删除/boot目录。其余的目录/bin、/dev、/etc、/proc、/sbin、/usr、/lib是必

6、不可少的。linux的根文件系统包括支持Linux系统正常运行的基本内容,至少应该包括以下内容:基本文件系统结构,如bin、dev等,s bin、lib、usr、proc。基础程序运行所需的动态库。基本系统配置文件。必要的设备文件支持。基本应用程序,如sh、ls、cp等,通过将相应的文件添加到相应的目录来构建根文件系统。例如,在/dev中添加设备文件,/etc中添加配置文件,/bin中添加命令或程序,/lib中添加动态库。Linux内核移植,1。Linux内核移植,2。Busybox生成工具集,3。昕薇,内核,根文件系统编写,Linux内核移植,/arm2410s/kernel-2410s是内

7、核的源代码,Linux内核移植,1)make config:进入命令行,可以逐行配置2)make menuconfig:进入熟悉的menuconfig菜单3)make xconfig:在2.4.X和以前的版本中,xconfig菜单是基于TCL/TK图形库的。Linux内核移植,Linux内核移植,1。代码成熟度级别选项,其中有子项:1.1。提示开发和/或不完整的代码/驱动程序。该选项支持那些仍处于测试阶段的代码和驱动程序模块。一般来说,您应该选择这个选项,除非您只想使用在LINUX中完全稳定的东西。然而,这有时会对系统性能产生很大影响。1.2 .提示过时的代码/驱动程序。此项目用于支持旧的驱动

8、程序和代码,并被现有文件替换。除非您的机器配置是旧的,否则您可能不会选择它。但是会有很多问题。因此,这个项目基本上没有被使用,在新版本中已经被替换。Linux内核移植,2。可加载模块支持动态加载模块支持选项,其子项有:2.1。启用模块支持支持模块加载功能,应选择该功能。2.2在所有模块符号上设置版本信息此项用于支持跨内核版本的模块支持。也就是说,由某个版本的内核编译的模块可以在另一个版本的内核下使用,这通常是我们不使用的。所以不要选择。2.3内核模块加载器如果启用此选项,您可以在必要时借助内核程序自动加载或卸载这些可加载模块。我们通常选择。Linux内核移植,3,系统类型系统类型,主要是CPU

9、类型,以及相关内容。在我们的ARM2410-S平台上,你在这个项目上看到的是S3C2410的ARM系列CPU。其他选项是一些关于芯片和平台的结构定义。其他版本的内核不是这样的,但它通常包括处理器系列选项,允许我们选择中央处理器的类型,并且基本输入输出系统可以检查它,所以要注意系统的启动信息。只需选择正确的中央处理器类型。Linux内核移植,4,通用设置4.1,支持热插拔设备支持热插拔设备,具体视情况而定。可选控制通用串行总线设备,如通用串行总线闪存驱动器。4.2 .网络:支持网络支持。4.3 .系统五:支持系统五4.4的进程间通信。系统支持:这种支持可以直接改变内核参数而无需重启。启用此选项后

10、,内核将增加约8K。如果你的记忆力太小,不要选择它。4.5 .数学仿真模拟器。4.6 .电源管理器电源管理,这在编译X86内核时更有用,尤其是笔记本电脑。您不能选择为ARM编写内核。Linux内核移植,5。联网选项,主要是关于一些网络协议选项。Linux的功能在于对网络功能的灵活支持。这部分有相当多的内容。根据不同情况,我们一般选择以下项目。5.1 .数据包套接字协议支持。一些应用程序使用数据包协议直接与网络设备通信,但不通过内核中的其他中介协议。同时,它可以让你在TCP不能工作的时候找到一种通信方式。5.2 .unix域套接字支持基本UNIX套接字5.3。当然是支持协议堆栈。如果您的内核非常

11、关注大小,并且您不需要任何网络,并且您不使用基于UNIX套接字的应用程序,如X窗口,您可以节省大约144千字节的空间。Linux内核移植,10,SCSI设备支持如果有SCSI设备(SCSI控制卡、硬盘或光驱等)。),选择此选项。目前,有许多类型的SCSI设备。要区分它们,你必须首先知道它们使用的控制芯片的类型。2.6.X内核已经对各种类型的SCSI设备提供了更加具体和详细的支持。scsi支持;scsi磁盘支持;Linux内核移植,请在本实验中静态地向内核添加ad转换器驱动程序;Linux内核移植,请在本实验中静态地向内核添加ad转换器驱动程序;Linux内核移植,请在本实验中静态地向内核添加a

12、d转换器驱动程序;其中包括:直接编译到内核中,并以模块的形式编译。如果您需要将模块留空,您将无法编译和移植Linux内核。1.命令make clean是在正式编译内核之前清理环境。2.命令make dep用于编译相关的依赖文件。3.make zImage命令是最终的编译命令。有时你可以直接使用make(针对2.6.x版本)或make bzImage(针对为个人电脑编译大型内核)来最终生成内核映像zImage。生成路径是:/arm 2410s/kernel-2410s/arch/arm/boot/zim age。第二,内核和根文件系统的实验。下载最新版本的Busybox时:busybox-1.1

13、7.3.tar.bz2注意:在提取arm-linux-gcc工具时,tar jxff arm-Linux-gcc-3 . 4 . 1 . tar . bz2,ii。内核和根文件系统实验,root # root CD/arm 2410s/exp root # root mkdir rootfs root # root CD rootfs/root # root fs CP ARF/arm 2410s/busybox-1.00-pre 10/arm 2410s/root/。(注意“.”当前路径的符号)根# rootfscd busybox-1.00-pre10/,解压缩后,进入配置菜单:具体选项和

14、操作见说明书P192。2.内核和根文件系统实验。选择busybox的编译方法:请注意:在“构建选项-将busybox构建为静态二进制文件(无共享库)”中,取消使用链接库。是否要用交叉编译器构建Busybox?/usr/local/arm/3.4.1/bin/arm-Linux-首先查看本地3 . 4 . 1编译器的地址,并用上面的蓝色字体书写;安装后,依次执行以下命令:root # root make dep root # root make root # root make prefix=。/root install;内核和根文件系统实验;内核和根文件系统实验;注意:如果make dep不起

15、作用,请执行命令:rm rf。/。在basybox-1.00-pre10/目录中依赖删除此文件保存以前的依赖关系。第二,内核和根文件系统实验,编译生成的目录结构(默认为_ install folder):/bin/linuxrc/sbin/usr/usr/bin/usr/sbin;第二,内核和根文件系统实验,将上述三个红色文件替换为教学平台原始根文件系统的相应目录:root # rootdc/arm 2410s/exp/rootfs/root root root # roormrfbin/sbin/usr/root # rootcparf/arm 2410s/exp/rootfs/Busybo

16、x-1.00-pre 10/root/*。第二,实验内核和根文件系统以生成cramfs文件系统:root # rootdc/arm 2410s/exp/rootfroot # roomkcramfs root.cramfs生成根文件系统root . cramfs第二,内核和根文件系统实验,刻录2410S linux操作系统:在windows xp下,所需文件在光盘上的img目录和flashvivi目录中提供。编写2410S linux操作系统包括三个步骤:编写李美慧、内核和根。此外,我们还需要写yaffs.tar,这是在img目录。昕薇- linux操作系统启动引导程序;linux操作系统内核;根文件系统。Yaffs.tar-应用程序,2。内核和根文件系统实验,1。将并行线插入pc的并行端口,并将并行端口连接到JTAG,该端口连接到开发板的14针JTAT端口;2.将整个GIVEIO目录复制到C:WINDOWS,并将此目录中的giveio.sys文件复制到c :/WINDOWs/syst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论