|
make world失败之解决方法
昨天升级源代码,make world之后,出现同Andy84920一样的情况:
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=122858
怎么编译内核后出现mountroot>
我编译内核后重启进系统时出现(还没完全进入系统)
Mounting root from ufs:/dev/ad0s3a
setrootbyname failed
ffs_mountroot : can't find rootvp
Root mount failed:6
manual root filesystem specification:
...这里有一些例子
mountroot>
我用?也不能列出可能的启动地方.
现在该如何解决?
(就算用单用户模式,一样出同样的错误.)
上网找了一下,没找到相应的文章,那就自己动手吧!
我是这样的解决的,老鸟就不用看了,免得笑死:p
系统:FreeBSD-5.2
/etc/fstab:
/dev/ad0s3b swap
/dev/ad0s3a /
/dev/ad0s3d /tmp
/dev/ad0s3f /usr
/dev/ad0s3e /var
1.用Disc2光碟启动. (做完之后,才发现,原来Disc1光碟也有"Fixit"这一项.)
2.选择:Fixit
3.CDROM/DVD Use the "live" filesystem CDROM/DVD
4.按ALT + F4 得到一个Shell
5.mkdir /mnt/bsd
mount /dev/ad0s3a /mnt/bsd
mount /dev/ad0s3d /mnt/bsd/tmp
mount /dev/ad0s3f /mnt/bsd/usr
mount /dev/ad0s3e /mnt/bsd/var
swapon /dev/ad0s3b
cp -R /dev/* /mnt/bsd/dev/
chroot /mnt/bsd /bin/sh
这时已经进入到你的系统了,想干什么都可以啦!!上面的问题我不知道怎样解决,只想make world 回到5.2.1-Release就算了.当然也可以继续
cvsup到最新的(但能不能解决问题就只有天才知道).
6.umount /dist
取出Disc2光碟,放入Disc1光碟.
mount_cd9660 /dev/acd0 /dist (这句好象这多余的,呵~)
7.删除所有源代码
cd /usr/src
rm -Rf * (一时手快,把内核配置文件也一并删掉.)
8.重装5.2.1-Release源代码
sysinstall
Custom
Commit
Custom -> src (只选择Src就可以啦)
重装源码后,将Disc2重新挂上. (如果一开始就用Disc1就不用那么麻烦.呵~)
9.然后就再次make world.
总结:这是使用FreeBSD半年以来,N次make world失败之后(N>5),第一次可以不重装系统能解决问题.问题解决之后好开心,这时严重感觉到
,FreeBSD(BSD/Linux/Unix)真的越用越简单,条条大路通罗马!!解决问题的方法真的很多,没有最好的,只有想不到的!!
ps:这样make world重启之后,好象还存在一点点问题,不过开机显示的已经是5.2.1-RELEASE了.假如一开始就用Disc1,效果会更好!! |
|