summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xanaconda4
-rw-r--r--loader2/loader.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/anaconda b/anaconda
index 0114ec604..9f61fe8f4 100755
--- a/anaconda
+++ b/anaconda
@@ -394,7 +394,7 @@ try:
'testpath=', 'mountfs', 'traceonly', 'kickstart=',
'lang=', 'keymap=', 'kbdtype=', 'module=', 'class=',
'expert', 'serial', 'lowres', 'nofb', 'rescue', 'nomount',
- 'autostep', 'resolution=', 'skipddc',
+ 'autostep', 'resolution=', 'skipddc', 'noselinux',
'vnc', 'vncconnect=', 'cmdline', 'headless'])
except TypeError, msg:
sys.stderr.write("Error %s\n:" % msg)
@@ -510,6 +510,8 @@ for n in args:
# run native X server at specified resolution, ignore fb
runres = arg
runres_override = 1
+ elif (str == '--noselinux'):
+ flags.selinux = 0
elif (str == "--skipddc"):
skipddc = 1
elif (str == "--autostep"):
diff --git a/loader2/loader.c b/loader2/loader.c
index 84f6a49c3..9766ece55 100644
--- a/loader2/loader.c
+++ b/loader2/loader.c
@@ -1354,6 +1354,8 @@ int main(int argc, char ** argv) {
} else {
if (loadpolicy() == 0) {
setexeccon(ANACONDA_CONTEXT);
+ } else {
+ flags |= FL_NO_SELINUX;
}
}
}
@@ -1406,6 +1408,8 @@ int main(int argc, char ** argv) {
*argptr++ = "-C";
if (FL_EXPERT(flags))
*argptr++ = "--expert";
+ if (FL_NOSELINUX(flags))
+ *argptr++ = "--noselinux";
if (FL_KICKSTART(flags)) {
*argptr++ = "--kickstart";