#!/usr/bin/python # Copyright 2012 Citrix Systems, Inc. Licensed under the # Apache License, Version 2.0 (the "License"); you may not use this # file except in compliance with the License. Citrix Systems, Inc. # reserves all rights not expressly granted by the License. # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Automatically generated by addcopyright.py at 04/03/2012 # Usage: prepare_tftp_bootfile.py tftp_dir mac cifs_server share directory image_to_restore cifs_username cifs_password import os, sys from sys import exit from os import makedirs from os.path import exists, join fmt1 = '''DEFAULT default PROMPT 1 TIMEOUT 26 DISPLAY boot.msg LABEL default KERNEL %s APPEND ramdisk_size=66000 initrd=%s ksdevice=%s ks=%s ''' fmt2 = '''DEFAULT default PROMPT 1 TIMEOUT 26 DISPLAY boot.msg LABEL default KERNEL %s APPEND ramdisk_size=66000 initrd=%s ks=%s ''' tftp_dir = '' mac = '' kernel = '' initrd = '' ks_file = '' ks_device = '' def prepare(): try: pxelinux = join(tftp_dir, "pxelinux.cfg") if exists(pxelinux) == False: makedirs(pxelinux) cfg_name = "01-" + mac.replace(':','-').lower() cfg_path = join(pxelinux, cfg_name) f = open(cfg_path, "w") if ks_device == '': stuff = fmt2 % (kernel, initrd, ks_file) else: stuff = fmt1 % (kernel, initrd, ks_device, ks_file) f.write(stuff) f.close() return 0 except Exception, e: print e return 1 if __name__ == "__main__": if len(sys.argv) < 7: print "Usage: prepare_kickstart_bootfile.py tftp_dir mac kernel initrd ks_file ks_device" exit(1) (tftp_dir, mac, kernel, initrd, ks_file, ks_device) = sys.argv[1:] ret = prepare() exit(ret)