k3os.ipxe.j2 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!ipxe
  2. # k3OS by Rancher
  3. # https://k3os.io/
  4. # https://github.com/rancher/k3os#configuration-reference
  5. goto ${menu} ||
  6. :k3os
  7. set os {{ releases.k3os.name }}
  8. set k3os_mirror {{ releases.k3os.mirror }}
  9. isset ${k3os_version} || set k3os_version latest
  10. isset ${k3os_install_device} || set k3os_install_device /dev/sda
  11. menu ${os} by Rancher - ${arch_a}
  12. menu ${os} install
  13. item --gap k3OS:
  14. item k3os_boot ${space} Begin install ${os} ${k3os_version}
  15. item --gap Parameters:
  16. item k3os_version ${space} ${os} version: ${k3os_version}
  17. item k3os_install_device ${space} Set install device: ${k3os_install_device}
  18. item k3os_config_url ${space} Set config.yaml URL: ${k3os_config_url}
  19. item k3os_mirror ${space} Set mirror URL: ${k3os_mirror}
  20. choose --default ${menu} menu || goto k3os_exit
  21. echo ${cls}
  22. goto ${menu} ||
  23. goto k3os_exit
  24. :k3os_version
  25. menu ${os} version
  26. item latest ${space} latest
  27. item custom ${space} Set custom version
  28. choose --default ${version} version || goto k3os_exit
  29. echo ${cls}
  30. goto k3os_version_${version} ||
  31. goto k3os_exit
  32. :k3os_version_latest
  33. set k3os_version latest
  34. set k3os_base_url ${k3os_mirror}/latest/download
  35. goto k3os
  36. :k3os_version_custom
  37. clear k3os_version
  38. echo -n Please set k3OS version manually (in format vX.Y.Z): && read k3os_version
  39. set k3os_base_url ${k3os_mirror}/download/${k3os_version}
  40. clear menu
  41. goto k3os
  42. :k3os_install_device
  43. echo -n Please set desired install device: && read k3os_install_device
  44. clear menu
  45. goto k3os
  46. :k3os_mirror
  47. echo -n Set mirror URL: && read k3os_mirror
  48. clear menu
  49. goto k3os_version ||
  50. goto k3os_exit
  51. :k3os_config_url
  52. echo -n Set config.yaml URL: && read k3os_config_url
  53. clear menu
  54. goto k3os
  55. :k3os_boot
  56. isset ${k3os_base_url} || set k3os_base_url ${k3os_mirror}/latest/download
  57. set install_params k3os.install.silent=true k3os.mode=install k3os.install.config_url=${k3os_config_url} k3os.install.device=${k3os_install_device}
  58. set boot_params printk.devkmsg=on k3os.install.iso_url=${k3os_base_url}/k3os-${arch_a}.iso console=ttyS0 console=tty1
  59. imgfree
  60. kernel ${k3os_base_url}/k3os-vmlinuz-${arch_a} ${install_params} ${boot_params} {{ kernel_params }}
  61. initrd ${k3os_base_url}/k3os-initrd-${arch_a}
  62. echo
  63. echo MD5sums:
  64. md5sum k3os-vmlinuz-${arch_a} k3os-initrd-${arch_a}
  65. boot
  66. :k3os_exit
  67. clear menu
  68. exit 0