X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Finstall%2Bsetup%2Finstall%2Fmain.c;h=dc3ac1934029f7be773e966de70af2eedba719e5;hp=d023b69b0809cf6db56ee68aa7a568840d3c8064;hb=57e682114e87ea9ed4cc419aea17dfd63cf3917b;hpb=23ed79cb4910cf6c869399aab6457003dbcaa79d diff --git a/src/install+setup/install/main.c b/src/install+setup/install/main.c index d023b69b08..dc3ac19340 100644 --- a/src/install+setup/install/main.c +++ b/src/install+setup/install/main.c @@ -35,6 +35,9 @@ extern char *fr_tr[]; int main(int argc, char *argv[]) { + + char discl_msg[40000] = "Disclaimer\n"; + char *langnames[] = { "Deutsch", "English", "Français", "Español", NULL }; char *shortlangnames[] = { "de", "en", "fr", "es", NULL }; char **langtrs[] = { de_tr, en_tr, fr_tr, es_tr, NULL }; @@ -57,7 +60,7 @@ int main(int argc, char *argv[]) int allok_fastexit=0; int raid_disk = 0; struct keyvalue *ethernetkv = initkeyvalues(); - FILE *handle, *cmdfile; + FILE *handle, *cmdfile, *copying; char line[STRING_SIZE]; char string[STRING_SIZE]; long memory = 0, disk = 0, free; @@ -108,31 +111,20 @@ int main(int argc, char *argv[]) } } - // Load ata-piix prior kudzu because kudzu use ata-generic for ich7 -// mysystem("/sbin/modprobe ata_piix"); - - // Starting hardware detection -// runcommandwithstatus("/bin/probehw.sh", "Probing Hardware ..."); + // Read gpl ... + if (! (copying = fopen("/COPYING", "r"))) + { + fprintf(flog, "Couldn't open gpl (/COPYING)\n"); + sprintf(discl_msg, "Couldn't open gpl (/COPYING)\n"); + } else { + fread(discl_msg, 1, 40000, copying); + fclose(copying); + } // Load common modules -// mysystem("/sbin/modprobe ide-generic"); -// mysystem("/sbin/modprobe ide-cd"); -// mysystem("/sbin/modprobe ide-disk"); -// mysystem("/sbin/modprobe ehci-hcd"); -// mysystem("/sbin/modprobe uhci-hcd"); -// mysystem("/sbin/modprobe ohci-hcd"); -// mysystem("/sbin/modprobe ohci1394"); -// mysystem("/sbin/modprobe sd_mod"); -// mysystem("/sbin/modprobe sr_mod"); -// mysystem("/sbin/modprobe usb-storage"); -// mysystem("/sbin/modprobe usbhid"); -// mysystem("/sbin/modprobe ahci"); - mysystem("/sbin/modprobe iso9660"); // CDROM mysystem("/sbin/modprobe ext2"); // Boot patition mysystem("/sbin/modprobe vfat"); // USB key - - runcommandwithstatus("/bin/sleep 10", "Waiting for USB Hardware ..."); /* German is the default */ for (choice = 0; langnames[choice]; choice++) @@ -156,6 +148,13 @@ int main(int argc, char *argv[]) sprintf(message, ctr[TR_WELCOME], NAME); newtWinMessage(title, ctr[TR_OK], message); + if (!unattended) { + if (disclaimerbox(discl_msg)==0) { + errorbox(ctr[TR_LICENSE_NOT_ACCEPTED]); + goto EXIT; + } + } + switch (mysystem("/bin/mountsource.sh")) { case 0: break; @@ -231,11 +230,6 @@ int main(int argc, char *argv[]) sprintf(hdparams.devnode_part, "/dev/%s%s", harddrive,raid_disk ? "p" : ""); /* Now the names after the machine is booted. Only scsi is affected and we only install on the first scsi disk. */ - { char tmp[30]; - strcpy(tmp, scsi_disk ? "sda" : harddrive); - sprintf(hdparams.devnode_disk_run, "/dev/%s", tmp); - sprintf(hdparams.devnode_part_run, "/dev/%s%s", tmp, raid_disk ? "p" : ""); - } fprintf(flog, "Destination drive: %s\n", hdparams.devnode_disk); @@ -453,17 +447,6 @@ int main(int argc, char *argv[]) /* Save language und local settings */ write_lang_configs(shortlangname); -// /* touch the modules.dep files */ -// snprintf(commandstring, STRING_SIZE, -// "/bin/touch /harddisk/lib/modules/%s-ipfire/modules.dep", -// KERNEL_VERSION); -// mysystem(commandstring); -/* snprintf(commandstring, STRING_SIZE, - "/bin/touch /harddisk/lib/modules/%s-ipfire-smp/modules.dep", - KERNEL_VERSION); - mysystem(commandstring); -*/ - /* Rename uname */ rename ("/harddisk/bin/uname.bak", "/harddisk/bin/uname"); @@ -482,8 +465,15 @@ int main(int argc, char *argv[]) } /* Update /etc/fstab */ - replace("/harddisk/etc/fstab", "DEVICE", hdparams.devnode_part_run); - + snprintf(commandstring, STRING_SIZE, "/bin/sed -i -e \"s#DEVICE1#UUID=$(/sbin/blkid %s1 -sUUID | /usr/bin/cut -d'\"' -f2)#g\" /harddisk/etc/fstab", hdparams.devnode_part); + system(commandstring); + snprintf(commandstring, STRING_SIZE, "/bin/sed -i -e \"s#DEVICE2#UUID=$(/sbin/blkid %s2 -sUUID | /usr/bin/cut -d'\"' -f2)#g\" /harddisk/etc/fstab", hdparams.devnode_part); + system(commandstring); + snprintf(commandstring, STRING_SIZE, "/bin/sed -i -e \"s#DEVICE3#UUID=$(/sbin/blkid %s3 -sUUID | /usr/bin/cut -d'\"' -f2)#g\" /harddisk/etc/fstab", hdparams.devnode_part); + system(commandstring); + snprintf(commandstring, STRING_SIZE, "/bin/sed -i -e \"s#DEVICE4#UUID=$(/sbin/blkid %s4 -sUUID | /usr/bin/cut -d'\"' -f2)#g\" /harddisk/etc/fstab", hdparams.devnode_part); + system(commandstring); + if (fstype == EXT2) { replace("/harddisk/etc/fstab", "FSTYPE", "ext2"); replace("/harddisk/boot/grub/grub.conf", "MOUNT", "ro"); @@ -491,20 +481,6 @@ int main(int argc, char *argv[]) replace("/harddisk/etc/fstab", "FSTYPE", "reiserfs"); replace("/harddisk/boot/grub/grub.conf", "MOUNT", "ro"); } else if (fstype == EXT3) { - //snprintf(commandstring, STRING_SIZE, "tune2fs -j %s3", hdparams.devnode_part); - //if (runcommandwithstatus(commandstring, ctr[TR_JOURNAL_EXT3])) - //{ - // errorbox(ctr[TR_JOURNAL_ERROR]); - // replace("/harddisk/etc/fstab", "FSTYPE", "ext2"); - // goto NOJOURNAL; - //} - //snprintf(commandstring, STRING_SIZE, "tune2fs -j %s4", hdparams.devnode_part); - //if (runcommandwithstatus(commandstring, ctr[TR_JOURNAL_EXT3])) - //{ - // errorbox(ctr[TR_JOURNAL_ERROR]); - // replace("/harddisk/etc/fstab", "FSTYPE", "ext2"); - // goto NOJOURNAL; - //} replace("/harddisk/etc/fstab", "FSTYPE", "ext3"); NOJOURNAL: replace("/harddisk/boot/grub/grub.conf", "MOUNT", "ro"); @@ -512,15 +488,12 @@ int main(int argc, char *argv[]) replace("/harddisk/boot/grub/grub.conf", "KVER", KERNEL_VERSION); - /* Going to make our initrd... */ -/* snprintf(commandstring, STRING_SIZE, "/usr/sbin/chroot /harddisk /usr/local/bin/rebuild-initrd"); - runcommandwithstatus(commandstring, ctr[TR_BUILDING_INITRD]); -*/ - sprintf(string, "root=%s3", hdparams.devnode_part_run); - replace( "/harddisk/boot/grub/grub.conf", "root=ROOT", string); + snprintf(commandstring, STRING_SIZE, "/bin/sed -i -e \"s#root=ROOT#root=UUID=$(/sbin/blkid %s3 -sUUID | /usr/bin/cut -d'\"' -f2)#g\" /harddisk/boot/grub/grub.conf", hdparams.devnode_part); + system(commandstring); + mysystem("ln -s grub.conf /harddisk/boot/grub/menu.lst"); - system("sed -e 's#/harddisk#/#g' -e 's#//#/#g' < /proc/mounts > /harddisk/etc/mtab"); + system("/bin/sed -e 's#/harddisk#/#g' -e 's#//#/#g' < /proc/mounts > /harddisk/etc/mtab"); snprintf(commandstring, STRING_SIZE, "/usr/sbin/chroot /harddisk /usr/sbin/grub-install --no-floppy %s", hdparams.devnode_disk);