分类:
2007-11-18 20:07:50
一个最为简单的文件系统,其实就是配置一下busybox,建几个文件架,然后把初始化些一下就可以搭建了,基本没什么的功能。
一、 首先说一下 busybox 的配置和编译问题
解压Busybox到文件夹并进入:
&:make menuconfig
Busybox Settings -》
General Configuration
[*] Support for devfs
Build Options -》
[*] Build BusyBox as a static binary (no shared libs)
/* 将 busybox 编译为静态连接,少了启动时找动态库的麻烦 */
[*] Do you want to build BusyBox with a Cross Compiler?
(/usr/local/arm/3.3.2/bin/arm璴inux) Cross Compiler prefix
/* 指定交叉编译工具路径 */
Init Utilities >
[*] init
[*] Support reading an inittab file
/* 支持 init 读取/etc/inittab 配置文件,一定要选上 */
Shells -》
Choose your default shell (ash) >
/* (X) ash 选中 ash,这样生成的时候才会生成 bin/sh 文件
* 看看我们前头的 linuxrc 脚本的头一句:
* #!/bin/sh 是由 bin/sh 来解释执行*/
[*] ash
Coreutils >
[*] cp
[*] cat
[*] ls
[*] mkdir
[*] echo (basic SuSv3 version taking no options)
[*] env
[*] mv
[*] pwd
[*] rm
[*] touch
Editors -》 [*] vi
Linux System Utilities -》
[*] mount
[*] umount
[*] Support loopback mounts
[*] Support for the old /etc/mtab file
Networking Utilities -》
[*] inetd
不过有一点要特别注意的 (shell 的配置问题 ) :
另外,按照他的这种方法做出来的文件系统,运行的时候 shell 并不好有,没有历史记录、自动补全、删除字符的功能,下面介绍如何为它添加这些功能:
Shells --->
BourneShellOptions
[*] commandlineediting
[*] vi-style line editing commands
15) history size
[*] historysaving
[*] tabcompletion
[*] usernamecompletion
[ ] Fancy shell prompts
二、 再来说一下配置文件的问题
在文件系统中,配置文件主要存放在 /etc 目录里面。使用 /linuxrc 脚本
然后会执行 /etc/init.d/rcS 命令
至于 rcS 这个目录的编写主要是安排哪些目录挂载哪些次级文件系统
现在已经可以跑什么也没有的系统了
声明:
由于这次作Linux确实是第一次接触,大量查找了网上的资源,目的也就是编一个最为简单的操作系统,于是乎所作步骤所写总结可能会很多copy自其他地方,敬请作者谅解
备注:
Busybox版本:busybox-1.1.3
编译器版本:arm-linux-gcc3.4.5
参考文档:《基于 S3c2410 的 Linux 全线移植文档》
参考网址:应该是luofuchong写的,非常有用,对busybox理解非常有帮助
http://www.cnitblog.com/luofuchong/archive/2007/01/10/21711.aspx