2010/7/28 Gilcio R Amaral Martins <[email protected]>:
> Seguindo a dica do Max eu criei a
> /etc/hal/fdi/policy/vfat-policy.fdi seguinte:
>
> ?xml version="1.0" encoding="UTF-8"?>
>
> <deviceinfo version="0.2">
>  <device>
>    <match key="volume.fstype" string="vfat">
>      <merge key="volume.policy.mount_option.iocharset=utf8"
> type="bool">true</merge>
>    </match>
>  </device>
> </deviceinfo>
>
> Chequei que é reconhecida pelo hal conectando um pendrive e dando um
> /usr/bin/libhal com o seguinte resultado:
>
>  volume.fstype = 'vfat'  (string)
>  volume.fsusage = 'filesystem'  (string)
>  volume.fsversion = 'FAT16'  (string)
>  volume.ignore = false  (bool)
>  volume.is_disc = false  (bool)
>  volume.is_mounted = true  (bool)
>  volume.is_mounted_read_only = false  (bool)
>  volume.is_partition = false  (bool)
>  volume.label = 'USBSLACK'  (string)
>  volume.linux.is_device_mapper = false  (bool)
>  volume.mount.valid_options = {'ro', 'sync', 'dirsync', 'noatime',
> 'nodiratime', 'relatime', 'noexec', 'quiet', 'remount', 'exec', 'utf8',
> 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=',
> 'uid=', 'flush'} (string list)
>  volume.mount_point = '/media/USBSLACK'  (string)
>  volume.num_blocks = 1952256  (0x1dca00)  (uint64)
>  volume.policy.mount_option.iocharset=utf8 = true  (bool)
>  volume.size = 999555072  (0x3b940000)  (uint64)
>  volume.unmount.valid_options = {'lazy'} (string list)
>  volume.uuid = '4BF0-AC62'  (string)
>
> Entretanto um check em /proc/mounts mostra as opções efetivas em que o
> pendrive foi montado:
> /dev/sdd /media/USBSLACK vfat
> rw,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,errors=remount-ro
> 0 0
>
> o iocharset de montagem foi o padrão iso8859-1 e não o utf8 definido pela
> minha vfat-policy.fdi.
>
> Já procurei no Google e na documentação do hal e fique sem resposta. O
> que aconteceu? Porque o hal reconhece a policy mas não obedece a ela.
>
> Talvez o Max possa ajudar com alguma sugestão.
>
> Gilcio

Ali no lshal mostra que tem uma opção chamada utf8. Talvez, para os
pendrives que usam vfat, deve-se usar esta opção ao invés do
iocharset?

A policy seria algo tipo:

<device>
  <match key="volume.fstype" string="vfat">
    <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
  </match>
</device>

A man page do mount não diz nada sobre o assunto mas agora eu tenho a
impressão que as opções codepage e iocharset não são referentes a
codificação unicode, pelo menos no vfat.

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]

Responder a