Fork us on GitHub Follow us on Facebook Follow us on Twitter

Version 16 (modified by Jakub Jermář, 7 years ago) (diff)

Disks and File systems

File system types

HelenOS currently supports the following file systems:

File system /srv executable Can be initrd FS Has mk*fs utility Status
TMPFS tmpfs yes no Stable
FAT fat yes yes Stable
locfs locfs no no Stable
Ext2fs/Ext3fs/Ext4fs? ext4fs yes no Stable
exFAT exfat no yes Testing
CDFS cdfs no no Testing
MFS mfs no yes Stable
UDF? udf no no Read-only testing

Directory structure

The file system of a running HelenOS system is roughly laid out as follows:

/app end-user applications (see the Command Reference)
/cfg system-wide configuration
/data application data (e.g. the web root served by websrv)
/drv device drivers
/inc header files
/lib libraries
/loc location service nodes (rough analogy of /dev in UNIX)
/src source files
/srv server applications (services, e.g. console, networking - see the Command Reference)
/tmp temporary files

This layout is not fixed in any way and may change in the future.

Block device drivers


file_bd File-backed block device
part Disk label/partition driver - provides block devices for individual partitions
rd Initial ramdisk
sata_bf AHCI SATA


ata_bd ATA/ATAPI
usbmast USB mass storage
ddisk msim disk driver

Working with disk labels and file systems

You can use the interactive fdisk utility to create and manage disk labels. BIOS/MBR and UEFI/GPT labels are supported. When you create a partition with fdisk, you are also prompted for file system type (The file system will be initialized as part of creating the partition).

If you'd like to create a file system on a raw disk, you need to do it by manually invoking a mk*fs utility.

Mounting file systems

In order to make use of a file system it needs to be mounted into the filesystem namespace using the mount command. Typing just mount<enter> prints out a list of mounted file systems. Te basic syntax to mount a file system is:

# mount <fstype> <service-name> <directory>

fstype is the type of the file system (e.g. ext4, mfs), service-name is the service name of the block device (typically of a partition) and directory is the directory path to mount on top of.

You can find the list of available partition block devices in your system by typing:

# loc show-cat partition

Unlabeled disks will be represented by one 'fake' partition spanning the entire disk.