http://www.hongxiangbiao.com/inc_tech.asp?NewsID=570&classID=17
14.4 编译根文件系统源代码
http://www. hongxiangbiao.com 红向标嵌入式Linux培训 发布时间:2009-7-27 文章摘自: 原创 打印 | 收藏
| ||
1 )编译 filesystem.tar.gz filesystem.tar.gz 是我从网上下载的一个组织好的文件系统源代码,针对 PPC440EP 目标板的编译过程如下所示: # tar –xvzf filesystem.tar.gz ;解压缩源代码 # cd filesystem ;进入文件系统源代码目录 # export ARCH=ppc ;设置处理器体系架构环境变量 ARCH ,设置成 PowerPC 架构 # export KERNEL_DIR=/home/whh/linux-2.6.13 ;设置 内核源代码环境变量 KERNEL_DIR # export CROSS_COMPILE=ppc_4xx- ;设置交叉编译器前缀环境变量 # ./make_rootfs.sh ;执行源代码目录中的编译脚本程序编译文件系统,编译后将生成压缩了的文件系统 ramdisk.image.gz 2 )编译 busybox 以 busybox-1.10.4.tar.gz 为例,同样针对 PPC440EP 目标板的编译过程如下所示: # tar –xvzf busybox-1.10.4.tar.gz ;解压 缩 busybox 源代码 # cd busybox-1.10.4 ;进入 busybox 源代码目录 先将 Makefile 文件中的 ARCH ?= $(SUBARCH) 改成 ARCH ?= ppc 再将 CROSS_COMPILE ?= 改成 CROSS_COMPILE ?= ppc_4xx- 然后 # make menuconfig ;配置 busybox # make ; 编译 busybox 应用程序 # make install ;在当前目录下生成 _install 目录,该目录下有 bin 、 sbin 、 usr 三 个子目录和一个 linuxrc 符号链接文件,里面包含了配置 busybox 时所选择的各种应用程序的符号链接文件以及 busybox 可执行二进制原始文件 如果想用 busybox 做成一个完整的可以启动系统的根文件系统,只需再创建 dev 、 etc 、 home 、 lib 、 mnt 、 proc 、 roo 、 sbin 、 tmp 目 录,其中有些不是必需的,有些是必需的,比如 dev 目录下必须至少有系统启动时用到的设备的设备节点, etc 目 录下必须有系统启动的一些脚本文件。我的经验是:把 Linux 系统中 /dev 目 录下的全部内容以及 /etc 目录下的部分内容(如以 init 和 rc 开头的 目录和文件等)分别复制到这里的 dev 和 etc 目录 下,然后根据实际情况修改一下 etc 的几个文件,这样就可以做成一个能够启动系统的根文件系统。 |