精通init ramfs构建step by step (十二)
v/.static/dev/下
------------------------f) mount -n -o move /dev /root/dev 把tmpfs类型的udev移到真实的文件系统的/dev下,(注意前面一开始就在/dev上mount了udev), 这时真实文件系统的/dev上mount了udev,而原来在硬盘的/dev目录下的node到了/dev/.static/dev下,实际上在硬盘上没有/dev/.static这个目录. (这个不太好理解) ------------------------g) nuke /dev (不知啥意思) ------------------------h) ln -s /root/dev /dev 前面mount -o move之后,目录/dev下什么也没了,这时/root还没真正成为根.这一步,如果其它脚本要使用/dev/下的设备文件时不至于找不到. --------13) mount -n -o move /sys /root/sys --------14) mount -n -o move /proc /root/proc --------15) exec run-init /root /sbin/init "$@" /root/dev/console 这一步应该是使真实文件系统成为根,并执行它的/sbin/init(没看懂) 注:加载aic94xx时,需要从目录/usr/lib/hotplug/firmware或者/lib/udev/firmware下读入firmware数据,还要建立目录usr/lib/hotplug/firmware或者lib/udev/firmware (在initrd的根目录下,即/boot/myinit) ,然后,把aic94xx-seq.fw拷到任何一个目录中. 可以看出,如果把aic94xx编译进内核,就应把firmware数据也放进内核,但这个功能还没实现.参见内核文档Documentation/firmware_class/README的末尾.
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |