mkyaffs移植

yaff2util的解析1--mkyaffs2工具 下载源码 目前在网络上还是以google提供的为主,其他的看上去好像不维护的样子,当然如果有读者看到的话,请帮忙提供一下。比这目前参考的是gitee上同步下来的code.google.com/p/yaffs2utils。目前笔者的VPN到期,只能拿别人的代码来分析了。当然放心,分析完,我也将源码附上。 编译 编译还是超级简单的。直接在项目根目录下make all即可。 [外链图片转存失败,源站可能... 阅读详情

1. 下载mkyaffs源码:

http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs.tar.gz?view=tar
2. 解压缩,进入 yaffs/utils, 修改Makefile:

(1) MAKETOOLS = arm-linux-

(2) CFLAGS = 增加“-I /your-kernel-include-dir” 指向你的平台的内核目录,例如/src/preview-kit/linux-2.6.28/include

(3) 这时make, 可能会报错,“'mtd_info_t' has no member named 'oobblock'”,原因是我的系统不支持oobblock,解决的办法可以直接将报错的代码注释掉。

(4) 还可能的一个报错是“mtd-abi.h:16: error: expected ':', ',', ';', '}' or '__attribute__' before '*' token,原因是mtd-abi.h中有一个“__user”没有定义,而他的定义在 <linux/compiler.h>中,因此在mtd-abi.h中加入这个同文件即可

(5) 现在应该成功的编译出mkyaffs

 

3.运行mkyaffs

(1)如果运行“./mkyaffs /dev/mtdblock5”, 会报错“MEMGETINFO: Inappropriate ioctl for device”,原因是mtd block device 不支持这个ioctrl,只有mtd char device才支持,参见drivers/mtd/mtdchar.c, drivers/mtd/mtdblock.c

(2) 因此正确的用法是“./mkyaffs /dev/mtd5”, 则是它有报“MEMSETOOBSEL: Inappropriate ioctl for device”,同样是因为系统不支持,注释掉

(3)重新编译,运行,成功!输出信息:

argc 2 sh 0 optcnt 1
Erasing and programming NAND
Erasing block at 0x080
Erasing block at 0x0820000
Erasing block at 0x0840000
Erasing block at 0x0860000
Erasing block at 0x0880000
Erasing block at 0x08a0000
Erasing block at 0x08c0000
Erasing block at 0x08e0000
.....

OK

(4) mkdir /mount_yaffs

(5) mount -t yaffs /dev/mtdblock5 /mount_yaffs

 

 

原文出处(http://blog.sina.com.cn/wyw1976),邮箱(wyw1976@gmail.com)

YAFFS2移植到NAND Flash的完整实践与避坑指南 NAND Flash凭借大容量、低成本成为嵌入式存储主力,但其页/块结构、坏块与位翻转特性,让ext2等传统文件系统在掉电时频繁出现数据损坏。日志结构文件系统YAFFS2专为NAND设计,通过顺序写入、坏块管理和掉电安全机制,解决了普通文件系统在嵌入式环境下的可靠性痛点。本文从实际项目出发,详解YAFFS2在Linux内核中的移植流程,涵盖MTD分区规划、内核配置、ECC策略统一、mkyaffs2image映像制作及启动验证,并总结掉电测试、GC调优与长期运行经验,为嵌入式根文件系统选型提供可落地的工程参考 阅读详情

相关推荐

YAFFS2源码

本源码为2012-12下载的最新版(www.aleph1.co.uk/yaffs2),支持2.6.x.内核。 We'll start by assuming you have a building linux 2.6.x source tree called linux-dir and have the yaffs2 source code in a directory calls yaffs-dir. 详见readme

mkyaffs2image工具制作及龙芯板卡使用yaffs2系统

mkyaffs2image工具制作及龙芯板卡使用yaffs2系统 mkyaffs2image工具制作龙芯板卡使用yaffs2文集系统 mkyaffs2image工具制作 制作yaffs2文件系统时会用到mkyaffs2image工具,系统下默认没有这个工具,需要找到源码制作,源码如下: https://pan.baidu.com/s/1zmELDviR3SrY6vVioPBgIA 提取码: tx...

大猫的博客 3570

yaffs 源代码及工具

yaffs 源代码 及yaffs image制作工具

文件系统以及mkyaffsimage工具的制作

文件系统以及mkyaffsimage工具的制作 (2010-09-06 10:25:29)     申明:本作品经过在下长时间收集网上资料和自己动手实践所写下的笔记,供大家探讨学习,如有错误望不吝指明... 一.相关知识介绍 (1) 为什么我们要用busybox?    我们利用busybox主要是生成文件系统的4个主要文件:bin sbin usr

tpfgfxz的专栏 973

mkyaffs2image(yaffs2制作工具)

mkyaffs2image(yaffs2制作工具)

mkyaffs2image源码

yaffs2文件系统制作工具,yaffs2文件系统制作工具yaffs2文件系统制作工具

arm-linux-gcc4.4.3编译busybox-1.25.1

系统环境: 1、操作系统:Ubuntu12.04 2、交叉编译工具链:arm-linux-gcc4.4.3 3、busybox源码包:busybox-1.25.1   一、修改Makefile配置 首先解压源码包: tar -jxvf busybox-1.25.1.tar.bz2 进入busybox-1.25.0目录,修改Makefile文件如下: ARCH ?= arm CR

lbaihao的专栏 4013

mkyaffstoimage

mkyaffs2image映像文件制作

修改制作yaffs映象文件的工具

三.         修改制作yaffs映象文件的工具 在 yaffs 源码中有个 utils 目录,里面是工具 mkyaffsimage 和 mkyaffs2image的源代码,前者用来制作 yaffs1 映象文件,后者用来制作 yaffs2 映象文件。目前 mkyaffsimage 工具只能生成老格式的yaffs1 映象文件,需要修改才能支持新格式。 (1)下载的yaffs2解压出

CrazyDevil 846

Anolis龙蜥内核升级实战:从查询到配置的全流程指南

本文提供了一份详尽的Anolis龙蜥操作系统内核升级实战指南。文章从升级的必要性出发,逐步讲解了升级前的系统检查与备份、从官方源获取正确内核包、分步安装与验证、配置默认启动项以及升级后的功能验证与安全回滚方案。旨在帮助运维人员安全、平稳地完成内核升级,以获取性能提升、新硬件支持及重要的安全漏洞修复。

qq_27496129的博客 571

变焦跟踪理论基础(如何在变焦过程中保持清晰)

如何在整个变焦过程中一直保持图像的清晰度或焦点是变焦跟踪的主要挑战。 当用户在缩放跟踪的情况下改变缩放时,设备保持对焦。 然而,在没有变焦跟踪的情况下,图像变得失焦,图像在变焦跟踪后由于自动对焦(AF)算法才最终对焦。...................................................

ChenYX的博客 20万+

嵌入式Linux NAND Flash上yaffs2根文件系统移植实战与避坑指南

NAND Flash具有page读写、block擦除、坏块和位翻转等物理特性,传统文件系统难以适配,而yaffs2作为专为NAND设计的日志型文件系统,通过顺序写入、坏块管理和OOB区利用,显著提升了数据可靠性与寿命。在嵌入式Linux开发中,将rootfs固化到NAND并启用yaffs2,是产品化落地的关键一环。本文从文件系统原理出发,围绕内核配置、MTD分区、mkyaffs2image镜像生成、uboot启动参数等环节,结合真实的踩坑经历(如ECC布局、坏块标记、mtdblockN对应关系),系统性讲解

weixin_34111790的博客 350

Excel数据透视表实战:分组折线图制作与动态分析指南

数据可视化是数据分析的关键环节,其核心原理在于将抽象数据转化为直观图形,以揭示趋势、对比差异。在众多图表类型中,折线图因其能清晰展示连续数据随时间或其他序列的变化趋势,而成为趋势分析的利器。其技术价值在于通过视觉编码,将多维数据关系降维呈现,从而辅助决策。在业务分析、运营监控等应用场景中,常需对比不同分组(如产品线、销售区域)在同一时间序列上的表现,这正是分组折线图要解决的核心问题。本文聚焦于利用Excel数据透视表这一强大工具,高效构建动态分组折线图,并深入探讨数据透视表在数据重塑和图表自动化中的实战应用

weixin_29057237的博客 379

RK3308移植YAFFS2文件系统详细步骤

最近由于项目原因,要在RK3308的平台上移植一个nand flash的文件系统,有UBI和yaffs备选,由于nand flash容量的问题,最后选择了yaffs(容量低的建议选择yaffs,容量高的选择UBI)。最后哪个分区要用yaffs的话需要在build.sh脚本中加mkyaffs2image打包命令,就可以把对应分区打包成yaffs文件系统。这样就在kernel中打开了yaffs文件系统。即把rootfs目录打包成rootfs.img,然后再把这个rootfs烧录到终端里面去,就可以啦。

qq_36801474的博客 621

那些年对支付宝的研究[整理]

支付宝功能强大.他内部各个功能间的跳转是通过Uri 实现的.而使用window.location.href 即可.跟浏览器一样的协议.很方便 H5启动支付宝: alipays://platformapi/startapp?appId=20000067&url=网址 alipays://platformapi/startapp?appId=20000691&url=网址 ali...

技术专研 8914

UE5热更新(通过Pak包加载关卡资源,并添加到流关卡)

请先阅读我上一篇文章)**

xialuhui的博客 6455

制作yaffs2文件系统并移植到ok6410开发板上

首先用busybox制作根文件系统,参考我之前的博客:http://blog.youkuaiyun.com/start530/article/details/8018170     yaffs2源码下载:http://download.youkuaiyun.com/detail/chenxh/4186203   1.解压: tar -jxvf yaffs_source_util_larger_small_pag

天涯海阁 3738

Monorepo与pnpm:前端项目管理的完美搭档

pnpm又称 performant npm,翻译过来就是高性能的npm。Monorepo是一种项目开发与管理的策略模式,它代表"单一代码仓库"(Monolithic Repository)。在Monorepo模式中,所有相关的项目和组件都被存储在一个统一的代码仓库中,而不是分散在多个独立的代码仓库中,这些项目之间还可能会有依赖关系。

m0_68271787的博客 2561

linux移植操作系统,Linux操作系统移植.doc

Linux操作系统移植需要有六个步骤:准备阶段(包括制作交叉工具链以及解压源代码),制作内核镜像,制作bootloader,制作文件系统(包括使用busybox),下载到开发板。下边将对五个步骤进行分别解释。准备工作一:设置工作目录# mkdir /mywork =========将需要用到的各种包分类放在这个目录之下# cd /mywork# mkdir crosscompile...

weixin_39655160的博客 163

在jetson上对fastdeploy进行源码编译(完整版)

在大多数Linux发行版中,你可以使用包管理器安装Python开发包。根据jetpack的版本选择对应的推理库版本。在~/.bashrc中写入这三行。

如果想成为中心,那么就到中心去吧。 677

Matlab在线性代数中的应用(一):向量组的线性相关性

求列向量组A的一个最大线性无关组可用命令rref(A)将A化成行最简形,其中单位向量对应的列向量即为最大线性无关组所含向量,其它列向量的坐标即为其对应向量用最大线性无关组线性表示的系数。 01 — 例1 求下列矩阵列向量组的一个最大无关组。 解:编写脚本文件如下: >>format rat a=[1,-2,-1,0,2;-2,4,2,6,-6;2,-1,0,2,3;3,3,3,3,4]; b=rref(a) 求得: b...

wenyusuran的专栏 3235

从/dev目录到YAFFS镜像:BusyBox根文件系统构建全流程拆解

本文详细拆解了基于BusyBox构建嵌入式Linux根文件系统的全流程,重点涵盖交叉编译工具链配置、glibc库移植、mdev设备管理及YAFFS2镜像制作。以S3C2440开发板为例,提供了从源码编译、目录结构创建到系统启动配置的实战指南,并针对常见启动问题给出了排查思路,是嵌入式开发者的实用参考。

weixin_29189373的博客 250

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

烧写Ubuntu文件系统遇到的问题

1、mkyaffs2image运行提示找不到文件或目录原因:具体原因没有深究,可能是官网给的程序是32位,而我的Ubuntu是64位导致的。解决方案:下载yaff2源码,进入源码目录下的util目录进行make生成mkyaff2image程序。注意与mkyaffimage程序进行区分。yaff2源码下载地址:https://storage.googleapis.com/google-code-ar...

sky65022611的专栏 1283

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

NAND Flash根文件系统移植实践:基于yaffs2的完整解析

NAND Flash以其页读写、块擦除的物理特性,在嵌入式系统中广泛应用,但坏块与位翻转问题令普通块文件系统难以可靠运行。为此,Flash专用文件系统成为关键,其中yaffs2凭借日志结构设计、内建坏块管理及快速挂载能力,在固定NAND分区场景下展现出成熟稳定的优势。本文从文件系统选型逻辑出发,对比JFFS2与UBIFS的适用边界,进而梳理yaffs2内核接入、MTD分区对齐、BusyBox根文件系统构建及mkyaffs2image镜像生成的关键步骤,并结合启动阶段常见的挂载失败、ECC冲突、烧写对齐等问题

cuiji1279的博客 251

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Failed to execute /linuxrc. Attempting defaults... 解决方案

今天想移植个根文件系统,使用的板子是友善之臂的S3C2440,这个很多书上都有介绍。难度倒也不是很大,按照手册一步步的来。 移植完之后,烧写到flash里面,发现不能运行。怎么回事?检查了一遍,发现和教材上一样,难道教材有问题?在网上找了移植到mini2440上的案例,发现应该也没大问题。 后来,反复几次后,仔细看了下提示的错误:Failed to execute /linuxrc. Atte

铸剑娃的专栏 8574
上一篇: yaffs文件系统
下一篇: 中断字符驱动程序
小驹德尔驾
博客等级 码龄17年 16粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值