diff options
-rw-r--r-- | docs/README | 37 | ||||
-rw-r--r-- | mdk-stage1/dhcp.c | 2 | ||||
-rw-r--r-- | mdk-stage1/stage1.h | 2 | ||||
-rw-r--r-- | mdk-stage1/tools.c | 1 |
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); |