installer: Allow to install IPFire on BTRFS

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Stefan Schantl
2024-03-23 11:56:19 +01:00
committed by Arne Fitzenreiter
parent 09bb459edb
commit 130815d3f1
4 changed files with 12 additions and 2 deletions

View File

@@ -30,8 +30,8 @@ install() {
instmods virtio_net hv_netvsc vmxnet3
# Filesystem support
inst_multiple parted mkswap mke2fs mkfs.xfs mkfs.vfat
instmods ext4 iso9660 vfat xfs ntfs3
inst_multiple parted mkswap mke2fs mkfs.xfs mkfs.vfat mkfs.btrfs
instmods ext4 iso9660 vfat xfs ntfs3 btrfs
# Extraction
inst_multiple tar gzip zstd

View File

@@ -822,6 +822,10 @@ static int hw_format_filesystem(const char* path, int fs, const char* output) {
} else if (fs == HW_FS_XFS) {
snprintf(cmd, sizeof(cmd), "/sbin/mkfs.xfs -f %s", path);
// BTRFS
} else if (fs == HW_FS_BTRFS) {
snprintf(cmd, sizeof(cmd), "/usr/bin/mkfs.btrfs -f %s", path);
// FAT32
} else if (fs == HW_FS_FAT32) {
snprintf(cmd, sizeof(cmd), "/sbin/mkfs.vfat %s", path);
@@ -882,6 +886,10 @@ int hw_mount_filesystems(struct hw_destination* dest, const char* prefix) {
filesystem = "xfs";
break;
case HW_FS_BTRFS:
filesystem = "btrfs";
break;
case HW_FS_FAT32:
filesystem = "vfat";
break;

View File

@@ -46,6 +46,7 @@
#define HW_FS_EXT4_WO_JOURNAL 2
#define HW_FS_XFS 3
#define HW_FS_FAT32 4
#define HW_FS_BTRFS 5
#define HW_FS_DEFAULT HW_FS_EXT4

View File

@@ -720,6 +720,7 @@ int main(int argc, char *argv[]) {
{ HW_FS_EXT4, _("ext4 Filesystem") },
{ HW_FS_EXT4_WO_JOURNAL, _("ext4 Filesystem without journal") },
{ HW_FS_XFS, _("XFS Filesystem") },
{ HW_FS_BTRFS, _("BTRFS Filesystem (EXPERIMENTAL)") },
{ 0, NULL },
};
unsigned int num_filesystems = sizeof(filesystems) / sizeof(*filesystems);