From: Michael Tremer Date: Sun, 27 Jul 2014 16:00:00 +0000 (+0200) Subject: installer: Add support for XFS. X-Git-Tag: v2.17-core87~103^2~51^2~106 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=70a44b52a51d1852146a152e93b563d72083a25a installer: Add support for XFS. --- diff --git a/langs/de/install/lang_de.c b/langs/de/install/lang_de.c index f982bea1bc..eac6805948 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 3c6baa08ef..12321cdeb9 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 c16927289a..b23bb573cf 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 4a33564f80..a1702ef24f 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 83cc74859b..36cd44335a 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 0163ddd27a..21e705f928 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 78deeef18f..8351668dfe 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 eee17bb615..1746dfa166 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 53ea93bcac..8059037d37 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 9e505cac5d..e19632c979 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 28b28dfdde..a891a831a9 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 8d0935e5db..9fe59bb022 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 }, };