if (class) {
@@ -1688,12 +1692,17 @@ void setKickstartNetwork(struct loaderData_s * loaderData, int argc,
loaderData->noDns = 1;
}
- /* Make sure the network is always up if there's a network line in the
- * kickstart file, as %post/%pre scripts might require that.
- */
- if (loaderData->method != METHOD_NFS && loaderData->method != METHOD_URL) {
- if (kickstartNetworkUp(loaderData, &iface))
- logMessage(ERROR, "unable to bring up network");
+ if (!is_nm_connected()) {
+ logMessage(INFO, "activating because no network connection is available");
+ activateDevice(loaderData, &iface);
+ return;
+ }
+
+ if (activate) {
+ logMessage(INFO, "activating because --activate flag is set");
+ activateDevice(loaderData, &iface);
+ } else {
+ logMessage(INFO, "not activating becuase --activate flag is not set");
}
}
@@ -1983,7 +1992,6 @@ int chooseNetworkInterface(struct loaderData_s * loaderData) {
* kickstart install so that we can do things like grab the ks.cfg from
* the network */
int kickstartNetworkUp(struct loaderData_s * loaderData, iface_t * iface) {
- int rc, err;
+ return activateDevice(loaderData, iface);
+
+}
+
+int activateDevice(struct loaderData_s * loaderData, iface_t * iface) {
+ int rc;
+
do {
do {
/* this is smart and does the right thing based on whether or not
@@ -2026,12 +2041,13 @@ int kickstartNetworkUp(struct loaderData_s * loaderData, iface_t * iface) {
loaderData->method);
if (rc == LOADER_ERROR) {
- logMessage(ERROR, "unable to setup networking");
+ logMessage(ERROR, "unable to activate device %s", iface->device);
return -1;
} else if (rc == LOADER_BACK) {
/* Going back to the interface selection screen, so unset anything
* we set before attempting to bring the incorrect interface up.
*/
+ logMessage(ERROR, "unable to activate device %s", iface->device);
if ((rc = writeDisabledNetInfo()) != 0) {
logMessage(ERROR, "writeDisabledNetInfo failure (%s): %d",
__func__, rc);
@@ -2046,24 +2062,10 @@ int kickstartNetworkUp(struct loaderData_s * loaderData, iface_t * iface) {
break;
}
- err = writeEnabledNetInfo(iface);
- if (err) {
- logMessage(ERROR,
- "failed to write %s data for %s (%d)",
- SYSCONFIG_PATH, iface->device, err);
- return -1;
- }
-
- err = get_connection(iface);
- newtPopWindow();
-
- if (err) {
- logMessage(ERROR, "failed to start NetworkManager (%d)", err);
- return -1;
- }
} while (1);