From: Arne Fitzenreiter Date: Mon, 1 Nov 2010 15:34:41 +0000 (+0100) Subject: Add ext4 support to installer. X-Git-Tag: v2.9-beta1~48^2~5^2~2^2~36 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=c8d680dc8df1b2f7138ae3a8745fd021b0f7ae42 Add ext4 support to installer. --- diff --git a/langs/de/install/lang_de.c b/langs/de/install/lang_de.c index a62cb8d51c..87e06cf4d3 100644 --- a/langs/de/install/lang_de.c +++ b/langs/de/install/lang_de.c @@ -575,6 +575,13 @@ char *de_tr[] = { "Ich akzeptiere diese Lizenz.", /* TR_LICENSE_NOT_ACCEPTED */ "Die Lizenz wurde nicht akzeptiert. Abbruch!", - +/* TR_EXT2FS_DESCR */ +"Ext2 - Dateisystem ohne Journal (empfohlen für Flash)", +/* TR_EXT3FS_DESCR */ +"Ext3 - Dateisystem mit Journal", +/* TR_EXT4FS_DESCR */ +"Ext4 - Dateisystem mit Journal", +/* TR_REISERFS_DESCR */ +"ReiserFS - Dateisystem mit Journal", }; diff --git a/langs/en/install/lang_en.c b/langs/en/install/lang_en.c index 2977a20439..ee65330a6f 100644 --- a/langs/en/install/lang_en.c +++ b/langs/en/install/lang_en.c @@ -571,6 +571,13 @@ char *en_tr[] = { "I accept this license.", /* TR_LICENSE_NOT_ACCEPTED */ "License not accepted. Exit!", - +/* TR_EXT2FS_DESCR */ +"Ext2 - Filesystem without Journal (suggested for flashdrives)", +/* TR_EXT3FS_DESCR */ +"Ext3 - Filesystem with Journal", +/* TR_EXT4FS_DESCR */ +"Ext4 - Filesystem with Journal", +/* TR_REISERFS_DESCR */ +"ReiserFS - Filesystem with Journal", }; diff --git a/langs/es/install/lang_es.c b/langs/es/install/lang_es.c index 9e3d52da8c..7dd06521ed 100644 --- a/langs/es/install/lang_es.c +++ b/langs/es/install/lang_es.c @@ -567,6 +567,13 @@ char *es_tr[] = { "I accept this license.", /* TR_LICENSE_NOT_ACCEPTED */ "License not accepted. Exit!", - +/* TR_EXT2FS_DESCR */ +"Ext2 - Filesystem without Journal (suggested for flashdrives)", +/* TR_EXT3FS_DESCR */ +"Ext3 - Filesystem with Journal", +/* TR_EXT4FS_DESCR */ +"Ext4 - Filesystem with Journal", +/* TR_REISERFS_DESCR */ +"ReiserFS - Filesystem with Journal", }; diff --git a/langs/fr/install/lang_fr.c b/langs/fr/install/lang_fr.c index c6b4e119a2..506faf52b0 100644 --- a/langs/fr/install/lang_fr.c +++ b/langs/fr/install/lang_fr.c @@ -567,6 +567,13 @@ char *fr_tr[] = { "I accept this license.", /* TR_LICENSE_NOT_ACCEPTED */ "License not accepted. Exit!", - +/* TR_EXT2FS_DESCR */ +"Ext2 - Filesystem without Journal (suggested for flashdrives)", +/* TR_EXT3FS_DESCR */ +"Ext3 - Filesystem with Journal", +/* TR_EXT4FS_DESCR */ +"Ext4 - Filesystem with Journal", +/* TR_REISERFS_DESCR */ +"ReiserFS - Filesystem with Journal", }; diff --git a/src/dracut/dracut.conf b/src/dracut/dracut.conf index a37038eb3c..b671b7a977 100644 --- a/src/dracut/dracut.conf +++ b/src/dracut/dracut.conf @@ -13,7 +13,7 @@ #add_drivers+="" # list of kernel filesystem modules to be included in the generic initramfs -filesystems+="ext2 ext3 reiserfs reiser4 iso9660 vfat" +filesystems+="ext2 ext3 ext4 reiserfs reiser4 iso9660 vfat" # build initrd only to boot current hardware #hostonly="yes" diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index dc3ac19340..1f615d0d63 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -15,8 +15,9 @@ #define UNATTENDED_CONF "/cdrom/boot/unattended.conf" #define EXT2 0 -#define REISERFS 2 #define EXT3 1 +#define EXT4 2 +#define REISERFS 3 FILE *flog = NULL; char *mylog; @@ -47,8 +48,8 @@ int main(int argc, char *argv[]) int rc = 0; char commandstring[STRING_SIZE]; char mkfscommand[STRING_SIZE]; - char *fstypes[] = { "ext2", "ext3", "ReiserFS", NULL }; - int fstype = REISERFS; + char *fstypes[] = { "ext2", "ext3", "ext4", "ReiserFS", NULL }; + int fstype = EXT3; int choice; int i; int found = 0; @@ -253,6 +254,12 @@ int main(int argc, char *argv[]) if (rc == 2) goto EXIT; + fstypes[0]=ctr[TR_EXT2FS_DESCR]; + fstypes[1]=ctr[TR_EXT3FS_DESCR]; + fstypes[2]=ctr[TR_EXT4FS_DESCR]; + fstypes[3]=ctr[TR_REISERFS_DESCR]; + fstypes[4]=NULL; + if (!unattended) { sprintf(message, ctr[TR_CHOOSE_FILESYSTEM]); rc = newtWinMenu( ctr[TR_CHOOSE_FILESYSTEM], message, @@ -260,7 +267,7 @@ int main(int argc, char *argv[]) ctr[TR_CANCEL], NULL); } else { rc = 1; - fstype = REISERFS; + fstype = EXT3; } if (rc == 2) goto EXIT; @@ -370,6 +377,9 @@ int main(int argc, char *argv[]) } else if (fstype == EXT3) { mysystem("/sbin/modprobe ext3"); sprintf(mkfscommand, "/sbin/mke2fs -T ext3"); + } else if (fstype == EXT4) { + mysystem("/sbin/modprobe ext4"); + sprintf(mkfscommand, "/sbin/mke2fs -T ext4"); } snprintf(commandstring, STRING_SIZE, "/sbin/mke2fs -T ext2 -I 128 %s1", hdparams.devnode_part); @@ -482,7 +492,9 @@ int main(int argc, char *argv[]) replace("/harddisk/boot/grub/grub.conf", "MOUNT", "ro"); } else if (fstype == EXT3) { replace("/harddisk/etc/fstab", "FSTYPE", "ext3"); - NOJOURNAL: + replace("/harddisk/boot/grub/grub.conf", "MOUNT", "ro"); + } else if (fstype == EXT4) { + replace("/harddisk/etc/fstab", "FSTYPE", "ext4"); replace("/harddisk/boot/grub/grub.conf", "MOUNT", "ro"); }