如何将内核和ramdisk做成一个文件启动,需要bootloader支持吗?
今天测试一个mips板子,直接刷一个vmlinuz到flash中就有内核和ramdisk了,这个是怎么实现的?
是不是需要bootloader的支持,这个文件是不是把内核和ramdisk接到一起实现的?
在redboot中可以不可以把zimage和ramdisk做成一个文件?我的ixp425板子需要分别写zimage和ramdisk.gz到flash上才可以启动。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
通常不是, 通常 bootloader 一个分区, 参数一个分区, 内核一个1-2M分区, root或ramdisk 一个分区.
可以不可以在redboot或者u-boot上面实现内核和ramdisk用一个分区,这样烧写flash的时候烧一个文件就可以了?
只有想不到,没有做不到。
举个例子,我们现在这个项目。
两个处理器,一个arm,一个DSP,各有各的代码。
烧写两次比较郁闷,关键升级也比较郁闷。
于是,我们就想到,给dsp烧上最基本的loader代码,然后load之后等待arm传代码过去,然后再开始运行。
而arm运行到主要程序后,第一件事情就是发送代码。
此想法一出, 经过几天的努力,效果很好。
这样升级的时候只要升级arm这边的romfs即可。
人家说的是kernel 和 root, 要烧在一起并不好,肯定需要修改 kernel , 否则很难知道root 在哪开始。
kernel 一个区, root 一个区则很简单,通常只需要更新 root 即可,必要的drivers 都在 kernel 中, 很少需要更新, 应用使用的设备都编成 module, 更新romfs 即可更新driver.
现在没有人会把 程序烧到 dsp 上(不用cpu, dsp 单独运行除外), 这样增加了硬件成本和复杂度,也增加了软件复杂度。都是从 cpu load 代码到dsp, dsp 甚至不需要 loader.
dsp没有loader是不可以的,另外,两个单独烧要稍微简单一点,而只烧一个的做法要复杂一点。
这个肯定要修改kernel倒是真的
好像不一定吧,Ti 的C64xx 可以从PCI 启动, 只要从驱动把dsp程序传上去就可以, 我不太懂dsp.