d-i netcfg/choose_interface select auto
#d-i netcfg/dhcp_timeout string 1
-
-d-i netcfg/use_dhcp boolean false
-# If you prefer to configure the network manually, uncomment this line and
-# the static network configuration below.
-d-i netcfg/disable_dhcp boolean true
-
-# Static network configuration.
-d-i netcfg/get_nameservers string 18.72.0.3
-# at bottom #d-i netcfg/get_ipaddress string fillme
-d-i netcfg/get_netmask string 255.255.0.0
-d-i netcfg/get_gateway string 18.181.0.1
-d-i netcfg/confirm_static boolean true
+d-i netcfg/use_dhcp boolean true
# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# sipb-xen: automatically filled-in values get appended here.
-# at bottom #d-i netcfg/get_ipaddress string fillme
-# at bottom #d-i netcfg/get_hostname string fillme
# at bottom #d-i passwd/root-password-crypted password [MD5 hash]
import sys
import os
+import shutil
+import tempfile
from subprocess import call
-def make_debian_cd(basetree, guest_ip, guest_hostname, passhash, output_iso):
+def make_debian_cd(basetree, passhash):
old_preseed = file(os.path.join(basetree, 'preseed.cfg'))
- cdtree = os.path.join(basetree, 'cdrom')
+ tmptree = tempfile.mkdtemp('', 'auto-install.', '/tmp')
+ cdtree = os.path.join(tmptree, 'cdrom')
+ shutil.copytree(os.path.join(basetree, 'cdrom'), cdtree, symlinks=True)
new_preseed = file(os.path.join(cdtree, 'preseed.cfg'), 'w')
new_preseed.write(old_preseed.read())
- new_preseed.write('d-i netcfg/get_ipaddress string '+guest_ip+'\n')
- new_preseed.write('d-i netcfg/get_hostname string '+guest_hostname+'\n')
new_preseed.write('d-i passwd/root-password-crypted password '+passhash+'\n')
new_preseed.close()
+ output_iso = os.path.join(tmptree, 'install.iso')
call('''mkisofs -r -V "SIPB-Xen_Custom_Install_CD" -cache-inodes -J -l
-b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table'''.split()
+ ['-o', output_iso, cdtree])
+ return output_iso
if __name__ == '__main__':
- make_debian_cd(*sys.argv[1:])
+ print make_debian_cd(*sys.argv[1:])