FAT32
FAT32 is a variant of the File Allocation Table filesystem used by Windows 95 OSR2 through Windows ME as the primary filesystem. As of 2025 a project by Techomancer AKA 0xDEADBEEF on the IRIXNet forums provides kernel native FAT32 filesystem support for IRIX 6.5 via a kernel filesystem driver. It allows IRIX systems to read and write FAT32-formatted media, making it possible to exchange data with modern removable storage and non-IRIX systems without intermediate conversion.
The driver is implemented as a kernel filesystem and integrates with IRIX’s VFS layer. It supports multiple late-generation SGI platforms, including Octane, O2, Fuel, Tezro, and Origin 350.
Rationale
This filesystem was developed to establish a practical foundation for future USB mass storage support on IRIX.
FAT32 is the de facto interchange filesystem used by USB mass storage devices across operating systems and embedded platforms. By providing native FAT32 support at the kernel level, IRIX gains the ability to access removable storage in a format that is widely supported, simple, and stable, without requiring proprietary tooling or host-side translation.
While IRIX does not currently include native USB mass storage drivers, this filesystem removes a major remaining obstacle to such support. Once a USB block device can be presented to the IRIX kernel as a standard disk device, it can be mounted and used immediately without further filesystem work.
In this sense, the FAT32 driver is intended not only as a convenience for existing removable media, but as a forward-looking compatibility layer, enabling IRIX systems to participate in modern removable storage workflows with minimal additional kernel infrastructure.
Supported Capabilities
- Read and write access to FAT32 filesystems
- Mounting FAT32 partitions or entire volumes
- Standard file and directory operations (create, remove, read, write, stat)
- Optional read-only mounting
- User and group ownership mapping at mount time
This makes FAT32 usable for removable disks, shared data volumes, and archival or interchange purposes.
Limitations and Usage Notes
- FAT32 only: Other FAT variants (FAT12, FAT16, exFAT) are not supported.
- Local storage only: The filesystem is intended for direct-attached block devices. Do not use this filesystem over NFS or other network-backed block abstractions.
- No native DOS partition awareness: IRIX does not inherently understand DOS/MBR partition tables. While FAT32 partitions can be accessed, additional IRIX volume management may be required to precisely target individual partitions on DOS-partitioned media.
- POSIX semantics are limited by FAT32 design: FAT32 lacks native Unix permissions, ownership, hard links, and symbolic links. Ownership and access behavior are therefore applied uniformly at mount time rather than per file.
- Intended for data interchange, not system files: This filesystem is suitable for data storage and transfer, but it is unsupported for IRIX system files.
Licensing
The driver is released under the BSD 3-Clause license, making it suitable for redistribution and integration in both open and closed environments.