嵌入式 关于在nandflash上运行yaffs2文件系统出现“No init found. Try passing init= option to kernel”

本文主要是介绍嵌入式 关于在nandflash上运行yaffs2文件系统出现“No init found. Try passing init= option to kernel”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

No init found.  Try passing init= option to kernel”这个问题困扰了我两天才解决,在网上也查了很多资料,基本上都答案一样的,当然也可能是造成这个原因的一种,现在把它们小结一下:

1、首先保证在uboot中使用nand write.yaffs x x x,而不是nand write

2、保证内核支持nand驱动以及yaffs2,需要注意的是不需要yaffs2文件系统进行ecc校验交给内核的MTD完成即可!

3、保证文件系统格式正确,根据nand的特性“pagesize”“ecctype”就可以了,一般的OOB都是“64Byte”具体需要看手册“spare area”的Value

4、保证在进行nand write.yaffs 命令中烧写的文件系统的大小必须是真实大小,精确到K,例如:

write_yaffs2:
1.1 com:
(18.2M:0x1246440):
nand erase 0x600000 0x5100000;mw.b 0x82000000 ff 0x1246440;loadb 0x82000000;nand write.yaffs 0x82000000 0x600000 0x1246440;reset (128M,81M,20M)
nand erase 0x600000 0x7D00000;mw.b 0x82000000 ff 0x1246440;loadb 0x82000000;nand write.yaffs 0x82000000 0x600000 0x1246440;reset (256M,125M,20M)

5、yaffs2文件系统制作命令:
root@u12d32:/qy_work/a3518_v080_develop/fs_kernel# ./mkyaffs2image
mkyaffs2image: image building tool for YAFFS2, last update Jun 25 2014 20:40:22. 
Version: Linux-2.6.35-Google Nand Controller V301
Usage:
    mkyaffs2image  dir  image  pagesize  ecctype  [-v].


    dir          the directory tree to be converted
    image        the output file to hold the image
    pagesize     the page size to be converted
                 0 : 512 Bytes pagesize
                 1 : 2K Bytes pagesize
                 2 : 4K Bytes pagesize
                 3 : 8K Bytes pagesize
    ecctype      ECC type
                 0 : no ecc
                 1 : used 1bit ecc
                 2 : used 4byte ecc
                 3 : used 8byte ecc
                 4 : used 24bit/1k ecc
    -v           verbosely list files processed


root@u12d32:/qy_work/a3518_v080_develop/fs_kernel# 

我实际使用的命令为2k、1bit:

这篇关于嵌入式 关于在nandflash上运行yaffs2文件系统出现“No init found. Try passing init= option to kernel”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572831

相关文章

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock