Default Btrfs filesystem layout
In case a filesystem other than Btrfs will be used, this section can be skipped. In that case it is recommended to proceed with designing a partition scheme.
Btrfs is a modern copy-on-write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair, and easy administration. With Btrfs it's possible to use subvolumes to replicate the functionality - organizing and managing data - of what on older systems used to be implemented by an advanced partitioning scheme. Btrfs subvolumes are not block level devices, they are POSIX file namespaces. They can be created at any location in the filesystem and will act like any other directory on the system with the exception that subvolumes can be mounted and unmounted.
Throughout the remainder of the handbook, the following structure for the Btrfs filesystem on /dev/mmcblk0p4 will be used as a simple example layout:
|Subvolume name||Parent volume||Future mountpoint||Description|
|not to be mounted by default||Toplevel volume|
|rootvol||Toplevel volume||/||Subvolume to accomodate the root filesystem (rootfs)|
|homevol||Toplevel volume||/home||Subvolume for the Users' home directories|
|swapvol||Toplevel volume||/var/swap||Subvolume to host the swapfile|