#include "install.h"
#define _GNU_SOURCE
-#define INST_FILECOUNT 10700
+#define INST_FILECOUNT 14400
#define UNATTENDED_CONF "/cdrom/boot/unattended.conf"
+#define LICENSE_FILE "/cdrom/COPYING"
#define EXT2 0
#define EXT3 1
char **langtrs[] = { de_tr, en_tr, fr_tr, es_tr, pl_tr, ru_tr, NULL };
char hdletter;
char harddrive[30], sourcedrive[5]; /* Device holder. */
+ char harddrive_info[STRING_SIZE]; /* Additional infos about target */
struct devparams hdparams, cdromparams; /* Params for CDROM and HD */
int rc = 0;
char commandstring[STRING_SIZE];
int choice;
int i;
int found = 0;
- int firstrun = 0;
char shortlangname[10];
char message[1000];
char title[STRING_SIZE];
}
}
- // 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 iso9660"); // CDROM
// mysystem("/sbin/modprobe ext2"); // Boot patition
if (!unattended) {
sprintf(message, ctr[TR_WELCOME], NAME);
newtWinMessage(title, ctr[TR_OK], message);
-
- if (disclaimerbox(discl_msg)==0) {
- errorbox(ctr[TR_LICENSE_NOT_ACCEPTED]);
- goto EXIT;
- }
}
mysystem("/bin/mountsource.sh");
fgets(sourcedrive, 5, handle);
fprintf(flog, "Source drive: %s\n", sourcedrive);
fclose(handle);
-
+
+ if (!unattended) {
+ // Read the license file.
+ if (!(copying = fopen(LICENSE_FILE, "r"))) {
+ sprintf(discl_msg, "Could not open license file: %s\n", LICENSE_FILE);
+ fprintf(flog, discl_msg);
+ } else {
+ fread(discl_msg, 1, 40000, copying);
+ fclose(copying);
+
+ if (disclaimerbox(discl_msg)==0) {
+ errorbox(ctr[TR_LICENSE_NOT_ACCEPTED]);
+ goto EXIT;
+ }
+ }
+ }
+
i = 0;
while (found == 0) {
i++;
found = 1;
break;
case 10: // No harddisk found
- if (firstrun == 1) {
- errorbox(ctr[TR_NO_HARDDISK]);
- goto EXIT;
- }
- // Do this if the kudzu-scan fails...
- runcommandwithstatus("/bin/probehw.sh deep-scan", ctr[TR_PROBING_HARDWARE]);
- firstrun = 1;
+ errorbox(ctr[TR_NO_HARDDISK]);
+ goto EXIT;
}
}
}
fgets(harddrive, 30, handle);
fclose(handle);
+ if ((handle = fopen("/tmp/dest_device_info", "r")) == NULL) {
+ sprintf(harddrive_info, "%s", harddrive);
+ }
+ fgets(harddrive_info, 70, handle);
+ fclose(handle);
+
/* load unattended configuration */
if (unattended) {
fprintf(flog, "Destination drive: %s\n", hdparams.devnode_disk);
- sprintf(message, ctr[TR_PREPARE_HARDDISK], hdparams.devnode_disk);
+ sprintf(message, ctr[TR_PREPARE_HARDDISK], harddrive_info);
if (unattended) {
hardyn = 1;
} else {
errorbox(ctr[TR_UNABLE_TO_PARTITION]);
goto EXIT;
}
-
+
if (fstype == EXT2) {
// mysystem("/sbin/modprobe ext2");
sprintf(mkfscommand, "/sbin/mke2fs -T ext2");
*/
FILE *f = NULL;
if (f = fopen("/harddisk/boot/grub/device.map", "w")) {
- fprintf(f, "(hd0) %s\n", hdparams.devnode_part);
+ fprintf(f, "(hd0) %s\n", hdparams.devnode_disk);
fclose(f);
}