基于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/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。
~
Busybox Settings —>Build Options —>
选中Build BusyBox as a static binary (no shared libs)静态编译的方式。
选中Build with Large File Support (for accessing files > 2 GB) () Cross Compiler prefix,括号内指定编译器为arm-linux-
2.~Busybox Settings —>Installation Options —>
- ()BusyBox installation prefix,括号内指定安装目录为你的根文件系统目录/yaffs2
3.~Busybox Settings —>Busybox Library Tuning —>
- 选中Fancy shell prompts
- 选中Username completion
没有这两项,开发板启动后,文件系统识别不出HOSTNAME4.~Networking Utilities —>
- 取消选择: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
- 将u-boot下载到tq2440 nor flash,重启开发板
- 格式化NAND(有两个选项,都格式化掉),下载u-boot到nand flash
- 下载内核
- 将开发板开关拨到NAND,从NAND启动,快速按电脑的空格键,启动下载模式。
- 执行一下操作:
5.1setenv serverip 192.168.0.252 // Ubuntu的ip地址
5.2setenv ipaddr 192.168.0.250 // 开发板ip地址
5.3setenv 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制作步骤相关推荐
- 移植根文件系统到linux内核 s3c2440,u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统...
三.根文件系统的制作 我们利用busybox来制作根文件系统 1.在下列网站下载busybox-1.15.0.tar.bz2 在当前目录下解压busybox tar -jxvf busybox-1.1 ...
- linux 文件系统字体小,基于嵌入式Linux平台的最小文件系统的制作
工作平台:FL2440 交叉编译环境:arm-linux-gcc 3.4.1 busybox版本:1.9.1 1) 制作文件系统总目录: mkdir my_rootfs 2) 编译&安装bus ...
- 开发板与linux文件系统,基于topeer 4412开发板 ***面linux文件系统的制作
Exynos-4412不仅可以运行Android,还可以运行简单的linux最小文件系统(不带显示界面的linux系统),下面我们来讲解一下这种文件系统的制作. 制作文件系统我们需要使用到Busybo ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- 基于busybox的Linux小系统制作 (initrd)
我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明. 准备环境: 1.一个Redhat完整系统的虚拟机, ...
- (三)linux之根文件系统的制作
(一)准备工作 Ubuntu 16.04系统 linux-3.5内核:linux-3.5-20190929 交叉编译工具arm-linux-gcc-4.5.1-v6-vfp-20120301.rar ...
- Initramfs文件系统的制作
在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统.linux支持多种文件系统类型,包括ext2,ext3,vfat,jffs, ramfs,nfs等,为了对各类文件系统进行统一 ...
- Ramdisk文件系统的制作与调试运行
开发环境:Fedora 9 交叉编译工具链:arm-linux-gcc 4.3.2 with EABI 嵌入式Linux内核版本:2.6.29.4-FriendlyARM.昨天写贴子的时候具体记不清了 ...
- 嵌入式文件系统镜像制作及烧写
将rootfs和userdata两个目录分别制作为镜像文件进行烧写: 镜像文件对应文件系统类型的选择,采用: rootfs制作为rootfs.img镜像,采用的文件系统类型为cramfs,只读,用于保 ...
最新文章
- laravel 在nginx服务器上除了首页其余都是404的问题
- 在 Docker 里运行 Microsoft SQL 服务器
- zabbix3.2监控
- 乐玩自动化测试模块_自动化测试模型(一)自动化测试模型介绍
- 项目管理(3):备战pmp
- 独家深度 | 一文看懂 ClickHouse vs Elasticsearch:谁更胜一筹?
- 基于生命周期理论的农业科学数据中心化管理模式
- Docker的save和export命令的区别
- 软件测试--04测试用例/测试方法
- openwrt源码下载移植
- GPS测量中所涉及的时间系统
- 计算机基础知识点总结
- windows7 优化:readyboost总结
- Flixel横板游戏制作教程(二)— AddingPlayer
- 网络硬件常识:光模块
- uniapp微信小程序获取用户登录后openid
- python判断手机号运营商_js判断手机号运营商的方法
- 分析云计算应用究竟有哪些类型
- leveldb之arena
- IOS UIView 01-View开始深入 绘制像素到屏幕上