嵌入式linux如何读文件系统
比方说我现在有kernel和文件系统image都放在flash,
kernel boot起来之后,怎么通知它文件系统在哪儿呢?
PC上直接在grub里制定root=/dev/hdaX就行了
嵌入式系统怎么制定呢?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比方说我现在有kernel和文件系统image都放在flash,
kernel boot起来之后,怎么通知它文件系统在哪儿呢?
PC上直接在grub里制定root=/dev/hdaX就行了
嵌入式系统怎么制定呢?
谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
其起始地址是在boot loader中的一个文件设置的。比方说你用的是s3c2410,而bootloader是vivi,那么是在vivi\arch\s3c2410\smdk.c设定的。所以要将image烧写在其固定的起始地址。
这样不是恨不灵活?
kernel在flash里的地址也要这样写,然后重新编译bootlaoder,而且不一定所有bootloader都支持把?
能不能像硬盘那样直接分区,然后通过bootloader告诉kernel从哪个分区启动?
没有像硬盘那样的直接分区。
其实我觉得pc的分区本质上和嵌入式系统的手动分配地址是一样的。只不过分区更方便一点。
你所谓的“手动分配地址”是指在load kernel或是root filesys的时候指定地址?
我想应该不用在编译时定下来吧
复制代码
这是bootloader的一部分代码。要手动分配地址,要在这里修改。
如果你问内核如何读文件系统,那么抱歉,我对内核一点都不熟悉。
[ 本帖最后由 sep 于 2007-7-12 17:29 编辑 ]
在default_mtd_partitions里指定了offset,我的image就分别烧写在这些地址就行了,是这个意思吧。
不过我的理解是file system应该是由内核调用,而这里是通知bootloader?
还有一个问题是,这里default_mtd_partitions应该是利用了内核的MTD subsystem,相当于是对flash进行分区,而我的bootloader(yamon)似乎不支持MTD,可能这个方法不能套用?
谢谢。
我新来的
继续学习中!!!