Linux kernel是怎么知道根文件系统的类型和存储介质的?

zennTidy 2017-05-08 01:28:15
比如说,
文件系统类型有:JAFFS2、YAFFS2等...
存储介质有:Nand Flash、Nor Flash(地址总线型)、SPI Nor Flash
我看到注册平台设备的代码如下:

static struct platform_device *mini2440_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_rtc,
&s3c_device_wdt,
&mini2440_device_eth,
&s3c24xx_uda134x,
&s3c_device_nand, //注册nand flash平台设备
};

struct platform_device s3c_device_nand = {
.name = "s3c2410-nand",
.id = -1,
.num_resources = ARRAY_SIZE(s3c_nand_resource),
.resource = s3c_nand_resource,
};

没有看到哪个字段和存储介质有关?Kernel怎么知道该以何种方式去访问文件系统?是以nand方式还是以spi方式...
以及在该存储介质中存储的是何种类型的文件系统?JAFFS2还是YAFFS2...
------------------------------------------
比如说,我想把存储介质从nand flash改到spi flash,并且讲yffs2文件系统改为jffs2,我需要做哪些修改?
谢谢!
...全文
885 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuenbin 2019-08-17
  • 打赏
  • 举报
回复
兄弟别说话留一半啊,你得告诉后来人哪个地方默认文件系统啊
zennTidy 2017-07-07
  • 打赏
  • 举报
回复
引用 1 楼 a895698737 的回复:
根文件系统是有启动参数指定,如 其他分区需要在mount时指定,如 /bin/mount -t jffs2 /dev/mtdblock3 /etc 查看结果: 这里使用的MTD设备,MTD将不同的flash封装成统一的接口 给文件系统调用。 可以从这个MTD入手。
已经解决,但还是感谢,kernel里面有个地方可以设置默认文件系统。
稀烂 2017-06-24
  • 打赏
  • 举报
回复

根文件系统是有启动参数指定,如


其他分区需要在mount时指定,如
/bin/mount -t jffs2 /dev/mtdblock3 /etc
查看结果:


这里使用的MTD设备,MTD将不同的flash封装成统一的接口 给文件系统调用。
可以从这个MTD入手。

本文所述的ARM的指的是CortexA系列以及ARM9,ARM11,跑Linux操作系统。对于CortexM系列并不一定完全适用;   谈到ARM以及启动和烧写等方面,首先我们要明确一下几个关键词:Uboot,Cmdline,启动方式选择,文件系统格式,存储介质,如NAND,EMMC,SD卡等   下面一个一个做相关介绍:   启动方式:   ①一般CPU都可以配置为从多种介质启动,比如SPINorFlash,NAND,EMMC,SD卡,U盘等 ②大致原理是CPU内部ROM有一段固化的启动代码,据CPU配置引脚,判断启动位置,然后从外部介质读取数据启动 ③一般启动介质的前一部分代码的作用必须是:初始化硬件参数,自身拷贝 ④关于自拷贝:因为CPU内部RAM很小,因此只能读取一部分启动介质的数据即Uboot到内部RAM运行,所以Uboot前一部分的工作需要将自身剩余部分拷贝到外部RAM中,然后加载运行   Uboot:   ①主要作用:引导Linux系统(主要是从存储介质的哪个地方读取Kernel,传递什么样的启动参数) ②其他功能:支持很多命令,主要是存储控制和网络命令,最终目的还是引导和升级系统用 ③常用操作:TFTP,NAS,Flash操作,UBI操作,Setenv,boot等 ④一般升级系统流程:使用tftp方式从主机下载kernel文件系统等文件,然后使用flash等命令烧写到存储介质如NAND,最后设定启动参数,然后引导系统启动; ⑤一般调试流程,介绍2种: -使用NAS从主机直接加载文件系统,直接在线调试,快捷方便 -设定从SD卡启动,从SD卡加载kernel文件系统调试

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧