Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
| Bodhi Linux | https://www.bodhilinux.com | No | Yes |
| CachyOS | https://cachyos.org | No | Yes |
| CentOS | https://centos.org | Yes | No |
| CentOS CoreOS | https://centos.org | Yes | No |
| Debian | https://debian.org | Yes | Yes|
| Devuan | https://devuan.org | Yes | No |
| Elementary OS | https://elementary.io | No | Yes |
Expand Down Expand Up @@ -170,6 +171,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
| Q4OS | https://q4os.org | No | Yes |
| Raizo | https://sourceforge.net/projects/live-raizo/ | No | Yes |
| Red Hat Enterprise Linux | https://www.redhat.com | User supplied media | No |
| Red Hat Enterprise Linux CoreOS | https://openshift.com | Yes | No |
| Regolith | https://regolith-linux.org | No | Yes |
| Rocky Linux | https://rockylinux.org/ | Yes | No |
| Septor | https://septor.sourceforge.io | No | Yes |
Expand Down
40 changes: 39 additions & 1 deletion roles/netbootxyz/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ releases:
name: Ubuntu 24.04
- key: ubuntu-24.10
name: Ubuntu 24.10
version: v3.5.2
version: v3.5.3
kali:
base_dir: kali
enabled: true
Expand Down Expand Up @@ -442,6 +442,25 @@ releases:
enabled: true
menu: linux
name: Proxmox
rhcos:
base_dir: pub/openshift-v4
enabled: true
menu: linux
mirror: https://mirror.openshift.com
name: Red Hat Enterprise Linux CoreOS
versions:
- code_name: 4.12
name: 4.12 [Extended Support]
- code_name: 4.14
name: 4.14 [Extended Support]
- code_name: 4.16
name: 4.16 [Maintenance Support]
- code_name: 4.17
name: 4.17 [Maintenance Support]
- code_name: 4.18
name: 4.18 [Full Support]
- code_name: 4.19
name: 4.19 [Full Support]
rhel:
enabled: true
menu: linux
Expand All @@ -459,6 +478,25 @@ releases:
name: 9 (Latest)
- code_name: 8
name: 8 (Latest)
scos:
base_dir: centos/scos
enabled: true
menu: linux
mirror: https://cloud.centos.org
name: CentOS Stream CoreOS
versions:
- code_name: 9.0.20250222-0
name: 9.0.20250222-0
major_version: 9
- code_name: 9.0.20250411-0
name: 9.0.20250411-0
major_version: 9
- code_name: 9.0.20250510-0
name: 9.0.20250510-0
major_version: 9
- code_name: 10.0.20250628-0
name: 10.0.20250628-0
major_version: 10
slackware:
base_dir: slackware
enabled: true
Expand Down
56 changes: 56 additions & 0 deletions roles/netbootxyz/templates/menu/rhcos.ipxe.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!ipxe

# Red Hat Enterprise Linux CoreOS (RHCOS)
# https://openshift.com
# https://github.com/coreos/coreos-installer/blob/master/README.md#installing-from-pxe

goto ${menu}

:rhcos
set os {{ releases.rhcos.name }}
set os_arch ${arch}
iseq ${os_arch} x86_64 && set os_arch x86_64 ||
iseq ${os_arch} arm64 && set os_arch aarch64 ||
isset ${install_device} || set install_device /dev/sda
isset ${ignition_url} || set ignition_url skip
menu ${os} - ${os_arch}
item --gap ${os}:
{% for item in releases.rhcos.versions %}
item {{ item.code_name }} ${space} ${os} {{ item.name }}
{% endfor %}
item install_dev ${space} Set install device: ${install_device}
item ignition_config ${space} Set ignition config url: ${ignition_url}
choose --default ${rhcos_version} rhcos_version || goto rhcos_exit
echo ${cls}
iseq ${rhcos_version} ignition_config && goto ignition_config ||
iseq ${rhcos_version} install_dev && goto install_dev ||
goto rhcos_boot ||
goto rhcos_exit

:rhcos_boot
{% for item in releases.rhcos.versions %}
iseq ${core_version} {{ item.code_name }} ||
{% endfor %}
set base_url ${rhcos_mirror}/${os_arch}/dependencies/rhcos
set build_version ${rhcos_version}
imgfree
kernel ${base_url}/${build_version}/latest/rhcos-live-kernel.${os_arch} ip=dhcp rd.neednet=1 coreos.inst.install_dev=${install_device} coreos.inst.ignition_url=${ignition_url} coreos.live.rootfs_url=${base_url}/${build_version}/latest/rhcos-live-rootfs.${os_arch}.img initrd=initrd.magic ${cmdline}
initrd ${base_url}/${build_version}/latest/rhcos-live-initramfs.${os_arch}.img
boot
goto rhcos_exit

:install_dev
echo -n Selected install device will be overwritten,
echo -n please ensure you know what are you doing...
echo -n Please set desired install device: && read install_device
clear menu
goto rhcos

:ignition_config
echo -n Please set Ignition Configuration URL: && read ignition_url
clear menu
goto rhcos

:rhcos_exit
clear menu
exit 0
56 changes: 56 additions & 0 deletions roles/netbootxyz/templates/menu/scos.ipxe.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!ipxe

# CentOS Stream CoreOS (SCOS)
# https://www.centos.org/cloud/
# https://github.com/coreos/coreos-installer/blob/master/README.md#installing-from-pxe

goto ${menu}

:scos
set os {{ releases.scos.name }}
set os_arch ${arch}
iseq ${os_arch} x86_64 && set os_arch x86_64 ||
iseq ${os_arch} arm64 && set os_arch aarch64 ||
isset ${install_device} || set install_device /dev/sda
isset ${ignition_url} || set ignition_url skip
menu ${os} - ${os_arch}
item --gap ${os}:
{% for item in releases.scos.versions %}
item {{ item.code_name }} ${space} ${os} {{ item.name }}
{% endfor %}
item install_dev ${space} Set install device (e.g. /dev/sda): ${install_device}
item ignition_config ${space} Set ignition config url: ${ignition_url}
choose --default ${scos_version} scos_version || goto scos_exit
echo ${cls}
iseq ${scos_version} ignition_config && goto ignition_config ||
iseq ${scos_version} install_dev && goto install_dev ||
goto scos_boot ||
goto scos_exit

:scos_boot
{% for item in releases.scos.versions %}
iseq ${scos_version} {{ item.code_name }} && set scos_major_version {{ item.major_version }} ||
{% endfor %}
set base_url ${scos_mirror}/${scos_base_dir}/${scos_major_version}/prod/streams
set build_version ${scos_version}
imgfree
kernel ${base_url}/${build_version}/${os_arch}/scos-${build_version}-live-kernel.${os_arch} ip=dhcp rd.neednet=1 coreos.inst.install_dev=${install_device} coreos.inst.ignition_url=${ignition_url} coreos.live.rootfs_url=${base_url}/${build_version}/${os_arch}/scos-${build_version}-live-rootfs.${os_arch}.img initrd=initrd.magic ${cmdline}
initrd ${base_url}/${build_version}/${os_arch}/scos-${build_version}-live-initramfs.${os_arch}.img
boot
goto scos_exit

:install_dev
echo -n Selected install device will be overwritten,
echo -n please ensure you know what are you doing...
echo -n Please set desired install device: && read install_device
clear menu
goto scos

:ignition_config
echo -n Please set Ignition Configuration URL: && read ignition_url
clear menu
goto scos

:scos_exit
clear menu
exit 0
Loading