根文件系统制作

1. 创建根文件系统的基本目录结构。

关于这个目录环境的建立,我们可以直接把这个过程做成shell脚本(文件名为mkroot.sh) ,很方便!

1): mkroot.sh

#!/bin/sh
echo "------Create rootfs directons start...--------"
mkdir rootfs
cd rootfs
echo "--------Create root,dev....----------"
mkdir bin boot dev etc home lib mnt proc root sbin sys tmp usr var  www
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/sbin usr/bin usr/lib usr/modules
echo "make node in dev/console dev/null"
mknod -m 666 dev/console c 5 1
mknod -m 666 dev/null c 1 3
mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/run var/tmp
chmod 1777 tmp
chmod 1777 var/tmp
echo "-------make direction done---------"

2): 在你想要建立根文件系统的地方,运行

sudo ./mkroot.sh

将在该路径下生成根文件目录


2. 配置、编译和安装Busybox

1): 下载busybox

下载地址:http://www.busybox.net/downloads/

修改Makefile:

CROSS_COMPILE = arm-linux-

2): 配置busybox

make menuconfig

1)、进入"Busybox Settings"-->"Build Options ",选中“Build Busybox as a static binary”(直接按键盘空格键到“*”)。注意:这里是静态链接。

2)、在同页面,选择“ Cross Compiler prefix”,按键盘Enter键进入,然后输入:“arm-linux-” 。

3)、进入"Busybox Settings"-->"Installation Options"-->“ BusyBox installation prefix ”添加安装路径:指向上面所建立的根文件目录。

3): 编译和安装busybox

make ARCH=arm CROSS_COMPILE=arm-linux- -j4

make install


3.  修改和创建必要的文件

cp -a busybox/examples/bootfloppy/etc/* (上面所建立的根文件目录)/etc/

cd (上面所建立的根文件目录)/etc/


1): 增加为SHELL导入全局变量的文件etc/profile
#vi profile

# /etc/profile: system-wide .profile file for the Bourne shells

echo

echo "Processing /etc/profile... "

# no-op

# Set search library path

echo "Set search library path in /etc/profile"

export LD_LIBRARY_PATH=/lib:/usr/lib

# Set user path

echo "Set user path in /etc/profile"

PATH=/bin:/sbin:/usr/bin:/usr/sbin

export PATH

# Set PS1

#注意:ash 除了SHELL变量外,支持\u、\h、\W、\$、\!、\n、\w 、\nnn(ASCII字符对应的八进制数)

#以及\e[xx;xxm (彩色特效)等等!

#而且前面还要多加一个 '\'!

echo "Set PS1 in /etc/profile"

export PS1="\\e[05;32m[$USER@\\w\\a]\\$\\e[00;34m"

echo "Done"

echo


2): 增加初始化文件
#vi inittab
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
tty2::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

#vi fstab

proc /proc proc defaults 0 0

none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0


3): 增加初始化脚本
#vi init.d/rcS
#! /bin/sh
echo "----------mount all"
/bin/mount -a
echo "----------Starting mdev......"
/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

echo "*********************************************************"

echo "            thank you Tekkaman       "
echo " gec2410 Rootfs(nfs)   2009.4 yoso.Jeff "
echo "********************************************************"


4): 为mdev创建配置文件

# touch mdev.conf

创建一个mdev.conf文件,内容可有可无。 


4. 复制主机/etc/下面的文件passwd, group, shadow文件到/etc

# cp /etc/group .
# cp /etc/passwd .
# cp /etc/shadow .
一般上边的文件有很多内容,且基本是不需要的,而我们需要的仅是root账号的
#vi passwd
root:x:0:0:root:/root:/bin/sh
#vi group
root:x:0:root
#vi shadow
root:$1$N8K8eEQe$.XkJo3xcsjOE6vo1jW9Nk/:13923:0:99999:7:::
那么现在 root的登陆密码和Host的登陆口令一致了,可以登录后再修改以及创建新用户。( 若使用以上文件,则root密码为tekkaman)

好了,大功告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值