嵌入式 关于在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

相关文章

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

Linux中的缓冲区和文件系统详解

《Linux中的缓冲区和文件系统详解》:本文主要介绍Linux中的缓冲区和文件系统方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、FILE结构1、fd2、缓冲区二、文件系统1、固态硬盘2、逻辑地址LBA(一)数据块 Data blocks(二)inode表

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://