X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Finstall%2Bsetup%2Finstall%2Fmain.c;h=b503c8bb1747f38706517a4043255457811c85b0;hb=68561214b39fe4228b6aed850c0523d13983ce17;hp=8525e535502764e2e78b187a25b5ea2c56031333;hpb=ff7d5a290eed45d217b50cd321ad63b2bfd44e61;p=people%2Fteissler%2Fipfire-2.x.git diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index 8525e5355..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" @@ -372,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]); @@ -433,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])) {