基于S3C2440之TQ2440文件系统yaff2制作步骤

TQ2440 yaff2文件系统制作


#####【环境】
开发板:tq2440 2M-NOR 256-NAND W43
虚拟机:ubuntu14.04 LTS
编译器版本:arm-linux-gcc-4.3.2
busybox版本:busybox-1.13.0
注:busybox、arm-linux-gcc,均使用的天嵌光盘里的。

####1、创建yaffs2文件系统基本结构

         ~~~~~~~~         复制以下内容,在ubuntu根目录下创建名为creat_yaffs2.sh脚本文件。会生成目录/yaffs2

#!/bin/sh

rm -rf /yaffs2
echo “——Create yaffs2 directons start…——–” 
mkdir yaffs2 
cd yaffs2 
echo “——–Create root,dev….———-” 
mkdir root dev etc boot tmp var sys proc lib mnt home usr opt
mkdir etc/init.d etc/rc.d etc/sysconfig 
mkdir usr/sbin usr/bin usr/lib usr/modules usr/local
echo “make node in dev/console dev/null” 
mknod -m 600 dev/console c 5 1 
mknod -m 600 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———”
cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*  /yaffs2/lib -rf


cd /yaffs2/etc

touch fstab inittab mdev.conf profile sysconfig/HOSTNAME init.d/rcS
chmod 744 init.d/rcS
echo "root@tq2440" > sysconfig/HOSTNAME


结果如图:
这里写图片描述


2、配置编译busybox

######执行命令make menuconfig配置busybox。
  ~  

  1. Busybox Settings —>Build Options —>

  2. 选中Build BusyBox as a static binary (no shared libs)静态编译的方式。

  3. 选中Build with Large File Support (for accessing files > 2 GB) () Cross Compiler prefix,括号内指定编译器为arm-linux-

2.   ~  Busybox Settings —>Installation Options —>

  1. ()BusyBox installation prefix,括号内指定安装目录为你的根文件系统目录/yaffs2

3.   ~  Busybox Settings —>Busybox Library Tuning —>

  1. 选中Fancy shell prompts
  2. 选中Username completion
    没有这两项,开发板启动后,文件系统识别不出HOSTNAME

4.   ~  Networking Utilities —>

  1. 取消选择:ip tunnel

5.   ~  保存退出
         ~~~~~~~~         执行命令 make
         ~~~~~~~~         执行命令 make install


3、填充文件系统文件内容

进入到创建的文件系统的etc目录下:

1. 填充文件【fstab】如下内容:

#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
var			/dev		tmpfs	defaults		0	0
ramfs		/dev		ramfs	defaults		0	0

2. 填充文件【initttab】如下内容:

# /etc/inittab
::sysinit:/etc/init.d/rcS
# 进入文件系统需要点一下回车
#tq2440_serial0::askfirst:-/bin/sh
# 直接进入根文件系统
::respawn:-/bin/sh
::once:/usr/sbin/telnetd -l /bin/login
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

3. 填充文件【mdev.conf】如下内容:

sd[a-z]*[0-9]		0:0	0660	@(mount -t vfat -o iocharset=cp936 /dev/$MDEV /mnt/udisk)
sd[a-z]*[0-9]		0:0	0660	*(umount /mnt/udisk)
mmcblk[0-9]*p[0-9]	0:0	0660	@(mount -t vfat -o iocharset=cp936 /dev/$MDEV /mnt/sd)
mmcblk[0-9]*p[0-9]	0:0	0660	*(umount /mnt/sd)

4. 填充文件【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="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
PATH=$PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH



5. 填充文件【init.d/rcS】如下内容:

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

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

mount -a
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

/bin/hostname -F /etc/sysconfig/HOSTNAME

source /etc/profile



echo 
echo 
echo "********************<< TQ2440 ARM9 >>********************"
echo "              Kernel version:linux-2.6.30"
echo "              Author: KunGe"
echo "              Data: 2017/03/23"
echo "*********************************************************"
echo
echo


到此,yaffs2根文件系统制作完毕!


4、使用NFS将开发板挂在到ubuntu
  1. 将u-boot下载到tq2440 nor flash,重启开发板
  2. 格式化NAND(有两个选项,都格式化掉),下载u-boot到nand flash
    这里写图片描述
  3. 下载内核
  4. 将开发板开关拨到NAND,从NAND启动,快速按电脑的空格键,启动下载模式。
  5. 执行一下操作:
    5.1 setenv serverip 192.168.0.252 // Ubuntu的ip地址
    5.2 setenv ipaddr 192.168.0.250 // 开发板ip地址
    5.3 setenv gatewayip 192.168.0.1 // 设置网关
    5.5
    setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.251:/yaffs2 ip=192.168.0.250:192.168.0.252:192.168.0.250:255.255.255.0:SKY2440.embedsky.net:eth0:off
    5.6 save,多save几次。
    5.7 reset重启开发板
    这里写图片描述

5、结果

这里写图片描述

挂载成功~!


end…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觉皇嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值