基于busybox1.19.3移植yaffs2文件系统至OK6410A开发板

7 篇文章 0 订阅

一、下载busybox

http://busybox.net/downloads/busybox-1.19.3.tar.bz2

 

二、解压busybox源码,修改Makefile

# tar –jxvf busybox-1.19.3.tar.bz2

# cd busybox-1.19.3

# vi Makefile

修改:

CROSS_COMPILE ?= arm-linux-

ARCH ?= arm

 

三、配置busybox

# make menuconfig

(这里可以选择默认选择:makemenuconfigàexitàYes)

 

四、编译、安装busybox

# make

# make CONFIG_PREFIX=/home/test/rootfsinstall

完成后会在/home/test/rootfs 目录下生成bin,linuxrc,sbin,usr。

 

五、构建文件系统

# cd /home/test/rootfs

 

1、建立一些需要的目录(可以为空):

# mkdir root sys dev etc home lib mnt optproc tmp var

 

2、构建etc目录

主要创建etc/inittab,etc/init.d/rcS, etc/fstab

 

1)  创建etc/inittab文件

内容如下:

# /etc/inittab

::sysinit:/etc/init.d/rcS

console::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount-a –r

 

2)  创建etc/init.d/rcS文件

内容如下:

#!/bin/sh

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

runlevel=S

prevlevel=N

umask 022

export PATH runlevelprevlevel

 

#

#    TrapCTRL-C &c only in this shell so we can interrupt subprocesses.

#

/bin/mount -t procnone /proc

/bin/mount -t tmpfsnone /tmp

/bin/mount -t tmpfsnone /var

 

/bin/mkdir -p /var/log

 

/bin/hostname XINSHIJIE

 

最后改变属性:

# chmod +x etc/init.d/rcS

 

3)  创建etc/fstab文件

内容如下:

#devicemount-point     type    options dump    fsck   order

proc    /proc   proc    defaults        0      0

tmpfs   /tmp   tmpfs    defaults        0      0

 

4)  创建etc/profile文件

内容如下:

# Ash profile

# vim: syntax=sh

# No core files bydefault

#ulimit -S -c 0 >/dev/null 2>&1

USER="`id-un`"

LOGNAME=$USER

PS1='[$USER@$HOSTNAME]/# '

PATH=$PATH:/usr/local/bin

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

HOSTNAME=`/bin/hostname`

export USER LOGNAMEPS1 PATH LD_LIBRARY_PATH

 

5)  创建etc/passwd文件

root::0:0:root:/:/bin/sh

ftp::14:50:FTPUser:/var/ftp:

bin:*:1:1:bin:/bin:

daemon:*:2:2:daemon:/sbin:

nobody:*:99:99:Nobody:/:

 

6)  创建group目录

root:*:0:

daemon:*:1:

bin:*:2:

sys:*:3:

adm:*:4:

tty:*:5:

disk:*:6:

lp:*:7:lp

mail:*:8:

news:*:9:

uucp:*:10:

proxy:*:13:

kmem:*:15:

dialout:*:20:

fax:*:21:

voice:*:22:

cdrom:*:24:

floppy:*:25:

tape:*:26:

sudo:*:27:

audio:*:29:

ppp:x:99:

500:x:500:plg

501:x:501:fa

 

3、构建dev目录

使用mdev构建dev目录

1) 在etc/init.d/rcS文件中加入

/bin/mount -a

mkdir -p /dev/pts

/bin/mount -n -tdevpts none /dev/pts

/bin/mount –t sysfssysfs /sys

echo /sbin/mdev >/proc/sys/kernel/hotplug

/sbin/mdev -s

 

 

2) 修改后的etc/fstab文件

#devicemount-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

 

3) 建立必须的设备文件

mdev构造/dev目录之前,init进程至少要用到/dev/console、/dev/null这两个设备文

所以:

  # cd /home/test/rootfs/dev

  # mknod console c 5 1

  # mknod null c 1 3

 

4、构建lib目录

   程序运行时需要用到一些动态库,例如libc.so.6。

   # cp /usr/local/bin/arm-linux-4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*so*lib –a

   如果还需要一些别的库,如libstdc++.so.6,可以用同样的方法。

 

……

 

PS:因为将以上构建的目录和文件进行有压缩后可以通过网络文件系统进行COPY和解压至/dev/mtdblock3得到yaffs2文件系统,所以省去了mkyaffs2image过程。


参考 资料:http://blog.csdn.net/woshixingaaa/article/details/6184885

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值