- 内核版本:linux-2.6.37.2
- 软件平台:ubuntu 10.10
- 硬件平台:mini2440
准备工作:busybox源码包
建立交叉编译环境,解压源码包进入目录,修改
makefile
文件如下1
2ARCH ?= arm
CROSS_COMPILE ?= arm-linux-在命令行输入
make menuconfig
,不作修改直接保存配置退出,然后make
,最后输入make install
,就会在在目录里出现install
这个文件夹。进入
install
这个根文件夹,创建以下文件 创建/etc/inittab
以下是文件内容:1
2
3
4
5
6::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh //s3c2410_serial是mini2440的串口名。
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a创建
/etc/init.d/rcS
并加上运行权限,以下是文件内容:1
2
3
4
5
6
7#!/bin/sh
ifconfig eth0 192.168.1.12
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s创建
/dev/fstab
以下是文件内容:1
2
3
4
5# device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0在
/dev
下用mknod
创建以下节点1
2
3
4
5
6
7mknod console c 5 1
mknod null c 1 3
mknod ttySAC0 c 204 64
mknod mtdblock0 b 31 0
mknod mtdblock1 b 31 1
mknod mtdblock2 b 31 2
mknod mtdblock3 b 31 3注意:我的mini2440在
common-smdk.c
上是有4个区,所以对应mtdblock
也有4个。
在根文件系统中创建其他空目录如下:mkdir proc mnt tmp sys root
用
mkyaffs2image
把文件夹封装,这里要注意的是nand flash为64M的mini2440板用mkyaffs2image
命令就可以了,128M或以上的要用mkyaffs2image-128M
来封装,不然会出错。
这就是最简单的根文件系统,虽然配置起来不难,但是后面在根文件系统中设置环境变量才是重点。