diff options
Diffstat (limited to 'mdk-stage1/stage1.c')
-rw-r--r-- | mdk-stage1/stage1.c | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c index 44ed25155..d47cdf316 100644 --- a/mdk-stage1/stage1.c +++ b/mdk-stage1/stage1.c @@ -323,6 +323,7 @@ static enum return_type method_select_and_prepare(void) char * network_nfs_install = "NFS server"; char * network_nfs_install_auto = "nfs"; char * network_ftp_install = "FTP server"; char * network_ftp_install_auto = "ftp"; char * network_http_install = "HTTP server"; char * network_http_install_auto = "http"; + char * network_ka_install = "KA installation"; char * network_ka_install_auto = "ka"; #endif i = 0; @@ -330,6 +331,7 @@ static enum return_type method_select_and_prepare(void) means[i] = network_nfs_install; means_auto[i++] = network_nfs_install_auto; means[i] = network_ftp_install; means_auto[i++] = network_ftp_install_auto; means[i] = network_http_install; means_auto[i++] = network_http_install_auto; + means[i] = network_ka_install; means_auto[i++] = network_ka_install_auto; #endif #ifndef DISABLE_CDROM means[i] = cdrom_install; means_auto[i++] = cdrom_install_auto; @@ -365,6 +367,9 @@ static enum return_type method_select_and_prepare(void) if (!strcmp(choice, network_http_install)) results = http_prepare(); + + if (!strcmp(choice, network_ka_install)) + results = ka_prepare(); #endif if (results != RETURN_OK) @@ -439,23 +444,29 @@ int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)) return 66; if (IS_TESTING) return 0; - + argptr = stage2_args; - *argptr++ = "/usr/bin/runinstall2"; - *argptr++ = "--method"; - *argptr++ = method_name; -#ifdef ENABLE_PCMCIA - if (pcmcia_adapter) { - *argptr++ = "--pcmcia"; - *argptr++ = pcmcia_adapter; - } -#endif - if (disable_modules) - *argptr++ = "--blank"; - if (stage2_kickstart) { - *argptr++ = "--kickstart"; - *argptr++ = stage2_kickstart; - } + if ( kadeploy == 0) { + *argptr++ = "/usr/bin/runinstall2"; + *argptr++ = "--method"; + *argptr++ = method_name; + #ifdef ENABLE_PCMCIA + if (pcmcia_adapter) { + *argptr++ = "--pcmcia"; + *argptr++ = pcmcia_adapter; + } + #endif + if (disable_modules) + *argptr++ = "--blank"; + if (stage2_kickstart) { + *argptr++ = "--kickstart"; + *argptr++ = stage2_kickstart; + } + } +else { + *argptr++ = "/etc/rc.sysinit"; +} + *argptr++ = NULL; execve(stage2_args[0], stage2_args, grab_env()); |