加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

TI文件系统制作,和在线烧写与更新

发布时间:2020-12-15 06:58:42 所属栏目:百科 来源:网络整理
导读:1 搭建nfs 随便在PC上安装一个linux系统,我用的Fecora core 8,setup 配置系统服务,让nfs自动运行,vi /etc/exports 添加一行/home/davinci/nfs/tirootfs *(rw,sync,no_root_squash)????????????????????? //这行根据你的实际路径设置 然后执行exportfs -av

1 搭建nfs

随便在PC上安装一个linux系统,我用的Fecora core 8,setup 配置系统服务,让nfs自动运行,vi /etc/exports

添加一行/home/davinci/nfs/tirootfs *(rw,sync,no_root_squash)????????????????????? //这行根据你的实际路径设置

然后执行exportfs -av????????????????????????????????????????????? 这个参数很有意思:)

?

2获取一些mtd信息(使用的nfs系统)

cat /proc/mtd

dev:??? size?? erasesize? name
mtd0: 00080000 00020000 "bootloader"
mtd1: 00480000 00020000 "kernel"
mtd2: 06a00000 00020000 "rootfs"
mtd3: 01000000 00020000 "data"

可以看到这块flash的mtd2是用来放文件系统的

mtd_debug info /dev/mtd2

mtd.type = MTD_NANDFLASH
mtd.flags = MTD_CAP_NANDFLASH
mtd.size = 111149056 (106M)
mtd.erasesize = 131072 (128K)
mtd.writesize = 2048 (2K)
mtd.oobsize = 64
regions = 0

可以看到erasesize为128KiB,也就是0x20000,后来要用到这数据。

writesize为2K,后面也要用到这数据

?

3 在PC上制作文件系统

进到/home/davinci/dm6446/softtool,根据你具体的路径进到这目录,ll命令查看下

-rwxrwxrwx 1 zjt zjt? 38499 2010-08-31 10:10 mkfs.jffs2
-rwxr--r-- 1 zjt zjt 116991 2010-08-26 17:37 mksquashfs
-rwxr--r-- 1 zjt zjt? 15662 2009-07-18 15:33 mkyaffs2image-128M
drwxr-xr-x 2 zjt zjt?? 4096 2010-11-02 06:19 ty-dm6446-1000-bin
38KB的mkfs.jffs2,很精悍!

执行命令./mkfs.jffs2 -r /home/davinci/nfs/tirootfs/ -o jfs.img -n -e 0x20000

或者./mkfs.jffs2 -n -e 0x20000 -s 2048 -p 2048 -d /home/davinci/nfs/tirootfs/ -o jfs2.img? 这个是带指定pad和pagesize的参数,

?

这里的-r是要制作的文件系统目录,-o是输出的映象文件,-e是擦除大小,注意参数要和mtd信息一致,否则启动文件系统会有这样那样的错。

?

4上电启动板子

print看一下原来的参数,一般的参数都很容易理解,如filename,filesize,serverip之类的,有一个比较长的,控制启动是nfs还是本地:

nfs使用:

setenv bootargs mem=118M console=ttyS0,115200n8 noinitrd ip=192.168.16.2:192.168.16.107:192.168.16.254:255.255.255.0 root=/dev/nfs rw nfsroot=192.168.16.107:/home/davinci/nfs/tirootfs,nolock

ip后面是本机ip:nfs服务器ip:网关ip:掩码

本地使用

setenv bootargs mem=118M console=ttyS0,115200n8 noinitrd ip=192.168.16.2:192.168.16.107:192.168.16.254:255.255.255.0? root=/dev/mtdblock2 rootfstype=jffs2 rw

ip后面是本机ip:nfs服务器ip:网关ip:掩码,虽然我们不需要nfs了,但写完整这个东西,会让启动时ifconfig顺利完成。

?

5?nfs方式进入系统

./nandwrite -p /dev/mtd2? /opt/rootfs.jffs2

?

6 重启,修改启动参数到本地方式,再重启。

以上过程可以实现文件系统制作和在线烧写。

注意:这里的“在线烧写”指的是不用进入到uboot下,因此可以通过编程,实现文件系统制作与烧写的自动化,而不需要手工输命令,使用C库的system函数即可。

还有一种方式非在线方式是在uboot里实现kernel和fs的烧写,一般用户指南里都有,本文不再赘述,关于mtd-utils更详细的功能,可以看上一篇文章。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读