Abhishek Mahanty's Weblog

Sunny Days...
Saturday Mar 24, 2007

FAT32 filenames in Linux

I have a multi-boot machine with Solaris, Linux & Windows installed. So my hard disk currently has all different sorts of filesystems.


      root@lnx(~)# fdisk -l
      
      Disk /dev/sda: 80.0 GB, 80026361856 bytes
      255 heads, 63 sectors/track, 9729 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes
      
      Device Boot      Start         End      Blocks   Id  System
      /dev/sda1               1        1912    15358108+   7  HPFS/NTFS
      /dev/sda2            4086        8682    36925402+   f  W95 Ext'd (LBA)
      /dev/sda3            1913        4080    17414460   bf  Solaris
      /dev/sda4   *        8683        9729     8410027+  83  Linux
      /dev/sda5            4086        6635    20482843+   b  W95 FAT32
      /dev/sda6            6636        8420    14337981    b  W95 FAT32
      /dev/sda7            8421        8682     2104483+  82  Linux swap / Solaris        
      

When using Linux, I've been struggling to work with any NetBeans web application projects that were stored in my FAT32 partitions. Upon opening a web project, NetBeans would complain that WEB-INF folder is missing.

After a quick ls -l, I noticed that the WEB-INF folder appears as web-inf i.e. in lowercase. Well the reason behind this anomaly was the way the Windows FAT32 partitons were mounted on my system.

        root@lnx(~)# vi /etc/fstab 
        . . .
        /dev/sda5            /mnt/win_d/          vfat       users,gid=users,umask=0002,utf8=true 0 0
        /dev/sda6            /mnt/win_e/          vfat       users,gid=users,umask=0002,utf8=true 0 0
        . . .        
      

So I remounted the FAT32 partitions with the option shortname=mixed and everything became fine.

        root@lnx(~)# umount /mnt/win_d/
        root@lnx(~)# umount /mnt/win_e/
        root@lnx(~)# vi /etc/fstab 
        . . .
        /dev/sda5            /mnt/win_d/          vfat       users,gid=users,umask=0002,utf8=true,shortname=mixed 0 0
        /dev/sda6            /mnt/win_e/          vfat       users,gid=users,umask=0002,utf8=true,shortname=mixed 0 0
        . . .
        root@lnx(~)# mount -a
      
The WEB-INF folder now appears as it is (i.e. in uppercase). The default behaviour of a FAT32 mount uses shortname=lower, so any file/folder with a shortname i.e. less than 8 chars (excluding file extension) would appear in lowercase.

Comments:

Great tip :-)

Posted by Anonymous on May 21, 2007 at 03:26 PM IST #

Post a Comment:
  • HTML Syntax: NOT allowed

Archives
Feeds
Links
Blogs
Technorati
Referrers
Locations of visitors to this page




Valid HTML! Valid CSS!

Disclaimer: This is a personal weblog, I do not speak for my employer, Sun Microsystems.