debian.ipxe 2.6 KB

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