summaryrefslogtreecommitdiffstats
path: root/loader/loader.c
diff options
context:
space:
mode:
authorDavid Cantrell <dcantrell@redhat.com>2008-11-07 11:44:08 -1000
committerDavid Cantrell <dcantrell@redhat.com>2008-11-08 09:14:17 -1000
commit620bdb978bfe46f96f04865e776edd15728b85d8 (patch)
tree686eb6f3c003a940739ed57d201896f8af89b394 /loader/loader.c
parent823437ee38d36cce226f29bd5b4c9d56afe8f60d (diff)
downloadanaconda-620bdb978bfe46f96f04865e776edd15728b85d8.tar.gz
anaconda-620bdb978bfe46f96f04865e776edd15728b85d8.tar.xz
anaconda-620bdb978bfe46f96f04865e776edd15728b85d8.zip
Bring up networking early enough for syslog= param (#470513)
If a user boots from boot.iso and specifies syslog=HOST, we need to send them through the network configuration steps in loader so that networking is available by the time anaconda starts.
Diffstat (limited to 'loader/loader.c')
-rw-r--r--loader/loader.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/loader/loader.c b/loader/loader.c
index af83effde..575aa7fee 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1121,6 +1121,11 @@ static void parseCmdLineFlags(struct loaderData_s * loaderData,
flags |= LOADER_FLAGS_GRAPHICAL;
}
+ if (!strncasecmp(argv[i], "syslog", 6)) {
+ logMessage(INFO, "early networking required for syslog");
+ flags |= LOADER_FLAGS_EARLY_NETWORKING;
+ }
+
if (!strncasecmp(argv[i], "vesa", 4)) {
if (asprintf(&extraArgs[numExtraArgs],
"--xdriver=vesa") == -1) {
@@ -1377,7 +1382,8 @@ static char *doLoaderMain(struct loaderData_s *loaderData,
}
case STEP_DRIVER: {
- if (class == -1 || haveDeviceOfType(class)) {
+ if ((FL_EARLY_NETWORKING(flags) && haveDeviceOfType(DEVICE_NETWORK)) ||
+ (class == -1 || haveDeviceOfType(class))) {
step = STEP_NETWORK;
dir = 1;
class = -1;
@@ -1437,7 +1443,8 @@ static char *doLoaderMain(struct loaderData_s *loaderData,
case STEP_NETWORK: {
if ((installMethods[validMethods[loaderData->method]].type !=
DEVICE_NETWORK) && (!hasGraphicalOverride()) &&
- !FL_ASKNETWORK(flags)) {
+ !FL_ASKNETWORK(flags) &&
+ !FL_EARLY_NETWORKING(flags)) {
needsNetwork = 0;
if (dir == 1)
step = STEP_STAGE2;