A mkfs.ext2 implementation in Go
# Print all flags
mkfs.ext2 -help
# Create a file with a filesystem
# (automatically determines blocks, if file.ext2 doesn't exist then it's 1 GiB)
mkfs.ext2 -device file.ext2
# Create a filesystem on a real device (automatically determines blocks)
mkfs.ext2 -device /dev/sdX
- Superblock
- Device
- Bgdt
- BgdtEntry
- Inode (partial, only used to create root inode)
- Filesystem