forked from netbootxyz/netboot.xyz-custom
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcustom.ipxe
87 lines (76 loc) · 2.48 KB
/
custom.ipxe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!ipxe
# Ubuntu Operating System
# http://www.ubuntu.org
goto ${menu}
:ubuntu
set os Ubuntu
clear ubuntu_version
set ubuntu_mirror ${mirror}
menu ${os} - ${arch_a} - Image Sig Checks: [${img_sigs_enabled}]
item --gap Latest Releases
item zesty ${space} ${os} 17.04 Zesty Zapus
item yakkety ${space} ${os} 16.10 Yakkety Yak
item xenial ${space} ${os} 16.04 LTS Xenial Xerus
item wily ${space} ${os} 15.10 Wily Werewolf
item vivid ${space} ${os} 15.04 Vivid Vervet
item trusty ${space} ${os} 14.04 LTS Trusty Tahr
item precise ${space} ${os} 12.04 LTS Precise Pangolin
item --gap Older Releases
item older_release ${space} Set release codename...
choose ubuntu_version || goto ubuntu_exit
iseq ${ubuntu_version} older_release && goto older_release ||
goto mirrorcfg
:older_release
set older_release true
set ubuntu_mirror old-releases.ubuntu.com
echo Setting mirror to ${ubuntu_mirror}
clear ubuntu_version
echo -n Please set enter code name of release: ${} && read ubuntu_version
set dir ubuntu/dists/${ubuntu_version}/main/installer-${arch_a}/current/images/netboot/
goto deb_boot_type
:mirrorcfg
set mirrorcfg mirror/suite=${ubuntu_version}
set dir ubuntu/dists/${ubuntu_version}/main/installer-${arch_a}/current/images/netboot/
:deb_boot_type
menu ${os} [${ubuntu_version}] Installer
item --gap Install types
item install ${space} Install
item rescue ${space} Rescue Mode
item expert ${space} Expert Install
item preseed ${space} Specify preseed url...
choose --default ${type} type || goto ubuntu
echo ${cls}
goto deb_${type}
:deb_rescue
set install_params rescue/enable=true
goto deb_boot
:deb_expert
set install_params priority=low
goto deb_boot
:deb_preseed
echo -n Specify preseed URL for ${os} ${ubuntu_version}: && read preseedurl
set install_params auto=true priority=critical netcfg/choose_interface=auto preseed/url=${preseedurl}
goto deb_boot
:deb_install
:deb_boot
set dir ${dir}${menu}-installer/${arch_a}
imgfree
kernel http://${ubuntu_mirror}/${dir}/linux ${install_params} ${netcfg} ${mirrorcfg} ${console} -- quiet ${params}
initrd http://${ubuntu_mirror}/${dir}/initrd.gz
echo
echo MD5sums:
md5sum linux initrd.gz
iseq ${img_sigs_enabled} true && iseq ${older_release} true && goto skip_sigs ||
iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
:verify_sigs
echo
echo Checking signatures...
imgverify linux ${sigs}${dir}/linux.sig || goto error
imgverify initrd.gz ${sigs}${dir}/initrd.gz.sig || goto error
echo Signatures verified!
echo
:skip_sigs
boot
:ubuntu_exit
clear menu
exit 0