summaryrefslogtreecommitdiffstats
path: root/mdk-stage1
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2002-10-30 17:22:17 +0000
committerMystery Man <unknown@mandriva.org>2002-10-30 17:22:17 +0000
commit75ebb7492ad8f729ae6ea34960f07b7ed650310c (patch)
tree560408cfbe6ae46f9938457e2dcad4e31e8dc2c4 /mdk-stage1
parentb91853177bc253b1afe8af21bd4fd4ed2f5dcd68 (diff)
downloaddrakx-backup-do-not-use-KA9_0_noscsi.tar
drakx-backup-do-not-use-KA9_0_noscsi.tar.gz
drakx-backup-do-not-use-KA9_0_noscsi.tar.bz2
drakx-backup-do-not-use-KA9_0_noscsi.tar.xz
drakx-backup-do-not-use-KA9_0_noscsi.zip
This commit was manufactured by cvs2svn to create tag 'KA9_0_noscsi'.KA9_0_noscsi
Diffstat (limited to 'mdk-stage1')
-rw-r--r--mdk-stage1/.cvsignore12
-rw-r--r--mdk-stage1/network.c21
-rw-r--r--mdk-stage1/network.h2
-rw-r--r--mdk-stage1/stage1.c43
-rw-r--r--mdk-stage1/stage1.h2
5 files changed, 50 insertions, 30 deletions
diff --git a/mdk-stage1/.cvsignore b/mdk-stage1/.cvsignore
deleted file mode 100644
index a96a43de4..000000000
--- a/mdk-stage1/.cvsignore
+++ /dev/null
@@ -1,12 +0,0 @@
-init
-stage1-full
-stage1-cdrom
-stage1-disk
-stage1-network
-debug.log
-.depend
-*.rdz*
-mkinitrd_helper.tar.bz2
-hack_*
-stage1-usb
-rescue-gui
diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c
index 3d3107ddf..d4517883d 100644
--- a/mdk-stage1/network.c
+++ b/mdk-stage1/network.c
@@ -46,6 +46,7 @@
#include "network.h"
+int kadeploy=0;
static void error_message_net(void) /* reduce code size */
{
@@ -187,6 +188,7 @@ char * domain = NULL;
struct in_addr gateway = { 0 };
struct in_addr dns_server = { 0 };
struct in_addr dns_server2 = { 0 };
+struct in_addr next_server = { 0 };
static int add_default_route(void)
{
@@ -831,3 +833,22 @@ enum return_type http_prepare(void)
return RETURN_OK;
}
+
+enum return_type ka_prepare(void)
+{
+ kadeploy=1; /* We are in a ka deploy mode*/
+ enum return_type results = intf_select_and_up();
+
+ FILE *f = fopen ("/ka/tftpserver","w");
+ if (f != NULL)
+ { fprintf(f,"%s\n",inet_ntoa(next_server));
+ fclose(f);
+ }
+
+ if (results != RETURN_OK)
+ return results;
+
+ method_name = strdup("ka");
+ return RETURN_OK;
+}
+
diff --git a/mdk-stage1/network.h b/mdk-stage1/network.h
index 02eea45b6..5932c58f1 100644
--- a/mdk-stage1/network.h
+++ b/mdk-stage1/network.h
@@ -30,7 +30,7 @@
enum return_type nfs_prepare(void);
enum return_type ftp_prepare(void);
enum return_type http_prepare(void);
-
+enum return_type ka_prepare(void);
enum boot_proto_type { BOOTPROTO_STATIC, BOOTPROTO_DHCP, BOOTPROTO_ADSL_PPPOE };
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());
diff --git a/mdk-stage1/stage1.h b/mdk-stage1/stage1.h
index 8b26fd947..6cda65bf6 100644
--- a/mdk-stage1/stage1.h
+++ b/mdk-stage1/stage1.h
@@ -31,7 +31,7 @@
extern char * method_name;
extern char * interactive_fifo;
extern char * stage2_kickstart;
-
+int kadeploy;
#define MODE_TESTING (1 << 0)
#define MODE_EXPERT (1 << 1)
#define MODE_RESCUE (1 << 3)