免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2963 | 回复: 2
打印 上一主题 下一主题

udev从initramfs过渡到真正的根文件系统需要注意什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-02 20:54 |只看该作者 |倒序浏览
1. 我的initramfs下的udev没有问题,但是切换到真正的根时/dev目录没有任何东西,请问切换时应该注意什么? 我的initramfs中的init
#!/bin/sh
echo "Loading, please wait..."

[ -d /dev ] || mkdir -m 0755 /dev
[ -d /root ] || mkdir -m 0700 /root
[ -d /sys ] || mkdir /sys
[ -d /proc ] || mkdir /proc
[ -d /tmp ] || mkdir /tmp
mkdir -p /var/lock
mount -t sysfs -o nodev,noexec,nosuid none /sys
mount -t proc -o nodev,noexec,nosuid none /proc
mount -t tmpfs -o mode=0755 udev /dev
[ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1
[ -e /dev/null ] || mknod /dev/null c 1 3
/sbin/udevd --daemon --resolve-names=never
/sbin/udevadm trigger
/sbin/depmod -a
/sbin/modprobe usbhid
#/sbin/modprobe fuse
/sbin/modprobe vesafb
/sbin/modprobe fbcon
#/sbin/modprobe fan
/bin/sleep 3                                   // 睡3S,
/bin/ls /dev                                    //为了调试
/bin/mount -o rw /dev/sdb2 /rootfs
/bin/mount -o rw /dev/sdb1 /rootfs/boot
umount /proc
umount /sys
umount /dev
exec chroot /rootfs  /sbin/init                                 //切换到真正的根
2. 上面的init如果没有睡三秒,发现/dev 下的结点产生来不及, 是不是udev需要比较多的时间?

论坛徽章:
0
2 [报告]
发表于 2009-11-03 14:29 |只看该作者
这个问题,我在安装gentoo的时候就遇到了。好像必须sleep 3,挂载可能需要时间。

论坛徽章:
0
3 [报告]
发表于 2009-11-03 14:53 |只看该作者

回复 #2 emmoblin 的帖子

谢谢。
根文件系统的udev也解决了,先要杀死initramfs的udevd 进程,然后把initramfs的/dev/挂载到根的dev目录中去,最后在根文件系统中在运行udevd --daemon启用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP