第六篇 嵌入式Linux ramdisk制作

本篇翻译自:http://processors.wiki.ti.com/index.php/Creating_a_Root_File_System_for_Linux_on_OMAP35x

摘要

如果没有一个包含有应用程序和系统相关配置的根文件系统,Linux内核将变得不再实用。根文件系统可以通过几种格式创建:可挂载的网络文件系统(NFS),RAMDISK,或者存储在flash文件系统中。制作和使用这些文件系统的说明文档散落在Internet上或者位于Linux发行版的Documentation目录下。本文将描述如何在以下几种格式下制作一个简单的根文件系统:通过NFS挂载,RAMDISK,日志式flash文件系统2(JFFS2),和一个被称作CRAMFS的只读flash文件系统。

简介

本文制作的根文件系统是基于BusyBox之上的,它被称作“嵌入式Linux的瑞士军刀”。BusyBox在一个单一的可执行程序中包含了所有最常用的Unix工具的精简版。它是可自定义的,只有那些需要的工具才会被编译。本文将向读者介绍以下几个方面的内容:

  • 下载和编译BusyBox
  • 通过NFS挂载根文件系统
  • 通过BusyBox目标编译和测试RAMDISK
  • 通过BusyBox目标编译和测试JFFS2文件系统
  • 通过BusyBox目标编译和测试CRAMFS文件系统

本文假设读者在一台运行Linux的PC机上拥有root权限。BusyBox可执行程序以及所有指向它的符号链接必须将用户和组的所有权设置为“root”。这是必须的,因为内核是以root身份启动的。如果生成的根文件系统没有将用户/组设置为root,内核将不会启动。因特网上有工具可以修改这个限制,不过这已经超出本文讨论的范围。

约定条件

本文中,假定所有的源文件和目标文件都位于用户的家目录。为了简便,本文假设用户的目录是“user“,则家目录为

/home/user

所有的源代码将位于”src“目录下,即

/home/user/src

代码将会在”build“目录下编译,即

/home/user/build

目标根文件系统将会在”target“目录下编译,即

/home/user/target

为了创建这些目录,进入/home/user,并输入

[root@localhost user]# cd /home/user
[root@localhost user]# mkdir src
[root@localhost user]# mkdir build
[root@localhost user]# mkdir target

results matching ""

    No results matching ""