Forráskód Böngészése

Add initial support for Alma Linux

Alma Linux is a 1:1 binary compatible fork of RHEL 8
and is a CentOS alternative.
Antony Messerli 4 éve
szülő
commit
42bad73ea3

+ 1 - 0
README.md

@@ -98,6 +98,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 
 | Name       | URL             | Installer Kernel | Live OS       |
 |------------|-----------------|------------------|---------------|
+| Alma Linux | https://almalinux.org/ | Yes | No |
 | Alpine Linux | https://alpinelinux.org | Yes | No |
 | Anarchy Linux | https://anarchyinstaller.org | Yes | No |
 | Arch Linux | https://www.archlinux.org | Yes | No |

+ 9 - 0
roles/netbootxyz/defaults/main.yml

@@ -108,6 +108,15 @@ pipxe_branch: master
 pipxe_repo: https://github.com/netbootxyz/pipxe
 pipxe_source_dir: /usr/src/pipxe
 releases:
+  almalinux:
+    base_dir: almalinux
+    enabled: true
+    menu: linux
+    mirror: https://repo.almalinux.org
+    name: AlmaLinux
+    versions:
+    - code_name: 8
+      name: 8
   alpinelinux:
     base_dir: alpine
     enabled: true

+ 72 - 0
roles/netbootxyz/templates/menu/almalinux.ipxe.j2

@@ -0,0 +1,72 @@
+#!ipxe
+
+# AlmaLinux Operating System
+# https://almalinux.org/
+
+isset ${dhcp-server} && set ipparam ip=dhcp || set ipparam ip=${ip}::${gateway}:${netmask}:::none nameserver=${dns}
+set ipparam BOOTIF=${netX/mac} ${ipparam}
+
+goto ${menu} ||
+
+:almalinux
+clear osversion
+set os {{ releases.almalinux.name }}
+menu ${os} - ${arch}
+{% for item in releases.almalinux.versions %}
+item {{ item.code_name }} ${space} ${os} {{ item.name }}
+{% endfor %}
+isset ${osversion} || choose osversion || goto linux_menu
+echo ${cls}
+set dir ${almalinux_base_dir}/${osversion}/BaseOS/${arch}/os
+set repo ${almalinux_mirror}/${dir}
+goto boottype
+
+:boottype
+set ova ${os} ${osversion}
+menu ${os} ${arch} boot type
+item graphical ${ova} graphical installer
+item text ${ova} text based installer
+item rescue ${ova} rescue
+item kickstart ${ova} set kickstart url [ ${ksurl} ]
+item kickstart_device ${ova} set ksdevice [ ${ksdevice} ]
+isset ${bt} || choose bt || goto almalinux
+echo ${cls}
+iseq ${bt} text && goto text ||
+iseq ${bt} rescue && goto rescue ||
+iseq ${bt} kickstart && goto kickstart ||
+iseq ${bt} kickstart_device && goto kickstart_device ||
+goto bootos_images
+
+:text
+set params text ||
+goto bootos_images
+
+:rescue
+set params rescue ||
+goto bootos_images
+
+:kickstart
+echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
+set params inst.ks=${ksurl} ||
+clear bt
+goto boottype
+
+:kickstart_device
+echo -n Specify ksdevice param for ${os} ${osversion}: && read ksdevice
+set ksdevice ${ksdevice} ||
+clear bt
+goto boottype
+
+:bootos_images
+imgfree
+kernel ${almalinux_mirror}/${dir}/images/pxeboot/vmlinuz inst.repo=${repo} ${params} ${ipparam} initrd=initrd.img ${cmdline}
+initrd ${almalinux_mirror}/${dir}/images/pxeboot/initrd.img
+echo
+echo MD5sums:
+md5sum vmlinuz initrd.img
+boot
+goto linux_menu
+
+:linux_menu
+clear menu
+exit 0