3.4 AUFS 联合文件系统

AUFS( Another UnionFS 的缩写), 是一个与UnionFS 类似的可堆叠联合文件系统,它将多个目录整合成单一的目录,是Linux 文件系统联合挂载的实现。

SquashFS 压缩系统是只读的,从而避免了对磁盘不必要的擦写,但同时也造成了修改数据不能保存的问题。

AUFS 的出现正好解决了上述问题,它管理一个基本文件系统(即本文中的系统Squashfs 镜像,保持原只读状态)和一个读写存储文件系统(必须具有读写权限)。通过AUFS,用户可以虚拟地修改基本文件系统上的文件,但修改后的结果却保存在读写存储文件系统中,从而实现了数据的透明修改。

3.5 Initrd 初始化内存盘

Initrd(boot loader IniTIalized RAM Disk 的缩写),由boot loader 初始化。本系统使用的boot loader 为GNU GRUB 0.97.如果Grub 已配置Initrd,Linux 内核在启动前,会把存储设备中的Initrd 文件加载到内存,作为一个临时根文件系统;内核启动时通过先执行Initrd 中的init 文件,完成设备驱动模块和squashsf、aufs 文件系统模块的加载,并完成真正的根文件系统的挂载,然后执行系统中的/sbin/init 进程。

与普通IDE、SATA 硬盘相比,USB 接口存储设备从驱动模块加载到设备可用,比较慢,需要几秒钟。

因此内核在挂载USB 存储设备时,会出现:USB 设备没有初始化完成,真正根文件系统挂载失败的问题。为了解决此问题,笔者在Initrd 中修改init 可执行文件,当加载USB 驱动后,系统将休眠5 秒,让USB 设备初始化完成后再挂载USB 存储设备中的根文件系统。本系统的init 文件配置如下:

本系统Initrd 中的最小化根文件系统由BusyBox创建,包含bin、dev、etc、lib、mnt、proc、sbin、sys这些必须的目录和相关文件。由于 BusyBox 生成的modprobe 命令不能正常执行,所以需要复制宿主系统中的modprobe 命令并替换Initrd 中的sbin 目录中的同名文件,同时通过ldd 查看modprobe 依赖的库文件,并复制到Initrd 中的lib 目录。

最后在宿主机器上通过命令:

find 。 | cpio –o –H newc | gzip 》 /boot/initrd.img-2.6.27.27 制作Initrd 镜像文件。

3.6 Grub 启动引导器

GNU GRUB (GNU GRand Unified Bootloader 的缩写),是GNU 项目中一个多操作系统启动引导程序,也是Linux 系统中最常用引导工具之一。为了让系统从USB 设备启动,必须将GRUB 程序安装在USB 存储设备的主引导记录(MBR)中。

以GRUB 0.9X 的安装步骤如下:

安装grub 程序在U 盘的/boot/grub 目录下,确保其目录存在menu.lst,stage1,stage2 三个文件。

进入grub 命令窗口,运行以下命令安装到U 盘的MBR:

grub》root(hd1,0) #假定Linux 系统所在盘符为第二块硬盘的第一个分区

grub》setup(hd1)

实际操作时根据硬盘分区不同作相应修改。

修改/boot/grub/menu.lst 文件,本文的menu.lst 如下:

3.7 Xfce 桌面环境

Xfce 是一款适用于多种*NIX 系统上运行的轻量级桌面环境,它的设计目的是在节省系统资源的情况下能够快速加载并执行应用程序。与Gnome 和KDE等比较臃肿的桌面环境相比,Xfce 占用的系统资源少,同时它拥有很小的依赖性和很好的模块性。本系统所用的Xfce 4.6.2 主要由实用工具libxfce4uTIl、微件库libxfcegui4、扩展库exo、菜单库libxfce4menu、窗口管理xfwm4、桌面管理 xfdesktop、面板xfce4-panel、会话管理xfce4-session、设置管理xfce4-setTIngs、配置管理xfconf、文件管理thunar、实用程序xfce-uTIls、应用程序查找xfce4-appfinder 等部件构成。

usb接口linux系统设计,AUFS 联合文件系统 - 基于USB接口的微型桌面Linux系统设计相关推荐

  1. Linux USB 驱动开发实例(七)—— 基于USB 总线的无线网卡浅析

    回顾一下USB的相关知识 USB(Universal Serial Bus)总线又叫通用串行外部总线, 它是20世纪90年代发展起来的.USB接口现在得到了广泛的应用和普及,现在的PC机中都带有大量的 ...

  2. Linux USB 驱动开发实例 (三)—— 基于USB总线的无线网卡浅析

    回顾一下USB的相关知识   USB(Universal Serial Bus)总线又叫通用串行外部总线,它是20世纪90年代发展起来的.USB接口现在得到了广泛的应用和普及,现在的PC机中都带有大量 ...

  3. Linux FrameBuffer分析之编写基于FrameBuffer接口的应用程序

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 测试环境:Ubuntu 12.04终端模式 在网上找到一个很不错的介绍FrameBuffer相关知识的帖子,原帖网址 ...

  4. linux内核支持多串口,基于华邦W90P710处理器的Linux内核应用及串口驱动的实现

    嵌入式Linux是一种很受欢迎的操作系统,具有开放源码.不存在黑箱技术.内核小.功能强大.运行稳定.效率高.易于定制裁减等特点[1],广泛应用于工控产品.很多工控产品需要和外部设备进行信息交换,而串口 ...

  5. linux 类似winscp_联合使用winscp和putty管理你的linux远程机器

    winscp和putty各自的功能我就不说了,用过的人就知道,不知道的可以搜狗 如下配置可以联合使用winscp和putty管理你的linux远程机器: 1.配置winscp(先配置) 点击winsc ...

  6. antix linux安装教程,antiX 19.1 发布,轻量级的桌面Linux发行版

    antiX是一种轻量级的桌面Linux发行版,以IceWM作为默认窗口管理器,已升级到版本19.1. 尽管主要是一个错误修复版本,但新版本还将IceWM更新到版本1.6.3: 提供了antiX-19. ...

  7. 开发板与linux文件系统,基于topeer 4412开发板 ***面linux文件系统的制作

    Exynos-4412不仅可以运行Android,还可以运行简单的linux最小文件系统(不带显示界面的linux系统),下面我们来讲解一下这种文件系统的制作. 制作文件系统我们需要使用到Busybo ...

  8. linux 锐捷客户端 脚本,基于802.1x的锐捷linux客户端认证方法(最新)

    校园网的Linux用户大概都有这样的苦恼,如今大多数校园网都必须安装基于802.1X协议的认证软件才可以上网,也许windows操做系统的用户以为安装这样的软件上网,那是一件很简单的事情,可是对于li ...

  9. Linux内核启动及文件系统加载过程

    当u-boot开始执行bootcmd命令,就进入linux内核启动阶段 与 u-boot 类似,普通 Linux 内核的启动过程也可以分为两个阶段,但针对压缩了的内核如 uImage 就要包括内核自解 ...

最新文章

  1. 【FFmpeg】RTSP、RTMP相关命令及开源项目
  2. 用时间分类能量再用能量分类时间
  3. OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法
  4. DDoS(Distributed Denial of Service,分布式拒绝服务)
  5. 图像处理入门 100 题,有人把它翻译成了中文版!
  6. 2021牛客NOIP提高组OI赛前模拟赛第一场T2——牛牛和数组操作(区间dp)
  7. Flowable学习笔记(二、BPMN 2.0-基础 )
  8. JDK源码学习笔记——TreeMap及红黑树
  9. python pandas 数据库_Python中pandas函数操作数据库
  10. html单选框+点击取消选中,【前端JS】radio 可单选可点击取消选中
  11. 一文教会你认识Vuex状态机
  12. php函数收集参数,DELL 14G服务器 对应 金牌银牌铜牌铂金CPU 参数简单汇总
  13. stata15软件win版安装meta模块命令分析模块百分百解决所有安装问题下载地址
  14. windows电脑上一些软件如画图/记事本变成了英文
  15. cad化气路图_气路图符号cad下载
  16. 凯恩斯主义中的当今世界
  17. 哈希表(HashMap)的学习与实现
  18. Android最牛的开源整理
  19. 网站外链优化方案怎么制定
  20. 无界键鼠(MouseWithoutBorders)的安装与无法连接的解决方案

热门文章

  1. 高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心
  2. ifconfig相关
  3. yum 不能安装应用,提示There are no enabled repos Run yum repolist all
  4. Oracle特殊恢复原理与实战(DSI系列)
  5. new malloc
  6. ReentrantLock 分析
  7. UVA 12716 GCD XOR(数论+枚举+打表)
  8. java selenium (二) 环境搭建方法一
  9. [转]进程间通信 - ipcrm
  10. .net 页面之间传值的几种方法!(转)