OK, time to share the progress.
The good news is that I'm able to see the files with special characters correctly, the bad is that I didn't manage to make it work from the boot... but I'm close.
But I wanted to give everybody a look at what I'm trying and let all of you, adventurous enough, give it a try.
First let my clarify. To do manual mounting and unmounting of volumes and to modify files in the underlying ubuntu linux installation that supports XBMCLive you need 2 things:
1. Access to the console of the OS. You can do this in the PC installed with XBMCLive (pressing Cntrl-Alt-F1) or from another PC via SSH (with putty for example). This has been covered in many posts in this and other ubuntu related forums, so please don't fill this post with questions about how to connect to the shell.
2. Changing files and doing manual touching on your XBMC Installation can be dangerous. The main risk is to make your system unbootable. Please, if you have little or no experience with Linux in general value the risks before doing what another Rockie has done with partial success.
OK... after all this let's go to the good part.
The main problem with this character thing is that XBMCLive (or the underlying OS) is not mounting properly the devices. If you created Your volumes from windows they probably where created with UTF-8 Character set. All we need to do is mount the volumes with an option that tells to use the proper character set.
This we can achieve it by giving a special option to the mount command:
Code:
$sudo mount /dev/sdb1 /media/sdb1 -o charset=utf8
This will make the trick. The problem is that to be able to mount something first we need to unmount it with something like
Code:
$sudo umount /dev/sdb1
Once again we find another problem with this. As soon as we unmount the drive, there is a special process that is watching for usb devices and mounts it again (with the wrong parameters) as soon as you unmount it (you can see a message in the xbox screen telling you that a usb device has been detected and mounted)
Without jet knowing witch process does that, I found a way to keep it from automounting my drives... add a line to fstab file to inform the system about the volumes and the way to mount them correctly...
So you have to edit your /etc/fstab file... to know the right parameters you can copy the lines in the file /etc/mtab that shows the volumes mounted right now.
Code:
more /etc/mtab
...
/dev/sdb1 /media/sdb1 fuseblk rw,nosuid,nodev,noatime,allow_other,default_permisions,blksize=4096 0 0
/dev/sdc1 /media/sdc1 vfat rw,noexec,nosuid,nodev,fmask=0133,dmask=0022,uid=1000,gid=1000 0 0
From this we can create our lines for fstab. Notice that the first parameter is the device to mount, the second is the point (directory that must previously exist) of mounting, the third indicates the type of device.
fuseblk indicates ntfs file system, in the fstab file we must change fuseblk to ntfs. I found this just trying things, so don't ask why.
vfat indicates fat32. We keep the same in the fstab file.
the rest are the options of mounting. I will suggest to keep the same you had (not mine) as they where working for you. Only add the option to make the system know to mount them as utf-8:
for ntfs filesystems: nls=utf8
for fat filesystems: iocharset=utf8
so my fstab looks know something like this:
Code:
sudo nano /etc/fstab
...
/dev/sdb1 /media/sdb1 ntfs nls=utf8,umask=0222 0 0
/dev/sdc1 /media/sdc1 vfat iocharset=utf8,umask=0000,uid=1000,gid=1000 0 0
with this changes now the process doesn't try to automatically mount my drives when I unmount them. So I can do:
Code:
sudo umount /dev/sdb1
sudo mount /dev/sdb1
and tachaaaaann! I see the files!! And the same works for sdc1 (witch by the way was already showing the files, but with wrong characters. This is probably due to the file system being fat. So I guess that if you are reading this because you cannot see the files with special characters, that means your filesystem must be ntfs)
Anyway there are still some problems left.
As I mentioned before I noticed that there are, at least, 2 processed that do the job of mounting disks in the XBMCLive installation.
One is the used at boot time. This process mounts all available devices in the corresponding folder of the /media directory. This process reads the fstab file
The other is the automounter...
I also noticed that they mount the drives in diferent paths. At boot, the filesystems are mounted on /media/sdX1 (where X is a single letter a,b,c etc)
But the automounter mounts them in a folder like /media/VOLUME_NAME
This, aparently not important, is important if you are using the videos database. The data base stores the place where the file is so if you fill your data base after boot the this is mounted in something like /media/sdb1. After that if you unplug the drive and plug it in again will be mounted in /media/VOLUME1 and the library will not find your files...
I solved this changing my fstab file and indicating as mounting dir the one that the automounter process chooses...
With the modifications to the fstab file, this process will not mount automatically those filesystems anymore... and I don't like this...
It is true that the way I work those disks are always connected to the XBMC PC, and I copy things to them via network, but that could not be your case... also I want things to work better... so I'll keep investigating.
The other problem is that in the booting process... the "mounter process" reads the fstab file (as I can check for example if I change the mounting point) but apparently it ignores the utf8 option as when I start xbmc I cannot see the special files... If after booting I unmount and mount manually, everything works fine... This is much worse obviously, so I'll keep investigating.
IF, AT ANY MOMENT, an expert on linux is reading this and having fun... but wants to give any well informed advise... I'll be very grateful...
Anyway I have a lot of fun investigating, and I'm sure I'll solve it.
If you got to here... thanks for reading. Really.
Jur.