]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/install+setup/install/main.c
glibc: fix image, updater and filecount in installer.
[people/teissler/ipfire-2.x.git] / src / install+setup / install / main.c
index 258b3e47feba44f00f9a6b5b56f0eb12d2e11778..b503c8bb1747f38706517a4043255457811c85b0 100644 (file)
@@ -12,7 +12,7 @@
 #include "install.h"
 #define _GNU_SOURCE
  
-#define INST_FILECOUNT 14400
+#define INST_FILECOUNT 21000
 #define UNATTENDED_CONF "/cdrom/boot/unattended.conf"
 #define LICENSE_FILE   "/cdrom/COPYING"
 
@@ -35,17 +35,19 @@ extern char *en_tr[];
 extern char *es_tr[];
 extern char *de_tr[];
 extern char *fr_tr[];
+extern char *nl_tr[];
 extern char *pl_tr[];
 extern char *ru_tr[];
+extern char *tr_tr[];
 
 int main(int argc, char *argv[])
 {
 
        char discl_msg[40000] = "Disclaimer\n";
 
-       char *langnames[] = { "Deutsch", "English", "Français", "Español", "Polski", "Русский", NULL };
-       char *shortlangnames[] = { "de", "en", "fr", "es", "pl", "ru", NULL };
-       char **langtrs[] = { de_tr, en_tr, fr_tr, es_tr, pl_tr, ru_tr, NULL };
+       char *langnames[] = { "Deutsch", "English", "Français", "Español", "Nederlands", "Polski", "Русский", "Türkçe", NULL };
+       char *shortlangnames[] = { "de", "en", "fr", "es", "nl", "pl", "ru", "tr", NULL };
+       char **langtrs[] = { de_tr, en_tr, fr_tr, es_tr, nl_tr, pl_tr, ru_tr, tr_tr, NULL };
        char hdletter;
        char harddrive[30], sourcedrive[5];     /* Device holder. */
        char harddrive_info[STRING_SIZE];       /* Additional infos about target */
@@ -276,7 +278,7 @@ int main(int argc, char *argv[])
                        ctr[TR_CANCEL], NULL);
        } else {
            rc = 1;
-           fstype = EXT3;
+           fstype = EXT4;
        }
        if (rc == 2)
                goto EXIT;
@@ -370,7 +372,14 @@ int main(int argc, char *argv[])
 
        fclose(handle);
 
-       snprintf(commandstring, STRING_SIZE, "/sbin/sfdisk -L -uM %s < /tmp/partitiontable", hdparams.devnode_disk);
+       if (disk < 2097150) {
+               // <2TB use sfdisk and normal mbr
+               snprintf(commandstring, STRING_SIZE, "/sbin/sfdisk -L -uM %s < /tmp/partitiontable", hdparams.devnode_disk);
+       } else {
+               // >2TB use parted with gpt
+               snprintf(commandstring, STRING_SIZE, "/usr/sbin/parted -s %s mklabel gpt mkpart boot ext2 1M 64M mkpart swap linux-swap 64M 1000M mkpart root ext4 1000M 5000M mkpart var ext4 5000M 100%% disk_set pmbr_boot on", hdparams.devnode_disk);
+       }
+
        if (runcommandwithstatus(commandstring, ctr[TR_PARTITIONING_DISK]))
        {
                errorbox(ctr[TR_UNABLE_TO_PARTITION]);
@@ -431,7 +440,7 @@ int main(int argc, char *argv[])
        mkdir("/harddisk/boot", S_IRWXU|S_IRWXG|S_IRWXO);
        mkdir("/harddisk/var", S_IRWXU|S_IRWXG|S_IRWXO);
        mkdir("/harddisk/var/log", S_IRWXU|S_IRWXG|S_IRWXO);
-       
+
        snprintf(commandstring, STRING_SIZE, "/bin/mount %s1 /harddisk/boot", hdparams.devnode_part);
        if (runcommandwithstatus(commandstring, ctr[TR_MOUNTING_BOOT_FILESYSTEM]))
        {
@@ -595,12 +604,6 @@ EXIT:
                fclose(flog);
                newtFinished();
 
-               if (unattended) {
-                       // Remove Setup autorun after boot
-                       if (system("rm -f /harddisk/etc/rc.d/rcsysinit.d/S75firstsetup"))
-                               printf("Unable to disable setup autorun.\n");
-               }
-
                if (system("/bin/umount /harddisk/proc"))
                        printf("Unable to umount /harddisk/proc.\n"); 
        } else {