]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/install+setup/install/main.c
Changed alternative kernel to a package
[people/pmueller/ipfire-2.x.git] / src / install+setup / install / main.c
index 0fe97a1fdc60813cfa6d0ecda8c502bc0b6ed9fb..910fd96daa26ad4f4cbae06545af196192eaf1d1 100644 (file)
@@ -66,6 +66,7 @@ int main(int argc, char *argv[])
        int unattended = 0;
        struct keyvalue *unattendedkv = initkeyvalues();
        int hardyn = 0;
+       char restore_file[STRING_SIZE] = "";
 
        setlocale (LC_ALL, "");
        sethostname( SNAME , 10);
@@ -208,6 +209,7 @@ int main(int argc, char *argv[])
            fprintf(flog, "unattended: Reading unattended.conf\n");
 
            (void) readkeyvalues(unattendedkv, UNATTENDED_CONF);
+           findkey(unattendedkv, "RESTORE_FILE", restore_file);            
        }
        
        /* Make the hdparms struct and print the contents.
@@ -453,6 +455,7 @@ int main(int argc, char *argv[])
                KERNEL_VERSION);
        mysystem(commandstring);
 */
+
        /* Rename uname */
        rename ("/harddisk/bin/uname.bak", "/harddisk/bin/uname");
 
@@ -525,6 +528,8 @@ int main(int argc, char *argv[])
 /*     snprintf(commandstring, STRING_SIZE, "/sbin/chroot /harddisk /sbin/mkinitcpio -g /boot/ipfirerd-%s-smp.img -k %s-ipfire-smp", KERNEL_VERSION, KERNEL_VERSION );
        runcommandwithstatus(commandstring, ctr[TR_BUILDING_INITRD]);
 */
+
+
        sprintf(string, "root=%s3", hdparams.devnode_part_run);
        replace( "/harddisk/boot/grub/grub.conf", "root=ROOT", string);
        mysystem("ln -s grub.conf /harddisk/boot/grub/menu.lst");
@@ -538,6 +543,14 @@ int main(int argc, char *argv[])
                goto EXIT;
        }
        
+       /* Copy restore file from cdrom */
+       if (unattended && (strlen(restore_file) > 0)) {
+               fprintf(flog, "unattended: Copy restore file\n");
+               snprintf(commandstring, STRING_SIZE, 
+                       "cp /cdrom/%s /harddisk/var/ipfire/backup", restore_file);
+               mysystem(commandstring);
+       }
+       
        mysystem("umount /cdrom");
        snprintf(commandstring, STRING_SIZE, "eject /dev/%s", sourcedrive);
        mysystem(commandstring);