LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: newsky_

hal可自动挂在U盘, 如何让起自动挂载硬盘的其他分区 桌面KDE4

[复制链接]
 楼主| 发表于 2009-9-21 16:49:00 | 显示全部楼层
Post by lophyxp;2028851
/usr/src/linux下面的.config也可以,感谢。


在这里了,~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2009-9-21 18:55:09 | 显示全部楼层
终于,我也搞定了U盘的自动挂载了。

以前挂载fat32格式的U盘的时候,老是失败。

原来是

  1. CONFIG_FAT_DEFAULT_CODEPAGE=936
  2. CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
复制代码

这两项不能为空,我在以前配置内核的时候,把CONFIG_FAT_DEFAULT_IOCHARSET=置空了。
如今,加上CONFIG_FAT_DEFAULT_IOCHARSET="cp936",重新genkernel就OK了。

貌似,随然mount的vfat的时候制定-o utf8会忽略codepage和iocharset的设置(我手工mount一个vfat试过,指定了iocharset以后,不指定utf8和指定utf8的挂在效果是不一样的,在utf8的locale下,前者是乱码,后者就显示正常的汉字了),但是却必须指定这两个参数。如果不指定的话,就会提示no found。

虽然可以在/etc/hal/fdi/policy/storage-vfat.fdi中merge key一个iocharset=cp936,但是KDE4的kdebase-runtime中的kioslave组件只能识别utf8挂载选项,不能识别iocharset和codepage。见《shortname以及自动挂载》,里面有源代码为证的。

所以如果kernel中,如果忽略了CONFIG_FAT_DEFAULT_CODEPAGE
和CONFIG_FAT_DEFAULT_IOCHARSET的设置,即是在hal中添加了,也导致KDE挂载U盘的时候失败,因为hal仅提供设备属性(lshal能看到对应设备出现了iocharset和codepage属性),真正的挂载动作还是KDE执行的,KDE的kioslave天生没有识别并指定iocharset和codepage的能力,在挂载的时候就永远不会指定iocharset和codepage挂载参数,导致挂载失败,其中内核配置的时候哪个没设置,就会在dmesg中提示哪个no found。

多谢newsky_老兄的大力支持,终于我走出迷宫了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表