summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/README37
-rw-r--r--mdk-stage1/dhcp.c2
-rw-r--r--mdk-stage1/stage1.h2
-rw-r--r--mdk-stage1/tools.c1
4 files changed, 41 insertions, 1 deletions
diff --git a/docs/README b/docs/README
index d35508e66..f35b3c49f 100644
--- a/docs/README
+++ b/docs/README
@@ -267,6 +267,43 @@ then, on another computer:
% DISPLAY=test_machine:0 xwd -root | convert - screenshot.png
********************************************************************************
+* Auto install *****************************************************************
+********************************************************************************
+A powerful auto-install system is available. It allows performing
+an install without any human interaction.
+
+To feed automatic parameters to the stage1 part (the textmode
+part - might not be necessary for you if you plan to do
+cdrom-based auto-installs, but mostly highly needed when doing
+network installs), please refer to ../mdk-stage1/doc/TECH-INFOS.
+
+About the stage2 part (the actual installer, at the time you're
+(usually) running in graphical mode), please refer to the nice
+documentation written by David Eastcott. Either install the
+package "drakx-autoinstall-doc" from contrib, or browse:
+
+http://members.shaw.ca/mandrake/drakx/9.0/HTML/
+
+The previous document will explain you how to setup the contents
+of the auto_inst.cfg file. Note that you have 3 alternatives for
+providing this file:
+- from a floppy disk; use "kickstart=floppy" as kernel parameter,
+ as explained in the document
+- from the installation volume itself; put the file in the
+ "Mandrake/base" directory of the installation volume; use
+ "kickstart" only, or "kickstart=filename" to specify another
+ filename than auto_inst.cfg
+- specified by the network; setup your DHCP server to provide the
+ "bootfile" parameter, this file will be used as the
+ "auto_inst.cfg" file, in the case you also provide the
+ "netauto" boot parameter
+
+In any case, if the specified file ends with -IP or -IP.pl, IP
+will be substituted by the IP address of the machine, when doing
+a network install. Might be useful so that you can control all
+your auto installs from your server.
+
+********************************************************************************
* Miscellaneous ****************************************************************
********************************************************************************
> o Media access methods: nfs, ftp, http, hd, cdrom
diff --git a/mdk-stage1/dhcp.c b/mdk-stage1/dhcp.c
index 32c7a932b..a23dafda1 100644
--- a/mdk-stage1/dhcp.c
+++ b/mdk-stage1/dhcp.c
@@ -211,7 +211,7 @@ static void parse_reply(struct bootp_request * breq, struct interface_info * int
unsigned char * chptr;
unsigned char option, length;
- if (breq->bootfile && strlen(breq->bootfile) > 0)
+ if (breq->bootfile && strlen(breq->bootfile) > 0 && IS_NETAUTO)
stage2_kickstart = strdup(breq->bootfile);
memcpy(&intf->ip, &breq->yiaddr, 4);
diff --git a/mdk-stage1/stage1.h b/mdk-stage1/stage1.h
index 8b26fd947..d32543309 100644
--- a/mdk-stage1/stage1.h
+++ b/mdk-stage1/stage1.h
@@ -41,6 +41,7 @@ extern char * stage2_kickstart;
#define MODE_CHANGEDISK (1 << 10)
#define MODE_UPDATEMODULES (1 << 11)
#define MODE_NOAUTO (1 << 12)
+#define MODE_NETAUTO (1 << 13)
#define IS_TESTING (get_param(MODE_TESTING))
#define IS_EXPERT (get_param(MODE_EXPERT))
@@ -51,6 +52,7 @@ extern char * stage2_kickstart;
#define IS_CHANGEDISK (get_param(MODE_CHANGEDISK))
#define IS_UPDATEMODULES (get_param(MODE_UPDATEMODULES))
#define IS_NOAUTO (get_param(MODE_NOAUTO))
+#define IS_NETAUTO (get_param(MODE_NETAUTO))
void fatal_error(char *msg) __attribute__ ((noreturn));
diff --git a/mdk-stage1/tools.c b/mdk-stage1/tools.c
index a921883a8..fd2e556b8 100644
--- a/mdk-stage1/tools.c
+++ b/mdk-stage1/tools.c
@@ -91,6 +91,7 @@ void process_cmdline(void)
if (!strcmp(name, "updatemodules")) set_param(MODE_UPDATEMODULES);
if (!strcmp(name, "rescue")) set_param(MODE_RESCUE);
if (!strcmp(name, "noauto")) set_param(MODE_NOAUTO);
+ if (!strcmp(name, "netauto")) set_param(MODE_NETAUTO);
if (!strcmp(name, "special_stage2")) set_param(MODE_SPECIAL_STAGE2);
if (!strcmp(name, "automatic")) {
set_param(MODE_AUTOMATIC);