source: llx-bootmanager/trunk/fuentes/install.llx-bootmanager/usr/share/llxbootmanager/www-boot/menu.ipxe @ 415

Last change on this file since 415 was 415, checked in by hectorgh, 4 years ago

adding project files

File size: 24.7 KB
Line 
1#!ipxe
2
3# Variables are specified in boot.ipxe.cfg
4
5# Some menu defaults
6set menu-timeout 5000
7set submenu-timeout ${menu-timeout}
8isset ${menu-default} || set menu-default exit
9
10# Figure out if client is 64-bit capable
11cpuid --ext 29 && set arch x64 || set arch x86
12cpuid --ext 29 && set archl amd64 || set archl i386
13
14###################### MAIN MENU ####################################
15
16:start
17menu iPXE boot menu for ${initiator-iqn}
18item --gap --             ------------------------- Operating systems ------------------------------
19item --key f freedos      Boot FreeDOS from iSCSI
20item --key m msdos        Boot MS-DOS from iSCSI
21item --key u ubuntu       Boot Ubuntu from iSCSI
22item --key v vmware       Boot VMware ESXi from iSCSI
23item --key w windows7     Boot Windows 7 from iSCSI
24item --key l menu-live    Live environments...
25item --gap --             ------------------------- Tools and utilities ----------------------------
26item --key p pxelinux     Load PXELinux menu
27item --key r menu-recovery Recovery tools...
28item --key d menu-diag    Diagnostics tools...
29item --key i menu-install Installers...
30item --gap --             ------------------------- Advanced options -------------------------------
31item --key c config       Configure settings
32item shell                Drop to iPXE shell
33item reboot               Reboot computer
34item
35item --key x exit         Exit iPXE and continue BIOS boot
36choose --timeout ${menu-timeout} --default ${menu-default} selected || goto cancel
37set menu-timeout 0
38goto ${selected}
39
40:cancel
41echo You cancelled the menu, dropping you to a shell
42
43:shell
44echo Type 'exit' to get the back to the menu
45shell
46set menu-timeout 0
47set submenu-timeout 0
48goto start
49
50:failed
51echo Booting failed, dropping to shell
52goto shell
53
54:reboot
55reboot
56
57:exit
58exit
59
60:config
61config
62goto start
63
64:back
65set submenu-timeout 0
66clear submenu-default
67goto start
68
69############ MAIN MENU ITEMS ############
70
71:freedos
72echo Booting FreeDOS from iSCSI for ${initiator-iqn}
73set root-path ${base-iscsi}:${hostname}.boot.freedos
74sanboot ${root-path} || goto failed
75goto start
76
77:msdos
78echo Booting MS-DOS from iSCSI for ${initiator-iqn}
79set root-path ${base-iscsi}:${hostname}.boot.msdos
80sanboot ${root-path} || goto failed
81goto start
82
83:ubuntu
84echo Booting Ubuntu from iSCSI for ${initiator-iqn}
85set root-path ${base-iscsi}:${hostname}.boot.ubuntu
86sanboot ${root-path} || goto failed
87goto start
88
89:vmware
90echo Booting VMware ESXi from iSCSI for ${initiator-iqn}
91set root-path ${base-iscsi}:${hostname}.boot.vmware
92sanboot ${root-path} || goto failed
93goto start
94
95:windows7
96echo Booting Windows 7 from iSCSI for ${initiator-iqn}
97# Force gateway to be the iSCSI target server (kludge for stupid window behavior)
98set netX/gateway ${iscsi-server}
99set root-path ${base-iscsi}:${hostname}.boot.windows7
100sanboot ${root-path} || goto failed
101goto start
102
103:pxelinux
104#set 210:string tftp://${next-server}/
105set 210:string http://10.2.1.254/pxe/
106chain ${210:string}pxelinux.0 || goto failed
107goto start
108
109###################### RECOVERY MENU ################################
110
111:menu-recovery
112menu Recovery tools
113item sysrcd          SystemRescueCD ${sysrcd-version}
114item spinrite        SpinRite ${spinrite-version}
115item spinrite-msdos  SpinRite ${spinrite-version} (using MS-DOS 6.22)
116item macrium-winpe Macrium Reflect ${macrium-version} Rescue CD (WinPE 4.0 ${arch})
117item macrium-winpe-sanboot   Macrium Reflect ${macrium-version} Rescue CD (WinPE 4.0 ${arch} with sanboot)
118item macrium-linux   Macrium Reflect ${macrium-version} Rescue CD (Linux ${arch})
119item macrium-linux-sanboot   Macrium Reflect ${macrium-version} Rescue CD (Linux ${arch} with sanboot)
120item firefly         Firefly IllumOS recovery environment ${firefly-version}
121item freedos-direct  FreeDOS 1.1 (directly using iPXE)
122item
123item --key 0x08 back Back to top menu...
124iseq ${menu-default} menu-recovery && isset ${submenu-default} && goto menu-recovery-timed ||
125choose selected && goto ${selected} || goto start
126:menu-recovery-timed
127choose --timeout ${submenu-timeout} --default ${submenu-default} selected && goto ${selected} || goto start
128
129:spinrite
130sanboot --no-describe --drive 0x00 ${sanboot-url}spinrite-${spinrite-version}/spinrite-${spinrite-version}.img || goto failed
131#sanboot --no-describe --drive 0x081 ${sanboot-url}spinrite-${spinrite-version}/spinrite-${spinrite-version}.iso
132#initrd spinrite/spinrite-${spinrite-version}.img
133#chain memdisk
134goto start
135
136:spinrite-msdos
137sanboot --no-describe --drive 0x00 ${sanboot-url}spinrite-${spinrite-version}/spinrite-${spinrite-version}-msdos.img || goto failed
138goto start
139
140:sysrcd
141echo Booting SystemRescueCD ${sysrcd-version} x86 for ${initiator-iqn}
142# Fixup needed after copying files from downloaded ISO to directory:
143#  cd path/to/sysrcd-iso-unpacked-files/isolinux && \
144#   perl -p -i -e 's{/bootdisk}{../bootdisk}' isolinux.cfg && \
145#   perl -p -i -e 's{scandelay=1}{scandelay=1 dodhcp netboot=nfs://nas.smidsrod.lan:/raid/boot/sysrcd-3.8.0-x86}g' isolinux.cfg && \
146#   perl -p -i -e 's{setkmap=us}{setkmap=us dodhcp netboot=nfs://nas.smidsrod.lan:/raid/boot/sysrcd-3.8.0-x86}g' isolinux.cfg && \
147#   perl -p -i -e 's{rescuecd_us}{rescuecd_no}; s{US}{NO}; s{setkmap=us}{setkmap=no}g; s{american}{norwegian};' isolinux.cfg && \
148#   cd -
149# PXELinux options, see http://syslinux.zytor.com/wiki/index.php/PXELINUX for details
150set 210:string ${boot-url}sysrcd-${sysrcd-version}-x86/isolinux/
151set 209:string isolinux.cfg
152set filename ${210:string}pxelinux.0
153chain ${filename} || goto failed
154goto start
155
156:macrium-winpe
157echo Booting Macrium Reflect ${macrium-version} (WinPE 4.0 ${arch}) for ${initiator-iqn}
158set base-url macrium-${macrium-version}/macrium-${macrium-version}-rescue-winpe-4.0-${arch}
159kernel wimboot
160initrd ${base-url}/bootmgr          bootmgr
161initrd ${base-url}/Boot/BCD         BCD
162initrd ${base-url}/Boot/boot.sdi    boot.sdi
163initrd ${base-url}/sources/boot.wim boot.wim
164boot || goto failed
165goto start
166
167:macrium-linux
168echo Booting Macrium Reflect ${macrium-version} (Linux ${arch}) for ${initiator-iqn}
169set base-url macrium-${macrium-version}/macrium-${macrium-version}-rescue-linux
170kernel ${base-url}/vmlinuz
171initrd ${base-url}/initramfs.xz
172imgargs vmlinuz vga=0x317
173boot || goto failed
174goto start
175
176:macrium-winpe-sanboot
177sanboot --no-describe ${sanboot-url}macrium-${macrium-version}/macrium-${macrium-version}-rescue-winpe-4.0-${arch}.iso || goto failed
178goto start
179
180:macrium-linux-sanboot
181sanboot --no-describe ${sanboot-url}macrium-${macrium-version}/macrium-${macrium-version}-rescue-linux.iso || goto failed
182goto start
183
184:firefly
185echo Booting Firefly ${firefly-version} for ${initiator-iqn}
186set base-url firefly-${firefly-version}/boot
187# http://alexeremin.blogspot.no/2013/05/firefly-failsafe-image-for-illumos.html
188# http://sourceforge.net/projects/fireflyfailsafe/files/
189# Download ISO, unpack ISO and copy files to boot-url
190# The ramdisk is compressed with gzip, which must be unpacked
191# to work with iPXE
192# mv firefly firefly.gz
193# gunzip firefly.gz
194kernel ${base-url}/platform/i86pc/kernel/amd64/unix
195module ${base-url}/firefly
196boot || goto failed
197goto start
198
199:freedos-direct
200echo Booting FreeDOS 1.1 KERNEL.SYS for ${initiator-iqn}
201set base-url freedos-1.1/fd11src/FREEDOS/SETUP/ODIN
202# TODO: Work-in-progress
203kernel ${base-url}/KERNEL.SYS
204boot || goto failed
205goto start
206
207###################### DIAGNOSTICS MENU #############################
208
209:menu-diag
210menu Diagnostic tools
211item hdt           HDT ${hdt-version}
212item memtest       Memtest86+ 4.20
213item memtest-ipxe  Memtest86+ 4.20 (iPXE)
214item breakin       Breakin 3.71
215item dban          Darik's Boot and Nuke 2.2.7
216item etdump        Bart's etdump 1.2
217item wdcdiag       Western Digital Diagnostics 5.04f
218item
219item --key 0x08 back Back to top menu...
220iseq ${menu-default} menu-diag && isset ${submenu-default} && goto menu-diag-timed ||
221choose selected && goto ${selected} || goto start
222:menu-diag-timed
223choose --timeout ${submenu-timeout} --default ${submenu-default} selected && goto ${selected} || goto start
224
225:hdt
226# http://hdt-project.org/
227sanboot --no-describe --drive 0x00 ${sanboot-url}hdt-${hdt-version}.img || goto failed
228goto start
229
230:memtest
231# TODO: Fix the URI parser to make the + sign work
232#chain memtest86+-4.20.elf.img - || goto failed
233chain memtest86plus-4.20.elf.img - || goto failed
234goto start
235
236:memtest-ipxe
237chain memtest.0 passes=1 && set memtest GOOD || set memtest BAD
238set memtest_errno:uint8 ${errno}
239iseq ${memtest} GOOD && goto memtest-info ||
240iseq ${memtest_errno} 0x1 && set memtest BAD || set memtest UNKNOWN
241:memtest-info
242menu Your memory seems to be ${memtest}
243item memtest-report   Report memtest result to web service
244item --key 0x08 menu-diag Back to diagnostics menu...
245choose --default menu-diag selected && goto ${selected} || goto start
246
247:memtest-report
248chain ${memtest-report-url}?result=${memtest}&mac=${mac}&uuid=${uuid}&hostname=${hostname} ||
249goto menu-diag
250
251:breakin
252# Stress-testing and diagnostics utility
253# http://www.advancedclustering.com/software/breakin.html
254# Set sshpasswd=yourpassword for remote access
255# Set startup= to 'cloner' or 'rescue' for more features
256# When startup=cloner, server= and image= can also be set
257# http://www.advancedclustering.com/software/cloner.html
258kernel breakin-3.71/kernel-3.71
259initrd breakin-3.71/initrd-3.71.cpio.lzma
260imgargs kernel-3.71 startup=breakin
261boot || goto failed
262goto start
263
264:dban
265kernel dban-2.2.7/DBAN.BZI
266imgargs DBAN.BZI nuke="dwipe --method gutmann --rounds 2 --verify last" silent vga=785
267boot || goto failed
268goto start
269
270:etdump
271# Booting it with memdisk makes it read/write, while sanboot forces read/only
272#sanboot --drive 0x00 ${sanboot-url}freedos-etdump-floppy.img
273initrd freedos-etdump-floppy.img
274chain memdisk || goto failed
275goto start
276
277:wdcdiag
278# Extracted the bootable floppy image from diag-5.04f.iso
279sanboot --drive 0x00 ${sanboot-url}western-digital/diag-5.04f.img || goto failed
280goto start
281
282############################ INSTALLER MENU #########################
283
284:menu-install
285menu Installers for ${initiator-iqn}
286item freedos-install      Install FreeDOS 1.1 to iSCSI
287item msdos-install        Install MS-DOS 6.22 to iSCSI
288item ubuntu-install       Install Ubuntu 12.04 ${archl} to iSCSI
289item windows7-install     Install Windows 7 to iSCSI
290item vmware-x64-install   Install VMware ESXi 5.0 (x64) to iSCSI
291item vmware-x86-install   Install VMware ESXi 3.5 (x86) to iSCSI
292item winpe                Hook Windows 7 iSCSI and boot WinPE
293item winpe-wimboot        Boot WinPE ${arch} using wimboot
294item ubuntu-installer-remote Install Ubuntu 12.04 ${archl} from public archive
295item ubuntu-install-local Install Ubuntu 12.04 ${archl} to local drive(s)
296item xenclient-install   Install XenClient 2.1 to local drive
297item windows7-hookonly   Hook Windows 7 iSCSI and boot local CD
298item
299item --key 0x08 back      Back to top menu...
300iseq ${menu-default} menu-install && isset ${submenu-default} && goto menu-install-timed ||
301choose selected && goto ${selected} || goto start
302:menu-install-timed
303choose --timeout ${submenu-timeout} --default ${submenu-default} selected && goto ${selected} || goto start
304
305:freedos-install
306echo Booting FreeDOS 1.1 installer to iSCSI for ${initiator-iqn}
307set root-path ${base-iscsi}:${hostname}.boot.freedos
308sanhook ${root-path} || goto failed
309sanboot --drive 0x81 ${sanboot-url}freedos-1.1/fd11src.iso || goto failed
310goto start
311
312:msdos-install
313echo Booting MS-DOS 6.22 installer to iSCSI for ${initiator-iqn}
314set root-path ${base-iscsi}:${hostname}.boot.msdos
315sanhook ${root-path} || goto failed
316sanboot --no-describe --drive 0x00 ${sanboot-url}msdos-6.22/disk1.img || goto failed
317goto start
318
319:ubuntu-install
320echo Starting Ubuntu 12.04 ${archl} installer for ${initiator-iqn}
321# Hook iSCSI drive
322set root-path ${base-iscsi}:${hostname}.boot.ubuntu
323#sanhook ${root-path} || goto failed
324# Start ubuntu-installer. Remember that the iSCSI target must be writable
325# by anyone, as debian-installer generates a randomized initiator-iqn in
326# /etc/iscsi/initiatorname.iscsi
327# The preseed script used takes care of rewriting it to the
328# hostname-based IQN used in this script.
329# This kernel param which open-iscsi README.Debian mentions doesn't work
330# inside debian-installer, unfortunately: iscsi_initiator=${initiator-iqn}
331# Hard workaround available here:
332# http://umfcloudpilot.eduserv.org.uk/entries/20299686-enable-pre-seed-or-kickstart-seeding-of-iscsi-intiator-iqn-in-ubuntu-server
333set base-url ${boot-url}ubuntu-12.04-server-${archl}
334kernel ${base-url}/install/netboot/ubuntu-installer/${archl}/linux
335initrd ${base-url}/install/netboot/ubuntu-installer/${archl}/initrd.gz
336imgargs linux auto=true fb=false url=${base-url}/./preseed.cfg DEBCONF_DEBUG=5 netcfg/get_hostname=${hostname} partman-iscsi/login/address=${iscsi-server} partman-iscsi/login/targets=${base-iqn}:${hostname}.boot.ubuntu partman-iscsi/login/username=${username} partman-iscsi/login/password=${password}
337boot || goto failed
338goto start
339
340:ubuntu-install-local
341echo Starting Ubuntu 12.04 ${archl} local installer for ${initiator-iqn}
342set base-url ${boot-url}ubuntu-12.04-server-${archl}
343kernel ${base-url}/install/netboot/ubuntu-installer/${archl}/linux
344initrd ${base-url}/install/netboot/ubuntu-installer/${archl}/initrd.gz
345imgargs linux auto=true fb=false url=${base-url}/./preseed.cfg
346boot || goto failed
347goto start
348
349:windows7-install
350echo Starting Windows 7 ${arch} installer for ${initiator-iqn}
351# Force gateway to be the iSCSI target server (kludge for stupid window behavior)
352set netX/gateway ${iscsi-server}
353# Hook iSCSI drive
354set root-path ${base-iscsi}:${hostname}.boot.windows7
355sanhook ${root-path} || goto failed
356# Start Windows 7 installer DVD
357#sanboot --no-describe --drive 0x81 ${sanboot-url}windows-7/ultimate-${arch}-en.iso || goto failed
358# Better solution, according to Oliver Rath on the mailing-list
359# Requires massive amounts of RAM, though
360#initrd windows-7/ultimate-${arch}-en.iso
361#chain memdisk iso raw || goto failed
362# This method uses wimboot
363set base-url windows-7/ultimate-${arch}-en
364kernel wimboot
365initrd ${base-url}/bootmgr                     bootmgr
366initrd ${base-url}/boot/bcd                    BCD
367initrd ${base-url}/boot/fonts/wgl4_boot.ttf    wgl4_boot.ttf
368initrd ${base-url}/boot/boot.sdi               boot.sdi
369initrd ${base-url}/sources/boot.wim            boot.wim
370boot || goto failed
371goto start
372
373:vmware-x64-install
374echo Booting VMware 64-bit installer for ${initiator-iqn}
375set root-path ${base-iscsi}:${hostname}.boot.vmware
376sanhook ${root-path} || goto failed
377initrd vmware/vmware-esxi-5.0-x64.iso
378chain memdisk iso || goto failed
379goto start
380
381:vmware-x86-install
382echo Booting VMware 32-bit installer for ${initiator-iqn}
383set root-path ${base-iscsi}:${hostname}.boot.vmware
384sanhook ${root-path} || goto failed
385initrd vmware/vmware-esxi-3.5-x86.iso
386chain memdisk iso || goto failed
387goto start
388
389:winpe
390echo Booting Windows PE ${arch} installer for ${initiator-iqn}
391echo (for installing Windows 7)
392# Force gateway to be the iSCSI target server (kludge for stupid window behavior)
393set netX/gateway ${iscsi-server}
394
395set root-path ${base-iscsi}:${hostname}.boot.windows7
396sanhook ${root-path} || goto failed
397
398# Remember to map the install volume with the following command:
399# net use y: \\nas\wds /user:NAS\robin
400# Use Y:\Operating Systems\Windows 7 x64\setup.exe to install
401
402# Boots WinPE via native MS TFTP support
403#chain tftp://${next-server}/%5CBoot%5CPXE%5Cpxeboot.n12
404# Better solution, according to Oliver Rath on the mailing-list
405# Requires decent amounts of RAM, though
406# Details on how to generate winpe-x64.iso from you Windows 7 install DVD
407# can be found here: http://technet.microsoft.com/en-us/library/cc722358%28v=ws.10%29.aspx
408initrd windows-7/winpe-${arch}.iso
409chain memdisk iso raw || goto failed
410goto start
411
412:winpe-wimboot
413echo Booting Windows PE ${arch} installer for ${initiator-iqn}
414#echo (for installing Windows 7)
415
416# Force gateway to be the iSCSI target server (kludge for stupid window behavior)
417set netX/gateway ${iscsi-server}
418
419set root-path ${base-iscsi}:${hostname}.boot.windows7
420sanhook ${root-path} || goto failed
421
422# Remember to map the install volume with the following command:
423# net use y: \\nas\wds /user:NAS\robin
424# Use Y:\Operating Systems\Windows 7 x64\setup.exe to install
425
426# Boots WinPE via iPXE wimboot binary
427# BCD is from http://www.fensystems.co.uk/~mcb30/BCD
428# wimboot prebuilt from http://www.fensystems.co.uk/~mcb30/wimboot
429#         source at http://git.ipxe.org/wimboot.git
430# bootmgr.exe from the same package that enables PXE booting for Windows
431#             (most likely WDS tools)
432set base-url winpe/${arch}
433kernel wimboot
434initrd ${base-url}/media/bootmgr                     bootmgr
435initrd ${base-url}/media/Boot/BCD                    BCD
436initrd ${base-url}/media/Boot/Fonts/segmono_boot.ttf segmono_boot.ttf
437initrd ${base-url}/media/Boot/Fonts/segoe_slboot.ttf segoe_slboot.ttf
438initrd ${base-url}/media/Boot/Fonts/wgl4_boot.ttf    wgl4_boot.ttf
439initrd ${base-url}/media/Boot/boot.sdi               boot.sdi
440initrd ${base-url}/media/sources/boot.wim            boot.wim
441boot || goto failed
442goto start
443
444:ubuntu-installer-remote
445echo Starting Ubuntu 12.04 ${archl} installer for ${initiator-iqn}
446set base-url http://no.archive.ubuntu.com/ubuntu/dists/precise/main/installer-${archl}/current/images/netboot/ubuntu-installer/${archl}
447kernel ${base-url}/linux
448initrd ${base-url}/initrd.gz
449#imgargs linux auto=true url=http://yourserver/some/path/preseed.cfg
450boot || goto failed
451goto start
452
453:xenclient-install
454echo Booting XenClient 2.1 installer for ${initiator-iqn}
455# XenClient doesn't seem to support installing to iSCSI volumes
456# It only supports installing using iBFT
457#set root-path ${base-iscsi}:${hostname}.boot.xenclient
458#sanhook ${root-path} || goto failed
459# The xenclient-2.1 folder is just the unpacked contents of the installer ISO
460# Make sure you modify the isolinux.cfg and point it at your answer file URL
461# You can find an example of the answer file in the "Setup and Usage Guide"
462set 210:string ${boot-url}xenclient-2.1/isolinux/
463set 209:string isolinux.cfg
464set filename ${210:string}pxelinux.0
465chain ${filename} || goto failed
466goto start
467
468:windows7-hookonly
469echo Hooking Windows 7 iSCSI volume for ${initiator-iqn}
470# Force gateway to be the iSCSI target server (kludge for stupid window behavior)
471set netX/gateway ${iscsi-server}
472# Hook iSCSI drive
473set root-path ${base-iscsi}:${hostname}.boot.windows7
474sanhook --drive 0x81 ${root-path} || goto failed
475echo Start Windows 7 installer DVD from local drive
476sanboot --no-describe --drive 0x80 ${sanboot-url}windows-7/ultimate-${arch}-en.iso || goto failed
477goto start
478
479###################### LIVE ENVIRONMENT MENU ########################
480
481:menu-live
482menu Live environments for ${initiator-iqn}
483item openelec-generic-live     Boot OpenELEC Generic ${openelec-version} ${archl}
484item ubuntu-live-1204          Boot Ubuntu LiveCD 12.04 ${archl}
485item slitaz-live               Boot SliTaz 4.0 LiveCD
486item smartos                   Boot SmartOS
487item smartos-pre-ept           Boot SmartOS (pre-ept)
488item kms-test                  Boot KMS test kernel
489item tinycore-live-core        Boot TinyCoreLinux ${tc-version} Core
490item tinycore-live-tinycore    Boot TinyCoreLinux ${tc-version} TinyCore
491item tinycore-live-coreplus    Boot TinyCoreLinux ${tc-version} CorePlus
492item coreos                    Boot CoreOS ${coreos-version}
493item
494item --key 0x08 back      Back to top menu...
495iseq ${menu-default} menu-live && isset ${submenu-default} && goto menu-live-timed ||
496choose selected && goto ${selected} || goto start
497:menu-live-timed
498choose --timeout ${submenu-timeout} --default ${submenu-default} selected && goto ${selected} || goto start
499
500:openelec-generic-live
501echo Booting OpenELEC Generic ${openelec-version} for ${initiator-iqn}
502set base-url openelec-generic-${archl}-${openelec-version}
503kernel ${base-url}/target/KERNEL
504initrd ${base-url}/target/SYSTEM
505# Config from: http://wiki.openelec.tv/index.php?title=Network_Boot_-_NFS
506# and http://wiki.openelec.tv/index.php?title=Installation#Network_Boot_.28PXE.29
507# NFS/NBD/iSCSI boot support only works on version >= 2 of OpenELEC
508# The NFS server must be specified as an IP, name resolution doesn't work :(
509imgargs KERNEL ip=dhcp boot=NFS=${nfs-server}:${nfs-root}${base-url}/target disk=NFS=${openelec-storage-dir} overlay
510boot || goto failed
511goto start
512
513:ubuntu-live-1204
514# See http://manpages.ubuntu.com/manpages/precise/man7/casper.7.html for casper cmdline details
515echo Booting Ubuntu Live 12.04 ${archl} for ${initiator-iqn}
516set base-url ubuntu-12.04-dvd-${archl}
517kernel ${base-url}/casper/vmlinuz
518initrd ${base-url}/casper/initrd.lz
519imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${nfs-server}:${nfs-root}${base-url} locale=en_US.UTF-8 keyboard-configuration/layoutcode=no mirror/country=NO
520shell
521boot || goto failed
522goto start
523
524:slitaz-live
525echo Booting SliTaz 4.0 LiveCD for ${initiator-iqn}
526set base-url slitaz-4.0/
527kernel ${base-url}/boot/bzImage
528initrd ${base-url}/boot/rootfs4.gz
529initrd ${base-url}/boot/rootfs3.gz
530initrd ${base-url}/boot/rootfs2.gz
531initrd ${base-url}/boot/rootfs1.gz
532imgargs bzImage rw root=/dev/null vga=normal autologin lang=en_US kmap=no-latin1
533boot || goto failed
534goto start
535
536:smartos
537echo Booting SmartOS for ${initiator-iqn}
538# Hook iSCSI root volume (optional, not yet working)
539sanhook ${base-iscsi}:${hostname}.boot.smartos ||
540set base-url smartos
541# See http://nahamu.github.com/2011/08/17/smartos-pxe.html for details
542# See http://wiki.smartos.org/display/DOC/Getting+Started+with+SmartOS
543# http://wiki.smartos.org/display/DOC/PXE+Booting+SmartOS
544# http://wiki.smartos.org/display/DOC/SmartOS+Command+Line+Tips#SmartOSCommandLineTips-FiguringoutwheretoconfigureadditionalNetworkinterfacesorVLANs
545# http://wiki.smartos.org/display/DOC/extra+configuration+options
546# http://wiki.smartos.org/display/DOC/Managing+NICs
547kernel ${base-url}/platform/i86pc/kernel/amd64/unix
548initrd ${base-url}/platform/i86pc/amd64/boot_archive
549# This doesn't work, but I would very much like it to
550#initrd ${base-url}/config/${hostname}.txt /usbkey/config
551# smartos=true to run smartos "installer" (and disable noimport=true)
552# You can also run it manually, it's at /smartdc/bin/smartos_prompt_config.sh
553# keyboard-layout=norway doesn't work anymore (it used to)
554#imgargs unix -v -B console=text,standalone=true,noimport=true,keyboard-layout=norway,hostname=${hostname},root_shadow='${root-shadow}'
555imgargs unix -B console=text,standalone=true,hostname=${hostname},admin_nic=${mac},admin_ip=dhcp,admin_gateway=dhcp,external_nic=${mac},external_ip=dhcp,external_gateway=dhcp,dns_resolvers=${dns},dns_domain=${domain},ntp_hosts=pool.ntp.org,root_shadow='${root-shadow}'
556boot || goto failed
557goto start
558
559:smartos-pre-ept
560echo Starting SmartOS (pre-ept branch) for ${initiator-iqn}
561# pre-ept image downloaded from http://alpha.sysmgr.org/smartos-20120223-jmc2.iso
562# Posted by LeftWing on #illumos / FreeNode at 2012-04-11 09:09 UTC+2
563set base-url smartos/pre-ept
564kernel ${base-url}/platform/i86pc/kernel/amd64/unix
565module ${base-url}/platform/i86pc/amd64/boot_archive
566imgargs unix -v -B console=text,standalone=true,noimport=true,root_shadow='${root-shadow}'
567boot || goto failed
568goto start
569
570:kms-test
571echo Booting KMS-enabled Linux kernel for ${initiator-iqn}
572set base-url kms_test
573kernel ${base-url}/vmlinuz
574initrd ${base-url}/initrd ||
575imgargs vmlinuz rw root=/dev/nfs nfsroot=${nfs-server}:/raid/kms_test ip=dhcp ||
576boot || goto failed
577goto start
578
579# TinyCore is work-in-progress
580# Current problems is that tce=/mnt/nfs/cde works, but dir is not writable by tc user,
581# keymap is not loaded, and it seems like there is something I'm not understanding properly
582# about the TC boot process
583# More to read on http://distro.ibiblio.org/tinycorelinux/concepts.html
584# and http://wiki.tinycorelinux.net/wiki:netbooting
585:tinycore-live-core
586echo Booting TinyCoreLinux Live Core ${tc-version} for ${inititator-iqn}
587set base-url tinycore/Core-${tc-version}/
588kernel ${base-url}/boot/vmlinuz
589initrd ${base-url}/boot/core.gz
590imgargs vmlinuz loglevel=3
591boot || goto failed
592goto start
593
594:tinycore-live-tinycore
595echo Booting TinyCoreLinux Live TinyCore ${tc-version} for ${inititator-iqn}
596set base-url tinycore/TinyCore-${tc-version}
597kernel ${base-url}/boot/vmlinuz
598initrd ${base-url}/boot/core.gz
599imgargs vmlinuz nfsmount=${nfs-server}:${nfs-root}${base-url} host=${hostname} lang=us kmap=nb loglevel=3 syslog  tce=/mnt/nfs/cde
600boot || goto failed
601goto start
602
603:tinycore-live-coreplus
604echo Booting TinyCoreLinux Live CorePlus ${tc-version} for ${inititator-iqn}
605set base-url tinycore/CorePlus-${tc-version}
606kernel ${base-url}/boot/vmlinuz
607initrd ${base-url}/boot/core.gz
608imgargs vmlinuz nfsmount=${nfs-server}:${nfs-root}${base-url} host=${hostname} lang=us kmap=nb loglevel=3 syslog  tce=/mnt/nfs/cde showapps desktop=flwm_topside
609boot || goto failed
610goto start
611
612:coreos
613echo Booting CoresOS ${coreos-version} for ${inititator-iqn}
614#set base-url ${boot-url}/coreos/CorePlus-${tc-version}
615set base-url http://storage.core-os.net/coreos/${archl}-generic/${coreos-version}
616kernel ${base-url}/coreos_production_pxe.vmlinuz
617initrd ${base-url}/coreos_production_pxe_image.cpio.gz
618imgargs coreos_production_pxe.vmlinuz root=squashfs: state=tmpfs: sshkey="${coreos-sshkey}"
619boot || goto failed
620goto start
621
Note: See TracBrowser for help on using the repository browser.