小结:(1)u-boot:启动内核,并向内核传递参数,如如何挂载文件系统(从硬盘还是网络),及各种地址参数;(2)内核:管理功能,启动应用程序(ls等命令都是应用程序,应用程序位于根文件系统);(3)构建根文件系统
在存储其中构建跟文件系统的方式:(1)在PC中开发生成某种文件系统镜像然后通过u-boot下载及传参数给内核。(2)在PC中建立目录作为挂载存储器分区的点,通过busybox在此目录下构建所需的应用程序,如ls,mount,ps等命令,及其需要的文件。(3)完成其他配置文件;(4)通过该文件系统格式对应的工具把这个目录编译成镜像文件;(5)通过u-boot烧写;(6)选择执行busybox中应用程序
最小根文件系统根文件系统:init本身就是busybox;/dev/console; /dev/null; /etc/inittab; 配置文件里面inittab指定的应用程序;应用程序需要的C库
1、类似windows下的C、D等盘,Linux也会把磁盘、Flash化分成若干个分区。内核镜像文件(一般单独存放在一个分区中)。
内核启动后运行的第一个程序init、给用户提供界面的shell程序、应用程序依赖的库。这些必需、基本的文件合称根文件系统。Linux启动后首先要挂接这个根文件系统。
2、linux以树状结构管理目录和文件,其他分区挂接在某个目录上(挂接点),然后就可以通过这个目录进行访问。
制作根文件系统,就是创建各种目录,并在里面创建各种文件。
制作文件系统镜像,就是把一个目录下所有内容按照一定的格式存放到一个文件中,把这个文件直接烧到存储设备上。当系统启动后,挂载这个设备就可以看到和原来目录一样的内容。
3、一个分区上存储文件时,遵循的规则为文件系统类型。嵌入式系统中,jffs文件系统用于Nor Flash。yaffs用于Nand Flash
Linux还有几种虚拟文件系统,如proc、sysfs,它们不存储在实际的设备上,而是访问它们时由内核临时生成。
4、Linux根文件系统目录结构
(1)/bin用户命令
(2)/sbin系统命令
(3)/etc系统管理的各种配置文件
/etc/passwd用户数据库,用户起始目录、加密口令和用户的其他信息。
/etc/fstab指定启动时需要自动安装的文件系统列表。也包括用swapon -a启用的swap区的信息。
/etc/inittab init的配置文件,init进程根据其来创建其他进程。
(4)/home普通用户目录
(5)/root根用户目录
(6)/usr共享、只读程序和数据&#x