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/shrm -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 -rfcd /yaffs2/etctouch 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>&1USER="`id -un`"
LOGNAME=$USER
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
PATH=$PATHHOSTNAME=`/bin/hostname`export USER LOGNAME PS1 PATH

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

#!/bin/shPATH=/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/HOSTNAMEsource /etc/profileecho
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…

基于S3C2440之TQ2440文件系统yaff2制作步骤相关推荐

  1. 移植根文件系统到linux内核 s3c2440,u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统...

    三.根文件系统的制作 我们利用busybox来制作根文件系统 1.在下列网站下载busybox-1.15.0.tar.bz2 在当前目录下解压busybox tar -jxvf busybox-1.1 ...

  2. linux 文件系统字体小,基于嵌入式Linux平台的最小文件系统的制作

    工作平台:FL2440 交叉编译环境:arm-linux-gcc 3.4.1 busybox版本:1.9.1 1) 制作文件系统总目录: mkdir my_rootfs 2) 编译&安装bus ...

  3. 开发板与linux文件系统,基于topeer 4412开发板 ***面linux文件系统的制作

    Exynos-4412不仅可以运行Android,还可以运行简单的linux最小文件系统(不带显示界面的linux系统),下面我们来讲解一下这种文件系统的制作. 制作文件系统我们需要使用到Busybo ...

  4. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  5. 基于busybox的Linux小系统制作 (initrd)

    我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明. 准备环境: 1.一个Redhat完整系统的虚拟机, ...

  6. (三)linux之根文件系统的制作

    (一)准备工作 Ubuntu 16.04系统 linux-3.5内核:linux-3.5-20190929 交叉编译工具arm-linux-gcc-4.5.1-v6-vfp-20120301.rar ...

  7. Initramfs文件系统的制作

    在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统.linux支持多种文件系统类型,包括ext2,ext3,vfat,jffs, ramfs,nfs等,为了对各类文件系统进行统一 ...

  8. Ramdisk文件系统的制作与调试运行

    开发环境:Fedora 9 交叉编译工具链:arm-linux-gcc 4.3.2 with EABI 嵌入式Linux内核版本:2.6.29.4-FriendlyARM.昨天写贴子的时候具体记不清了 ...

  9. 嵌入式文件系统镜像制作及烧写

    将rootfs和userdata两个目录分别制作为镜像文件进行烧写: 镜像文件对应文件系统类型的选择,采用: rootfs制作为rootfs.img镜像,采用的文件系统类型为cramfs,只读,用于保 ...

最新文章

  1. laravel 在nginx服务器上除了首页其余都是404的问题
  2. 在 Docker 里运行 Microsoft SQL 服务器
  3. zabbix3.2监控
  4. 乐玩自动化测试模块_自动化测试模型(一)自动化测试模型介绍
  5. 项目管理(3):备战pmp
  6. 独家深度 | 一文看懂 ClickHouse vs Elasticsearch:谁更胜一筹?
  7. 基于生命周期理论的农业科学数据中心化管理模式
  8. Docker的save和export命令的区别
  9. 软件测试--04测试用例/测试方法
  10. openwrt源码下载移植
  11. GPS测量中所涉及的时间系统
  12. 计算机基础知识点总结
  13. windows7 优化:readyboost总结
  14. Flixel横板游戏制作教程(二)— AddingPlayer
  15. 网络硬件常识:光模块
  16. uniapp微信小程序获取用户登录后openid
  17. python判断手机号运营商_js判断手机号运营商的方法
  18. 分析云计算应用究竟有哪些类型
  19. leveldb之arena
  20. IOS UIView 01-View开始深入 绘制像素到屏幕上

热门文章

  1. server包+SakuraFrp实现我的世界开服
  2. 利用setuptools发布Python程序到PyPI,为Python添砖加瓦
  3. 《计算机组成原理》期末复习资料汇总
  4. 【MongoDB】BSON类型
  5. 铜和不锈钢的焊接方法
  6. 对es搜索使用fork/join优化搜索
  7. 《操作系统》逻辑地址如何转换为物理地址
  8. java 中的数据元素的定义_Java数据结构和算法的基础概念
  9. 已经摆在面前了,该不该上
  10. 俄语中的减肥词汇有哪些?