X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Finstall%2Bsetup%2Finstall%2Fmain.c;h=b503c8bb1747f38706517a4043255457811c85b0;hb=68561214b39fe4228b6aed850c0523d13983ce17;hp=04942fae662690e0dd60f39736e56cf7798ebac2;hpb=09c8a88a54ed9f399f98e86748e7bb3e0daa105f;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index 04942fae6..b503c8bb1 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -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", "Nederlands", "Polski", "Русский", NULL }; - char *shortlangnames[] = { "de", "en", "fr", "es", "nl", "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 {