#!/usr/bin/python
# Script to add Kernel Flags = npci=0x2000 for Chameleon boot loaders
import sys
import os
import shutil
vol = str(sys.argv[3])
# Check for .ChameleonEFI file at root of target volume
# to indicate user wants to install to EFI system partition.
espfile = "/.ChameleonEFI"
espvol = vol + espfile
if os.path.exists(espvol):
if not os.path.exists('/Volumes/EFI/Extra'):
os.makedirs('/Volumes/EFI/Extra')
plist = "/Volumes/EFI/Extra/org.chameleon.Boot.plist"
else:
boot = "/Extra/org.chameleon.Boot.plist"
plist = vol + boot
if not os.path.exists(plist):
shutil.copy('/Library/Preferences/SystemConfiguration/com.apple.Boot.plist', plist)
infile = open(plist, "r")
# check if Kernel Flags has been written or not
KernelFlagsCheck = False
body = ""
for line in infile:
# if we finish the tags and haven't written Kernel Flags Yet
if "" in line and KernelFlagsCheck == False:
line = " Kernel Flags\n"
line += " npci=0x2000\n"
line += "\n"
KernelFlagsCheck = True
body += line
infile.close()
outfile = open(plist, "w")
outfile.write(body)
outfile.close()