debian.ipxe.j2 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!ipxe
  2. # Debian Operating System
  3. # http://www.debian.org
  4. goto ${menu}
  5. :debian
  6. set os Debian
  7. clear debian_version
  8. clear older_release
  9. menu ${os} - ${arch_a} - Image Sig Checks: [${img_sigs_enabled}]
  10. item --gap Latest Releases
  11. {% for item in releases.debian.versions.stable %}
  12. item {{ item.code_name }} ${space} ${os} {{ item.name }}
  13. {% endfor %}
  14. item --gap Testing Releases
  15. {% for item in releases.debian.versions.testing %}
  16. item {{ item.code_name }} ${space} ${os} {{ item.name }}
  17. {% endfor %}
  18. item --gap Older Releases
  19. item older_release ${space} Set release codename...
  20. choose debian_version || goto debian_exit
  21. iseq ${debian_version} older_release && goto older_release ||
  22. goto mirrorcfg
  23. :older_release
  24. set older_release true
  25. set debian_mirror {{ releases.debian.archive_mirror }}
  26. echo Setting mirror to ${debian_mirror}
  27. clear debian_version
  28. echo -n Please set enter code name of release: ${} && read debian_version
  29. set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
  30. goto deb_boot_type
  31. :mirrorcfg
  32. set debian_mirror ${debian_mirror}
  33. set mirrorcfg mirror/suite=${debian_version}
  34. set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
  35. goto deb_boot_type
  36. :deb_boot_type
  37. menu ${os} [${debian_version}] Installer
  38. item --gap Install types
  39. item text ${space} Text Based Install
  40. item graphical ${space} Graphical Based Install
  41. item rescue ${space} Rescue Mode
  42. item expert ${space} Expert Install
  43. item preseed ${space} Specify preseed url...
  44. choose --default ${type} type || goto debian
  45. echo ${cls}
  46. goto deb_${type}
  47. :deb_rescue
  48. set install_params rescue/enable=true
  49. goto deb_text
  50. :deb_expert
  51. set install_params priority=low
  52. goto deb_text
  53. :deb_preseed
  54. echo -n Specify preseed URL for ${os} ${debian_version}: && read preseedurl
  55. set install_params auto=true priority=critical preseed/url=${preseedurl}
  56. goto deb_text
  57. :deb_text
  58. set dir ${dir}${menu}-installer/${arch_a}
  59. goto deb_boot
  60. :deb_graphical
  61. set dir ${dir}gtk/${menu}-installer/${arch_a}
  62. set install_params vga=788
  63. goto deb_boot
  64. :deb_boot
  65. imgfree
  66. echo Boot parameters: ${install_params} -- quiet ${params}
  67. kernel ${debian_mirror}/${dir}/linux ${install_params} ${netcfg} ${mirrorcfg} ${console} -- quiet ${params} initrd=initrd.gz
  68. initrd ${debian_mirror}/${dir}/initrd.gz
  69. echo
  70. echo MD5sums:
  71. md5sum linux initrd.gz
  72. iseq ${img_sigs_enabled} true && iseq ${older_release} true && goto skip_sigs ||
  73. iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
  74. :verify_sigs
  75. echo
  76. echo Checking signatures...
  77. imgverify linux ${sigs}${dir}/linux.sig || goto error
  78. imgverify initrd.gz ${sigs}${dir}/initrd.gz.sig || goto error
  79. echo Signatures verified!
  80. echo
  81. :skip_sigs
  82. boot
  83. :debian_exit
  84. clear menu
  85. exit 0