免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2801 | 回复: 0

编译内核后没有加入umass模块的后果 [复制链接]

论坛徽章:
0
发表于 2010-01-03 14:50 |显示全部楼层

                                                                                昨晚编译完内核后着实开心了一把,岂料今天就杯具鸟……系统挂不上移动硬盘,用ls查看/dev/下的设备压根就没有da0s1之类的东东,ttvy1控制台下倒是有消息提示发现了usb设备,刚开始以为是自己的移动硬盘供电不足的原因,找了个U盘试了一下,还是不行,看来是昨晚编译内核少了什么东西了,因为之前是可以的
很快就在万能的网上找到了答案,就是第一次编译出错后被我注释掉的umass模块,没办法,看来只能重新编译了,首先修改配置文件
#cd /usr/src/sys/amd64/conf
#vi MY_KERNEL_CONF
找到以下三行(不在一块)
device scbus
device da
device umass
去除前面的注释
然后备份原有的系统内核,正如手册上说的,时刻保证系统有一个可用内核是一个好习惯:
mv /boot/kernel.old /boot/kernel.generic
如果不这样做的话,再一次编译内核时会将现有的内核(也就是昨天晚上产生的版本)放入/boot/kernel.old  而最初的内核(也就是现在的/boot/kernel.old)就会被冲掉
重新编译并安装新内核:
#cd /usr/src
#make buildkernel KERNCONF=MY_KERNEL_CONF
#make installkernel KERNCONF=MY_KERNEL_CONF
#reboot
然后插上U盘,咦,系统不响应输入了,看起来向是假死了的样子,等了一会没反应,进控制台也进不了,一狠心直接按电源键重启,发现走的是正常的关机程序(以前一直都不知道)
重新启动进入系统以后,先用ls /dev/看了一下设备,然后再一次插入U盘,又不响应了,直接将U盘拔之(反正我还没mount上),系统很快恢复了,恩,用ls /dev查看,发现多了什么东西,仔细对比,多了一个msdosfs文件夹,但是里面什么都没有,莫非刚才的假死是在加载相应的驱动模块?重新插上U盘,ls /dev/ 哈哈,终于有了我想要的da0s1设备,mount之
#mount -t msdosfs /dev/da0s1 /mnt/
一切OK,可以读也可写
然后把移动硬盘拿来,插上之后除了遇到没插好线的小插曲之外,也一切OK
挂载fat格式分区:
#mount -t msdosfd -o large /dev/da0s2/ /mnt/
#umount /mnt
挂载ext2格式分区
#mount -t ext2fs /dev/da0s1/ /mnt/
#umount /mnt
本以为到此结束了,但是折腾了一阵之后出现一个莫名的问题:
#mount -t ext2fs /dev/da0s1/ /mnt/
上述命令刚开始的时候还好好的,到后来就不行了,老是提示什么operate not permitted的问题,我用的root阿,郁闷了,而挂载同为ext2格式的/dev/da0s4就没任何问题
切换到控制台下发现有一条信息一直不停的刷新,说是让我在内核中加入device pass,打开我的内核配置文件一看,这一条果然被我注释掉了,去之,重新编译内核
完事后,重新挂载ext2分区
还是提示operate not permitted,控制台下有另一条信息:
filesystem is not clean, run fsck
不相信,我的这两个ext2分区在ubuntu下还能读呢
修改内核配置文件,将device ses模块前面的注释去除
重新编译~~
没有什么惊喜
最后,尝试只读式挂载:
# mount -t ext2fs -r /dev/da0s1 /mnt/compass/
这样倒是可以,后来在
http://wiki.freebsdchina.org/faq/filesystem/e/mount_ext2fs
看到说是FreeBSD不适合以读写的方式挂载ext格式的分区,难道我就此放弃?在移动硬盘上专门搞一个NFS分区?
后来尝试将内核换回最初的版本(幸亏我有备份)
#mv /boot/kernel /boot/kernel.bak
#mv /boot/kernel.generic /boot/kernel
#reboot
竟然还是一样,而且/dev里压根就没有我代表移动硬盘的设备
于是乎换成最新的自编译版本,重启之后发现一个更诡异的现象:
[compass@FreeBSD:~]$
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad6s1a    4.8G    672M    3.8G    15%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad6s1h     97G    2.0G     87G     2%    /home
/dev/ad6s1e    6.8G     48K    6.2G     0%    /tmp
/dev/ad6s1g    9.7G    1.9G    7.0G    22%    /usr
/dev/ad6s1f     15G    2.9G     11G    21%    /usr/local
/dev/ad6s1d    9.7G     32M    8.9G     0%    /var
我机器里头的固定硬盘编号怎么成6了?以前倒是没注意过这个事情,另外,移动硬盘这头,只有系统开机检测才能是/dev/里头出现相应的设备文件,其他任何情况下都没有
dmesg可以看到如下信息:
ugen1.2:  at usbus1
umass0:  on usbus1
umass0:  SCSI over Bulk-Only; quirks = 0x0000
Root mount waiting for: usbus1
umass0:0:0:-1: Attached to scbus0
Trying to mount root from ufs:/dev/ad6s1a
da0 at umass-sim0 bus 0 target 0 lun 0
da0:  Fixed Direct Access SCSI-4 device
da0: 40.000MB/s transfers
da0: 305245MB (625142448 512 byte sectors: 255H 63S/T 38913C)
rl0: link state changed to UP
logo_saver: the console does not support M_VGA_CG320
module_register_init: MOD_LOAD (logo_saver, 0xffffffff80a22010, 0) error 19
ugen1.2:  at usbus1 (disconnected)
umass0: at uhub1, port 2, addr 2 (disconnected)
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
ugen0.2:  at usbus0 (disconnected)
ukbd0: at uhub0, port 1, addr 2 (disconnected)
ums0: at uhub0, port 1, addr 2 (disconnected)
ugen0.2:  at usbus0
ukbd0:  on usbus0
kbd2 at ukbd0
ums0:  on usbus0
ums0: 5 buttons and [XYZ] coordinates ID=1
ugen1.2:  at usbus1
umass0:  on usbus1
umass0:  SCSI over Bulk-Only; quirks = 0x0000
umass0:0:0:-1: Attached to scbus0
xptioctl: pass driver is not in the kernel
xptioctl: put "device pass" in your kernel config file
郁闷了~~
               
               
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105027/showart_2138260.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP