制作根文件系统(一)

一、制作目录

       创建一个文件夹名为root_2.6.31

       创建子目录/bin、/etc、/dev、/home、/lib、/mnt、/opt、/proc、/root、/sbin、/sys、/tmp、/usr、/var

二、编译busybox

       解压BusyBox,修改Makefile 制定编译器和芯片arm

       修改第164行   CROSS_COMPILE = arm-linux-

       修改第190行   ARCH = arm

       配置BusyBox

Busybox Setting --->
Build Options --->
[*]Build Busybox as a static binary(no shared libs)
[*]Build with Large File Support (for accessing files > 2GB)
Installation Options --->
(./_install) Busybox installation prefix <—进入这个选项,输入busybox生成文件路径,
如:../rootfs
Busybox Library Tuning --->
[*] vi-style line editing commands
[*] Fancy shell prompts

        编译,输入make  然后 make install,将生成的文件全部放到root_2.6.31目录中·

三、制作文件系统

        在dev目录下创建设备节点

#mknod console c 5 1
#mknod null c 1 3

        进入etc目录,将Busybox-1.15.2/examples/bootfloopy/etc/目录下所有文件拷贝过来;拷贝/etc/passwd、/etc/group、/etc/shadow到当前目录下,把passwd文件中的第一行:root:x:0:0:root:/root:/bin/bash中的/bin/bash,改成/bin/ash

         修改inittab文件:
        内容如下:
console::sysinit:/etc/init.d/rcS
ttyS0::respawn:-/bin/sh
s3c2410_serial0::askfirst:-/bin/sh
::once:/usr/sbin/telnetd -l /bin/login
::ctrlaltdel:/bin/umount -a -r

        修改fstab文件,内容如下:
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
var /dev tmpfs defaults 0 0

        修改init.d/rcS文件,内容如下:
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
runlevel=S
prevlevel=N
umask 022
6
export PATH runlevel prevlevel
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
mkdir -p /var/lock
/bin/hostname -F /etc/sysconfig/HOSTNAME

        修改profile文件,内容如下:
# Ash profile
# vim: syntax=sh
# No core files by default
#ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
echo "Processing /etc/profile... "
echo "Done"
export USER LOGNAME PS1 PATH

        在etc目录下新建HOSTNAME文件夹 在里面添加文件 内容为TX2440A

        拷贝交叉编译器的库文件到lib目录下

#cp -f -a /opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib/*.so* ./

        安装mkyaffs2image工具,制作yaffs2镜像,解压mkyaffs2image.tar.gz,将解压出  来的可执行文件复制到/usr/bin目录下。

生成yaffs2文件系统镜像:

mkyaffs2image root_2.6.31 root_2.6.31.bin

特别要注意文件的权限问题 在制作镜像前,一定要把etc目录下所有文件权限设好,否则编译可能没问题 但是安装到arm板上会无法正常载入文件系统



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值