mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-01-23 02:34:26 +00:00
Initial support for Kairos
Supports Kairos Core images in the various platforms available
This commit is contained in:
parent
f1644a9cc8
commit
5c541981ad
3 changed files with 123 additions and 0 deletions
|
|
@ -146,6 +146,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
|
|||
| hrmpf | https://github.com/leahneukirchen/hrmpf/ | No | Yes |
|
||||
| IPFire | https://www.ipfire.org | Yes | No |
|
||||
| K3OS | https://k3os.io/ | Yes | Yes |
|
||||
| Kairos | https://kairos.io/ | Yes | No |
|
||||
| Kali Linux | https://www.kali.org | Yes | Yes |
|
||||
| KDE Neon | https://neon.kde.org | No | Yes |
|
||||
| Kodachi | https://www.digi77.com/linux-kodachi/ | No | Yes |
|
||||
|
|
|
|||
|
|
@ -293,6 +293,35 @@ releases:
|
|||
versions:
|
||||
- code_name: 2.29-core191
|
||||
name: 2.29 Core191
|
||||
kairos:
|
||||
enabled: true
|
||||
menu: linux
|
||||
mirror: https://github.com/kairos-io/kairos/releases
|
||||
name: Kairos
|
||||
version: v3.3.1
|
||||
platforms:
|
||||
- key: alpine-3.19
|
||||
name: Alpine Linux 3.19
|
||||
- key: debian-bookworm
|
||||
name: Debian Bookworm
|
||||
- key: debian-testing
|
||||
name: Debian Testing
|
||||
- key: fedora-40
|
||||
name: Fedora 40
|
||||
- key: opensuse-leap-15.6
|
||||
name: openSUSE Leap 15.6
|
||||
- key: openstack-tumbleweed
|
||||
name: Openstack Tumbleweed
|
||||
- key: rockylinux-9
|
||||
name: Rocky Linux 9
|
||||
- key: ubuntu-20.04
|
||||
name: Ubuntu 20.04
|
||||
- key: ubuntu-22.04
|
||||
name: Ubuntu 22.04
|
||||
- key: ububtu-24.04
|
||||
name: Ubuntu 24.04
|
||||
- key: ubuntu-24.10
|
||||
name: Ubuntu 24.10
|
||||
k3os:
|
||||
enabled: true
|
||||
menu: linux
|
||||
|
|
|
|||
93
roles/netbootxyz/templates/menu/kairos.ipxe.j2
Normal file
93
roles/netbootxyz/templates/menu/kairos.ipxe.j2
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
#!ipxe
|
||||
|
||||
# Kairos
|
||||
# https://github.com/kairos-io/kairos/releases
|
||||
|
||||
goto ${menu} ||
|
||||
|
||||
:kairos
|
||||
#set os {{ releases.kairos.name }}
|
||||
set os Kairos
|
||||
set os_arch ${arch}
|
||||
iseq ${os_arch} x86_64 && set os_arch amd64 ||
|
||||
isset ${kairos_version} || set kairos_version {{ releases.kairos.version }}
|
||||
# isset ${kairos_mirror} || set kairos_mirror {{ releases.kairos.mirror }}
|
||||
isset ${kairos_mirror} || set kairos_mirror https://github.com/kairos-io/kairos/releases
|
||||
isset ${kairos_platform} || set kairos_platform {{ releases.kairos.platforms[0].key }}
|
||||
isset ${kairos_mode} || set kairos_mode install-mode-interactive
|
||||
|
||||
menu ${os}
|
||||
item --gap Kairos:
|
||||
item kairos_boot ${space} Begin install ${os} ${kairos_version}
|
||||
item --gap Parameters:
|
||||
item kairos_version ${space} ${os} version: ${kairos_version}
|
||||
item kairos_mode ${space} Set install mode: ${kairos_mode}
|
||||
item kairos_config_url ${space} Set config file URL: ${kairos_config_url}
|
||||
item kairos_mirror ${space} Set mirror URL: ${kairos_mirror}
|
||||
item kairos_platform ${space} Set platform: ${kairos_platform}
|
||||
choose --default ${menu} menu || goto kairos_exit
|
||||
echo ${cls}
|
||||
goto ${menu} ||
|
||||
goto kairos_exit
|
||||
|
||||
:kairos_version
|
||||
menu ${os} version
|
||||
item latest ${space} ${kairos_version}
|
||||
item custom ${space} Set custom version
|
||||
choose --default ${version} version || goto kairos_exit
|
||||
echo ${cls}
|
||||
goto kairos_version_${version} ||
|
||||
goto kairos_exit
|
||||
|
||||
:kairos_mode
|
||||
menu ${os} Modes
|
||||
item install-mode-interactive Interactive Install Mode
|
||||
item install-mode Regular Install Mode
|
||||
item kairos.remote_recovery_mode Remote Recovery Mode
|
||||
choose --default ${kairos_mode} kairos_mode
|
||||
goto kairos
|
||||
|
||||
:kairos_version_latest
|
||||
set kairos_version latest
|
||||
set kairos_base_url ${kairos_mirror}/latest/download
|
||||
goto kairos
|
||||
|
||||
:kairos_version_custom
|
||||
clear kairos_version
|
||||
echo -n Please set Kairos version manually (in format vX.Y.Z): && read kairos_version
|
||||
set kairos_base_url ${kairos_mirror}/download/${kairos_version}
|
||||
clear menu
|
||||
goto kairos
|
||||
|
||||
:kairos_mirror
|
||||
echo -n Set mirror URL: && read kairos_mirror
|
||||
clear menu
|
||||
goto kairos
|
||||
|
||||
:kairos_config_url
|
||||
echo -n Set config file URL: && read kairos_config_url
|
||||
clear menu
|
||||
goto kairos
|
||||
|
||||
:kairos_platform
|
||||
menu ${os} platforms
|
||||
{% for item in releases.kairos.platforms %}
|
||||
item {{ item.key }} ${space} {{ item.name }}
|
||||
{% endfor %}
|
||||
choose --default ${kairos_platform} kairos_platform
|
||||
goto kairos
|
||||
|
||||
:kairos_boot
|
||||
imgfree
|
||||
set release_prefix ${kairos_mirror}/download/${kairos_version}/kairos-${kairos_platform}-core-${os_arch}-generic-${kairos_version}
|
||||
kernel ${release_prefix}-kernel root=live:${release_prefix}.squashfs rd.neednet=1 ip=dhcp rd.cos.disable netboot ${kairos_mode} config_url=${kairos_config_url} console=tty1 console=ttyS0 ${cmdline} initrd=initrd.magic
|
||||
initrd ${release_prefix}-initrd
|
||||
|
||||
echo
|
||||
echo MD5sums:
|
||||
md5sum kairos-${kairos_platform}-core-${os_arch}-generic-${kairos_version}-kernel kairos-${kairos_platform}-${kairos_flavor}-${os_arch}-generic-${kairos_version}-initrd
|
||||
boot
|
||||
|
||||
:kairos_exit
|
||||
clear menu
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue