Em 28/07/10 18:30, Max Miorim escreveu:
> 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]


Não funcionou Max. Com a policy modificada o pendrive continua a ser
montado pelo hal com o iocharset=iso-8859-1. Mas manualmente voce
consegue montá-lo com o iocharset=utf8. Assim não se trata do tipo de
opção iocharset ou utf8 mas é algum outro problema do hal.
Eu já tive situação semelhante com as rules do udev. Nesse caso voce tem
que ter atenção com a numeração delas. Uma local rule só funciona com
numero menor do que todas as outras do sistema. 
As policies do hal também são numeradas. Até testei usar
5vfat-policy.fdi mas também não funcionou.
Acho que há alguma outra policy definindo o padrão e que não está
aceitando mudança de opção.
Voce também não conseguiu resultado com a tua policy?

-- 
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