X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Finstall%2Bsetup%2Finstall%2Fmain.c;h=b503c8bb1747f38706517a4043255457811c85b0;hp=8f78865d904d3587ebaa3a0271a234898065cf27;hb=68561214b39fe4228b6aed850c0523d13983ce17;hpb=0fc392d65d513df573573dec57ccf06af2c29a9f diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index 8f78865d9..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,8 +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); - mkdir("/harddisk/var/run", 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])) {