日期:2014-05-16  浏览次数:20614 次

initrd ramdisk 耗时问题
内核中有一个创建initrd的函数: unpack_to_rootfs ,很耗时啊!!
我现在在优化montavista linux的启动时间,觉得这个很难接受.
有没有哪位兄弟做过类似的工作..
CPIO 相比老的image-initrd, 能不能更加省时...

------解决方案--------------------
做这种优化??还是算了吧,基本上是行不通的,要知道这可不是一般人做的事情,人家大牛们要是能这么容易优化的话,干嘛还要做得这么费时呢???
你可以另想方案:
1.比如能不能用另一种方法挂载根文件系统?
2.能不能在感观上给客户一个假象:就是让人家感觉出系统已经完成启动了,实际上系统还在忙呢!!!(从framebuffer入手,把启动的小企鹅图标换成你程序启动后的界面)
------解决方案--------------------
方案2很好,嗯,我们经常做的事情。
------解决方案--------------------
今天学习了一下,这 unpack_to_rootfs()函数没有更好办法优化,应该采用其他的方法

我倒设想直接把这快initrd不压缩直接放到内核里,再到运行得时候可以跳过这个解压的函数直接运行,估计有一定工作量,熟手应该能较快的实现,对于我目前来说是有定些难度。
------解决方案--------------------
initramfs更省时,初始化的时候它比initrd少运行了不少代码