Difference between revisions of "Install/Creating Filesystems"

From Funtoo
Jump to navigation Jump to search
(fix ext2 to be a ROOT example, migrate everyone to vfat UEFI compatible /boot)
m (Protected "Install/Creating Filesystems": create a draft in your user space and open a bug to change this page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(2 intermediate revisions by 2 users not shown)
Line 3: Line 3:
== Creating Filesystems == <!--T:1-->
== Creating Filesystems == <!--T:1-->
</includeonly><noinclude><languages/>
</includeonly><noinclude><languages/>
== Install Guide: Creating Filesystems ==
= Install Guide: Creating Filesystems =


<!--T:2-->
<!--T:2-->
Line 9: Line 9:


<!--T:15-->
<!--T:15-->
{{Note|This section covers both BIOS ''and'' GPT installs. Don't skip it!}}
{{Note|This section covers both BIOS ''and'' UEFI installs. Don't skip it!}}


<!--T:3-->
<!--T:3-->
Before your newly-created partitions can be used, the block devices that were created in the previous step need to be initialized with filesystem ''metadata''. This process is known as ''creating a filesystem'' on the block devices. After filesystems are created on the block devices, they can be mounted and used to store files. We are labeling our filesystems for LABEL= /etc/fstab statements.
Before your newly-created partitions can be used, the block devices that were created in the previous step need to be initialized with filesystem ''metadata''. This process is known as ''creating a filesystem'' on the block devices. After filesystems are created on the block devices, they can be mounted and used to store files.
 
<!--T:4-->
Let's keep this simple. Are you using legacy MBR partitions? If so, let's create an ext2 filesystem on {{f|/dev/sda1}}:
 
<!--T:5-->
{{console|body=###i## mkfs.ext2 /dev/sda1}}


<!--T:6-->
<!--T:6-->
Everyone ''NEEDS'' to create a vfat filesystem on your first partition.
If you're using GPT partitions for UEFI, or installing for Raspberry Pi, you'll want to create a vfat filesystem on your first partition. This will be {{c|mmcblk0p1}} in the case of Raspberry Pi:


<!--T:7-->
<!--T:7-->
{{console|body=###i## mkfs.vfat -F 32 /dev/funtoo1
{{console|body=###i## mkfs.vfat -F 32 /dev/sda1}}
###i## fatlabel /dev/funtoo1 "BOOT"}}


<!--T:8-->
<!--T:8-->
Line 29: Line 34:
<!--T:10-->
<!--T:10-->
{{console|body=
{{console|body=
# ##i##mkswap /dev/funtoo2
# ##i##mkswap /dev/sda2
# ##i##swaplabel -L "SWAP" /dev/funtoo2
# ##i##swapon /dev/sda2
# ##i##swapon /dev/funtoo2
}}
}}


Line 37: Line 41:


<!--T:17-->
<!--T:17-->
Now, we need to create a root filesystem. This is where Funtoo Linux will live. We generally recommend ext4, JFS, or XFS root filesystems.  ext2 doesn't have journaling, so it's a good choice for flash media, but more likely to lose data upon power failure.  
Now, we need to create a root filesystem. This is where Funtoo Linux will live. We generally recommend ext4 or XFS root filesystems.  
Keep in mind that some filesystems will require additional filesystem tools to be {{c|emerge}}d prior to rebooting. Please consult the following table for more information:
Keep in mind that some filesystems will require additional filesystem tools to be {{c|emerge}}d prior to rebooting. Please consult the following table for more information:


Line 44: Line 48:
<tr><th>Filesystem</th><th>Recommended as root file system?</th><th>Additional tools required to emerge</th></tr>
<tr><th>Filesystem</th><th>Recommended as root file system?</th><th>Additional tools required to emerge</th></tr>
<tr><td>ext4</td><td>Yes</td><td>None</td></tr>
<tr><td>ext4</td><td>Yes</td><td>None</td></tr>
<tr><td>ext2</td><td>Yes</td><td>None</td></tr>
<tr><td>JFS</td><td>Yes</td><td>{{c|sys-fs/jfsutils}}</td></tr>
<tr><td>XFS</td><td>Yes</td><td>{{c|sys-fs/xfsprogs}}</td></tr>
<tr><td>XFS</td><td>Yes</td><td>{{c|sys-fs/xfsprogs}}</td></tr>
<tr><td>reiserfs</td><td>Yes -- will likely need to enable kernel support</td><td>{{c|sys-fs/reiserfsprogs}}</td></tr>
<tr><td>reiserfs</td><td>Yes -- will likely need to enable kernel support</td><td>{{c|sys-fs/reiserfsprogs}}</td></tr>
Line 54: Line 56:
<!--T:19-->
<!--T:19-->
{{Important|'''We do not recommend users set up ZFS or BTRFS as their root filesystem.''' This is much more complex and usually not
{{Important|'''We do not recommend users set up ZFS or BTRFS as their root filesystem.''' This is much more complex and usually not
necessary. Instead, choose ext4, ext2, jfs, or xfs. ''We do support ZFS or BTRFS as non-root filesystems'' and this is much, much easier to configure. See [[ZFS]] and [[BTRFS]] after you are done setting up your Funtoo Linux system to configure ZFS or BTRFS for
necessary. Instead, choose XFS or ext4. ''We do support ZFS or BTRFS as non-root filesystems'' and this is much, much easier to configure. See [[ZFS]] and [[Btrfs]] after you are done setting up your Funtoo Linux system to configure ZFS or BTRFS for
additional secondary storage.}}
additional secondary storage.}}


Line 61: Line 63:


<!--T:11-->
<!--T:11-->
{{console|body=###i## mkfs.ext4 /dev/funtoo3
{{console|body=###i## mkfs.ext4 /dev/sda3}}
###i## e2label /dev/funtoo3 "FUNTOO"}}
 
 
<!--T:4-->
Here's how to create a ext2 root filesystem, if you prefer to use ext2 instead of ext4:
 
<!--T:5-->
{{console|body=###i## mkfs.ext2 /dev/funtoo3
###i## e2label /dev/funtoo3 "FUNTOO"}}


<!--T:12-->
<!--T:12-->
Here's how to create a JFS root filesystem, if you prefer to use JFS instead of ext2:
...and here's how to create an XFS root filesystem, if you prefer to use XFS instead of ext4:
{{console|body=
###i## mkfs.jfs /dev/funtoo3
###i## jfs_tune -L "FUNTOO" /dev/funtoo3
}}


<!--T:13-->
<!--T:13-->
Here's how to create a XFS root filesystem, if you prefer to use XFS instead of JFS:
{{console|body=###i## mkfs.xfs /dev/sda3}}
{{console|body=###i## mkfs.xfs /dev/funtoo3
###i## xfs_admin -L "FUNTOO" /dev/funtoo3}}


<!--T:14-->
<!--T:14-->
Line 93: Line 80:


<!--T:23-->
<!--T:23-->
You may want to create additional partitions for various parts of your Funtoo filesystem tree. It is not uncommon to place {{c|/home}} or {{c|/var}} on separate rotating disks as seen on /dev/sda1 in the drive targeting example.
You may want to create additional filesystems for various parts of your Funtoo filesystem tree. It is not uncommon to place {{c|/home}} or {{c|/var}} on separate filesystems.


<!--T:24-->
<!--T:24-->

Latest revision as of 04:27, December 13, 2021

Other languages:

Install Guide: Creating Filesystems

Install Guide, Chapter 5 < Prev Next >
   Note

This section covers both BIOS and UEFI installs. Don't skip it!

Before your newly-created partitions can be used, the block devices that were created in the previous step need to be initialized with filesystem metadata. This process is known as creating a filesystem on the block devices. After filesystems are created on the block devices, they can be mounted and used to store files.

Let's keep this simple. Are you using legacy MBR partitions? If so, let's create an ext2 filesystem on /dev/sda1:

root # mkfs.ext2 /dev/sda1

If you're using GPT partitions for UEFI, or installing for Raspberry Pi, you'll want to create a vfat filesystem on your first partition. This will be mmcblk0p1 in the case of Raspberry Pi:

root # mkfs.vfat -F 32 /dev/sda1

Now, let's create a swap partition. This partition will be used as disk-based virtual memory for your Funtoo Linux system.

You will not create a filesystem on your swap partition, since it is not used to store files. But it is necessary to initialize it using the mkswap command. Then we'll run the swapon command to make your newly-initialized swap space immediately active within the live CD environment, in case it is needed during the rest of the install process:

root # mkswap /dev/sda2
root # swapon /dev/sda2

Root Filesystem

Now, we need to create a root filesystem. This is where Funtoo Linux will live. We generally recommend ext4 or XFS root filesystems. Keep in mind that some filesystems will require additional filesystem tools to be emerged prior to rebooting. Please consult the following table for more information:

FilesystemRecommended as root file system?Additional tools required to emerge
ext4YesNone
XFSYessys-fs/xfsprogs
reiserfsYes -- will likely need to enable kernel supportsys-fs/reiserfsprogs
zfsNo - advanced users onlysys-fs/zfs
btrfsNo - advanced users onlysys-fs/btrfs-progs
   Important

We do not recommend users set up ZFS or BTRFS as their root filesystem. This is much more complex and usually not necessary. Instead, choose XFS or ext4. We do support ZFS or BTRFS as non-root filesystems and this is much, much easier to configure. See ZFS and Btrfs after you are done setting up your Funtoo Linux system to configure ZFS or BTRFS for additional secondary storage.

If you're not sure, choose ext4. Here's how to create a root ext4 filesystem:

root # mkfs.ext4 /dev/sda3

...and here's how to create an XFS root filesystem, if you prefer to use XFS instead of ext4:

root # mkfs.xfs /dev/sda3

Your filesystems (and swap) have all now been initialized, so that that can be mounted (attached to your existing directory heirarchy) and used to store files. We are ready to begin installing Funtoo Linux on these brand-new filesystems.

Additional Filesystems

   Note

This can be very useful for Raspberry Pi systems!

You may want to create additional filesystems for various parts of your Funtoo filesystem tree. It is not uncommon to place /home or /var on separate filesystems.

For Raspberry Pi, you may not have a lot of spare room on the card depending on the capacity of your microSD card, and it may make a lot of sense to put the entire /var filesystem on an external hard drive or solid state disk. This will not only ensure you don't run out of disk space, but can also improve performance since writes to the microSD card typically aren't that fast.

To do this, you will want to use fdisk or gdisk to create a partition on your external drive, and then use the mkfs.xfs or mkfs.ext4 commands to create a filesystem on the new partition. We will mount this new filesystem in the next step prior to extracting the stage3 tarball.

Install Guide, Chapter 5 < Prev Next >