]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
installer: Add support for XFS.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 27 Jul 2014 16:00:00 +0000 (18:00 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 27 Jul 2014 16:00:00 +0000 (18:00 +0200)
12 files changed:
langs/de/install/lang_de.c
langs/en/install/lang_en.c
langs/es/install/lang_es.c
langs/fr/install/lang_fr.c
langs/nl/install/lang_nl.c
langs/pl/install/lang_pl.c
langs/ru/install/lang_ru.c
langs/tr/install/lang_tr.c
src/install+setup/install/dracut-module/module-setup.sh
src/install+setup/install/hw.c
src/install+setup/install/hw.h
src/install+setup/install/main.c

index f982bea1bc1c34acbf13262867b29ac677872af9..eac68059487a9276863b54ea9053fbe0f8b617bc 100644 (file)
@@ -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 */
index 3c6baa08eff94d1ddaa2b920523e4cb015ffd00f..12321cdeb90d0efc1cf23852763749f9f75c1938 100644 (file)
@@ -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 */
index c16927289a7afaced53836c18fafe0909fcb46b4..b23bb573cf4f26d4052c155f0249320942856722 100644 (file)
@@ -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 */
index 4a33564f80b259e151d2337538b6ddaaa1202dab..a1702ef24f5bddbcc9a958895c1a5c8abc0c60f1 100644 (file)
@@ -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 */
index 83cc74859b7a5e3bbdf2a4f595bab8fd1af50dd7..36cd44335a36862684f42295198dbed8b9259636 100644 (file)
@@ -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 */
index 0163ddd27a1b5535abbed4b9d76f7ba80d69f456..21e705f9287fabe578075629816179756fde87b0 100644 (file)
@@ -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 */
index 78deeef18f2228d697da504c82edcd1c05ed0b63..8351668dfeca998e93750095e624ac07b736ec66 100644 (file)
@@ -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 */
index eee17bb615c854822060074564eb780cea153d17..1746dfa1663a0391721081d3ace60828a30aab48 100644 (file)
@@ -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 */
index 53ea93bcac8e06f2ac1ed9f776c4761b6a6480a4..8059037d37bc80351c450fa9d39d64ace3664929 100755 (executable)
@@ -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
index 9e505cac5d3e3fe708009b79f1f3e38e55ca5b36..e19632c97931f28b3a91998945d327baf206e8e4 100644 (file)
@@ -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);
        }
index 28b28dfddeb136a2109919a8b645ffab937a5837..a891a831a9a852703d8c016f9a1a3faacb447e9a 100644 (file)
@@ -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
 
index 8d0935e5dbf1f6fed8298ba60d7275b62b90a2ff..9fe59bb022d3d9f9de6cba85fd852a4624a7a6e0 100644 (file)
@@ -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 },
                };