diff --git a/langs/de/install/lang_de.c b/langs/de/install/lang_de.c index f982bea1b..eac680594 100644 --- a/langs/de/install/lang_de.c +++ b/langs/de/install/lang_de.c @@ -609,6 +609,8 @@ char *de_tr[] = { "EXT4 - Dateisystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Dateisystem ohne Journal", +/* TR_XFS */ +"XFS - Dateisystem", /* TR_REISERFS */ "ReiserFS - Dateisystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/en/install/lang_en.c b/langs/en/install/lang_en.c index 3c6baa08e..12321cdeb 100644 --- a/langs/en/install/lang_en.c +++ b/langs/en/install/lang_en.c @@ -605,6 +605,8 @@ char *en_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/es/install/lang_es.c b/langs/es/install/lang_es.c index c16927289..b23bb573c 100644 --- a/langs/es/install/lang_es.c +++ b/langs/es/install/lang_es.c @@ -601,6 +601,8 @@ char *es_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/fr/install/lang_fr.c b/langs/fr/install/lang_fr.c index 4a33564f8..a1702ef24 100644 --- a/langs/fr/install/lang_fr.c +++ b/langs/fr/install/lang_fr.c @@ -601,6 +601,8 @@ char *fr_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/nl/install/lang_nl.c b/langs/nl/install/lang_nl.c index 83cc74859..36cd44335 100644 --- a/langs/nl/install/lang_nl.c +++ b/langs/nl/install/lang_nl.c @@ -605,6 +605,8 @@ char *nl_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/pl/install/lang_pl.c b/langs/pl/install/lang_pl.c index 0163ddd27..21e705f92 100644 --- a/langs/pl/install/lang_pl.c +++ b/langs/pl/install/lang_pl.c @@ -601,6 +601,8 @@ char *pl_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/ru/install/lang_ru.c b/langs/ru/install/lang_ru.c index 78deeef18..8351668df 100644 --- a/langs/ru/install/lang_ru.c +++ b/langs/ru/install/lang_ru.c @@ -599,6 +599,8 @@ char *ru_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/langs/tr/install/lang_tr.c b/langs/tr/install/lang_tr.c index eee17bb61..1746dfa16 100644 --- a/langs/tr/install/lang_tr.c +++ b/langs/tr/install/lang_tr.c @@ -605,6 +605,8 @@ char *tr_tr[] = { "EXT4 - Filesystem", /* TR_EXT4FS_WO_JOURNAL */ "EXT4 - Filesystem without journal", +/* TR_XFS */ +"XFS - Filesystem", /* TR_REISERFS */ "ReiserFS - Filesystem", /* TR_NO_LOCAL_SOURCE */ diff --git a/src/install+setup/install/dracut-module/module-setup.sh b/src/install+setup/install/dracut-module/module-setup.sh index 53ea93bca..8059037d3 100755 --- a/src/install+setup/install/dracut-module/module-setup.sh +++ b/src/install+setup/install/dracut-module/module-setup.sh @@ -27,8 +27,8 @@ install() { instmods virtio_net hv_netvsc vmxnet3 # Filesystem support - inst_multiple parted mkswap mke2fs mkreiserfs - instmods ext4 iso9660 reiserfs vfat + inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs + instmods ext4 iso9660 reiserfs vfat xfs # Extraction inst_multiple tar gzip lzma xz diff --git a/src/install+setup/install/hw.c b/src/install+setup/install/hw.c index 9e505cac5..e19632c97 100644 --- a/src/install+setup/install/hw.c +++ b/src/install+setup/install/hw.c @@ -604,6 +604,10 @@ static int hw_format_filesystem(const char* path, int fs) { // EXT4 w/o journal } else if (fs == HW_FS_EXT4_WO_JOURNAL) { snprintf(cmd, sizeof(cmd), "/sbin/mke2fs -T ext4 -O ^has_journal %s", path); + + // XFS + } else if (fs == HW_FS_XFS) { + snprintf(cmd, sizeof(cmd), "/sbin/mkfs.xfs -f %s", path); } assert(*cmd); @@ -661,6 +665,10 @@ int hw_mount_filesystems(struct hw_destination* dest, const char* prefix) { filesystem = "ext4"; break; + case HW_FS_XFS: + filesystem = "xfs"; + break; + default: assert(0); } diff --git a/src/install+setup/install/hw.h b/src/install+setup/install/hw.h index 28b28dfdd..a891a831a 100644 --- a/src/install+setup/install/hw.h +++ b/src/install+setup/install/hw.h @@ -44,6 +44,7 @@ #define HW_FS_REISERFS 1 #define HW_FS_EXT4 2 #define HW_FS_EXT4_WO_JOURNAL 3 +#define HW_FS_XFS 4 #define HW_FS_DEFAULT HW_FS_EXT4 diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index 8d0935e5d..9fe59bb02 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -432,6 +432,7 @@ int main(int argc, char *argv[]) { } filesystems[] = { { HW_FS_EXT4, ctr[TR_EXT4FS] }, { HW_FS_EXT4_WO_JOURNAL, ctr[TR_EXT4FS_WO_JOURNAL] }, + { HW_FS_XFS, ctr[TR_XFS] }, { HW_FS_REISERFS, ctr[TR_REISERFS] }, { 0, NULL }, };