12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!ipxe
- ######################################
- # SmartOS #
- # https://www.joyent.com/smartos #
- # Credit: https://github.com/bahamat #
- ######################################
- :custom
- clear smartos_build
- clear kflags
- set noimport false
- set kmdb_e false
- set kmdb_b false
- goto smartos_menu
- :smartos_menu
- set os {{ releases.smartos.name }}
- menu ${os}
- item --gap Platform Images:
- {% for item in releases.smartos.versions %}
- item {{ item.code_name }} ${space} ${os} {{ item.name }}
- {% endfor %}
- item --gap Options:
- item toggle_pool ${space} Rescue mode: ${noimport}
- item toggle_kmdb_e ${space} Load Kernel Debugger: ${kmdb_e}
- item toggle_kmdb_b ${space} Boot Kernel Debugger First: ${kmdb_b}
- iseq ${noimport} true && item --gap ${space} ||
- iseq ${noimport} true && item --gap ${space} Zpool will not be imported. Rescue mode root password can be found at ||
- iseq ${noimport} true && item --gap ${space} http://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos.html ||
- choose smartos_build || goto smartos_exit
- iseq ${smartos_build} toggle_pool && goto toggle_pool ||
- iseq ${smartos_build} toggle_kmdb_e && goto toggle_kmdb_e ||
- iseq ${smartos_build} toggle_kmdb_b && goto toggle_kmdb_b ||
- goto smartos_boot
- :smartos_boot
- iseq ${kmdb_e} true && set kflags:hex 2d:6b ||
- iseq ${kmdb_b} true && set kflags:hex 2d:6b:64 ||
- kernel ${smartos_mirror}${smartos_build}${smartos_base_dir}kernel/amd64/unix ${kflags:string} -B console=text,text-mode="115200,8,n,1,-",smartos=true,noimport=${noimport}${root_shadow:string}
- module ${smartos_mirror}${smartos_build}${smartos_base_dir}amd64/boot_archive type=rootfs name=ramdisk || goto fail
- module ${smartos_mirror}${smartos_build}${smartos_base_dir}amd64/boot_archive.hash type=hash name=ramdisk || goto fail
- boot
- :toggle_pool
- iseq ${noimport} true && set noimport false || set noimport true
- iseq ${noimport} false && clear root_shadow || set root_shadow:hex 2c:72:6f:6f:74:5f:73:68:61:64:6f:77:3d:27:24:35:24:32:48:4f:48:52:6e:4b:33:24:4e:76:4c:6c:6d:2e:31:4b:51:42:62:42:30:57:6a:6f:50:37:78:63:49:77:47:6e:6c:6c:68:7a:70:32:48:6e:54:2e:6d:44:4f:37:44:70:78:59:41:27:0a
- goto smartos_menu
- :toggle_kmdb_e
- iseq ${kmdb_e} true && set kmdb_e false || set kmdb_e true
- iseq ${kmdb_e} false && set kmdb_b false ||
- goto smartos_menu
- :toggle_kmdb_b
- iseq ${kmdb_b} true && set kmdb_b false || set kmdb_b true
- iseq ${kmdb_b} true && set kmdb_e true ||
- goto smartos_menu
- :smartos_exit
- clear menu
- exit 0
|