Просмотр исходного кода

Merge pull request #1594 from netbootxyz/RC

Release 2.0.86
Antony Messerli 1 месяц назад
Родитель
Сommit
7fae14faea

+ 1 - 1
.github/workflows/pull-requests.yml

@@ -16,7 +16,7 @@ jobs:
 
     - uses: actions/setup-python@v5
       with:
-        python-version: '3.10'
+        python-version: '3.13'
 
     - name: Install dependencies
       run: |

+ 7 - 0
CHANGELOG.md

@@ -3,6 +3,13 @@
 
 All notable changes to this project will be documented in this file.
 
+## [2.0.86] - 2025-03-13
+
+### Added
+
+- Support for Kairos
+- Enabled NFS support in iPXE
+
 ## [2.0.85] - 2025-02-23
 
 ### Changed

+ 2 - 1
README.md

@@ -128,7 +128,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 | Bluestar Linux | https://sourceforge.net/projects/bluestarlinux | No | Yes |
 | Bodhi Linux | https://www.bodhilinux.com | No | Yes |
 | CentOS | https://centos.org | Yes | No |
-| CoreOS | http://coreos.com/ | Yes | No |
+| Fedora CoreOS | https://getfedora.org/en/coreos?stream=stable | Yes | No |
 | Debian | https://debian.org | Yes | Yes|
 | Deepin | https://www.deepin.org | No | Yes |
 | Devuan | https://devuan.org | Yes | No |
@@ -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 |

+ 34 - 34
endpoints.yml

@@ -71,13 +71,13 @@ endpoints:
     flavor: mate
     kernel: debian-10-live-kernel
   kali-xfce-squash:
-    path: /debian-squash/releases/download/2024.4-54fc2a3c/
+    path: /debian-squash/releases/download/2025.1-8e024a88/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: kali
-    version: '2024.4'
+    version: '2025.1'
     flavor: xfce
     kernel: kali-xfce-squash
   kde-neon-user:
@@ -401,7 +401,7 @@ endpoints:
     version: current
     flavor: TheSSS
   4mlinux-bakandimg:
-    path: /asset-mirror/releases/download/47.0-d0598ee4/
+    path: /asset-mirror/releases/download/48.0-d0598ee4/
     files:
     - initrd
     - vmlinuz
@@ -409,7 +409,7 @@ endpoints:
     version: current
     flavor: BakAndImg
   4mlinux-antivirus:
-    path: /asset-mirror/releases/download/47.0-1.4.1-43b0f75b/
+    path: /asset-mirror/releases/download/48.0-1.4.2-43b0f75b/
     files:
     - initrd
     - vmlinuz
@@ -532,7 +532,7 @@ endpoints:
     version: 5.8
     kernel: linux-lite-5-squash
   vyos-rolling:
-    path: /debian-squash/releases/download/1.5-rolling-202502190007-0d0f700e/
+    path: /debian-squash/releases/download/2025.03.06-0018-rolling-0d0f700e/
     files:
     - filesystem.squashfs
     - initrd
@@ -746,32 +746,32 @@ endpoints:
     version: 20241209T170323Z
     arch: x86
   gentoo-arm64:
-    path: /asset-mirror/releases/download/20250119T234827Z-d5972d15/
+    path: /asset-mirror/releases/download/20250202T230326Z-d5972d15/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20250119T234827Z
+    version: 20250202T230326Z
     arch: arm64
   gentoo-amd64:
-    path: /asset-mirror/releases/download/20250115T221822Z-63d6ec39/
+    path: /asset-mirror/releases/download/20250202T154819Z-63d6ec39/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20250115T221822Z
+    version: 20250202T154819Z
     arch: amd64
   tails:
-    path: /asset-mirror/releases/download/6.12-911e1aab/
+    path: /asset-mirror/releases/download/6.13-911e1aab/
     files:
     - vmlinuz
     - initrd.img
     - 9990-misc-helpers.sh
     - tails-amd64.iso
     os: tails
-    version: '6.12'
+    version: '6.13'
     arch: amd64
   hrmpf:
     path: /asset-mirror/releases/download/20231124-1008bb6d/
@@ -867,24 +867,24 @@ endpoints:
     kernel: clonezilla-debian-stable-amd64
     arch: amd64
   clonezilla-ubuntu-stable-amd64:
-    path: /ubuntu-squash/releases/download/20241010-oracular-48403403/
+    path: /ubuntu-squash/releases/download/20250303-oracular-48403403/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 20241010-oracular
+    version: 20250303-oracular
     flavor: stable
     kernel: clonezilla-ubuntu-stable-amd64
     arch: amd64
   clonezilla-debian-testing-amd64:
-    path: /debian-squash/releases/download/3.2.1-7-9e73bfe5/
+    path: /debian-squash/releases/download/3.2.1-9-9e73bfe5/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 3.2.1-7
+    version: 3.2.1-9
     flavor: testing
     kernel: clonezilla-debian-testing-amd64
     arch: amd64
@@ -900,18 +900,18 @@ endpoints:
     kernel: clonezilla-debian-testing-i686
     arch: i686
   clonezilla-ubuntu-testing-amd64:
-    path: /ubuntu-squash/releases/download/20250218-plucky-c67d897c/
+    path: /ubuntu-squash/releases/download/20250303-plucky-c67d897c/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 20250218-plucky
+    version: 20250303-plucky
     flavor: testing
     kernel: clonezilla-ubuntu-testing-amd64
     arch: amd64
   garuda-dr460nized-gaming:
-    path: /asset-mirror/releases/download/240428-a96201bb/
+    path: /asset-mirror/releases/download/250308-a96201bb/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -923,9 +923,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: dr460nized-gaming
-    version: 240428
+    version: 250308
   garuda-dr460nized:
-    path: /asset-mirror/releases/download/240428-f610be58/
+    path: /asset-mirror/releases/download/250308-f610be58/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -937,9 +937,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: dr460nized
-    version: 240428
+    version: 250308
   garuda-xfce:
-    path: /asset-mirror/releases/download/240428-c866e6bf/
+    path: /asset-mirror/releases/download/250308-c866e6bf/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -951,9 +951,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: xfce
-    version: 240428
+    version: 250308
   garuda-gnome:
-    path: /asset-mirror/releases/download/240428-c80a21be/
+    path: /asset-mirror/releases/download/250308-c80a21be/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -965,7 +965,7 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: gnome
-    version: 240428
+    version: 250308
   garuda-lxqt-kwin:
     path: /asset-mirror/releases/download/230501-f13b4b24/
     files:
@@ -1009,7 +1009,7 @@ endpoints:
     flavor: qtile
     version: 231029
   garuda-i3wm:
-    path: /asset-mirror/releases/download/240428-d48b8f05/
+    path: /asset-mirror/releases/download/250308-d48b8f05/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1021,9 +1021,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: i3wm
-    version: 240428
+    version: 250308
   garuda-sway:
-    path: /asset-mirror/releases/download/240428-8d451890/
+    path: /asset-mirror/releases/download/250308-8d451890/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1035,7 +1035,7 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: sway
-    version: 240428
+    version: 250308
   garuda-mate:
     path: /asset-mirror/releases/download/230501-3af08aa6/
     files:
@@ -1081,13 +1081,13 @@ endpoints:
     os: proxmox-ve
     version: 8.3-1
   proxmox-mailgateway:
-    path: /asset-mirror/releases/download/8.1-1-8374c64d/
+    path: /asset-mirror/releases/download/8.2-1-8374c64d/
     files:
     - initrd
     - vmlinuz
     - proxmox.iso
     os: proxmox-mailgateway
-    version: 8.1-1
+    version: 8.2-1
   tails-beta:
     path: /asset-mirror/releases/download/5.0b1-ebdb1fb3/
     files:
@@ -1309,7 +1309,7 @@ endpoints:
     os: xcp-ng
     version: '8.2'
   garuda-cinnamon:
-    path: /asset-mirror/releases/download/240428-0b360492/
+    path: /asset-mirror/releases/download/250308-0b360492/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1321,7 +1321,7 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: cinnamon
-    version: 240428
+    version: 250308
   elementaryos-7-default-squash:
     path: /ubuntu-squash/releases/download/7-3e6e05f6/
     files:
@@ -1607,7 +1607,7 @@ endpoints:
     version: 40
     flavor: GNOME
   ubuntu-24.04-default-squash:
-    path: /ubuntu-squash/releases/download/24.04.1-03d79d20/
+    path: /ubuntu-squash/releases/download/24.04.2-03d79d20/
     files:
     - filesystem.squashfs
     - initrd

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

@@ -166,8 +166,8 @@ releases:
     mirror: mirrors.kernel.org
     name: Arch Linux
     versions:
-    - code_name: 2025.02.01
-      name: 2025.02.01
+    - code_name: 2025.03.01
+      name: 2025.03.01
   blackarch:
     enabled: true
     menu: linux
@@ -193,11 +193,11 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 41.20250130.3.0
+    - code_name: 41.20250215.3.0
       name: stable
-    - code_name: 41.20250215.2.0
+    - code_name: 41.20250302.2.0
       name: testing
-    - code_name: 41.20250215.1.0
+    - code_name: 41.20250302.1.0
       name: next
   debian:
     archive_mirror: http://archive.debian.org
@@ -291,13 +291,51 @@ releases:
     mirror: https://downloads.ipfire.org
     name: IPFire
     versions:
-    - code_name: 2.29-core191
-      name: 2.29 Core191
+    - code_name: 2.29-core192
+      name: 2.29 Core192
   k3os:
     enabled: true
     menu: linux
     mirror: https://github.com/rancher/k3os/releases
     name: k3OS
+  kairos:
+    enabled: true
+    flavors:
+    - key: core
+      name: Core
+    - key: k3sv1.30.8+k3s1
+      name: k3s v1.30.8+k3s1 (Standard)
+    - key: k3sv1.31.4+k3s1
+      name: k3s v1.31.4+k3s1 (Standard)
+    - key: k3sv1.32.1+k3s1
+      name: k3s v1.32.1+k3s1 (Standard)
+    menu: linux
+    mirror: https://github.com/kairos-io/kairos/releases
+    name: Kairos
+    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: opensuse-tumbleweed
+      name: openSUSE 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: ubuntu-24.04
+      name: Ubuntu 24.04
+    - key: ubuntu-24.10
+      name: Ubuntu 24.10
+    version: v3.3.1
   kali:
     base_dir: kali
     enabled: true
@@ -443,14 +481,14 @@ releases:
     mirror: https://netboot.smartos.org/os/
     name: SmartOS
     versions:
+    - code_name: 20250306T000316Z
+      name: 20250306T000316Z
     - code_name: 20250220T074131Z
       name: 20250220T074131Z
     - code_name: 20250220T000340Z
       name: 20250220T000340Z
     - code_name: 20250206T001102Z
       name: 20250206T001102Z
-    - code_name: 20250124T134639Z
-      name: 20250124T134639Z
   talos:
     enabled: true
     menu: linux

+ 1 - 0
roles/netbootxyz/files/ipxe/local/general.h

@@ -2,6 +2,7 @@
 #define CONSOLE_CMD           /* Console command */
 #define DIGEST_CMD            /* Image crypto digest commands */
 #define DOWNLOAD_PROTO_HTTPS  /* Secure Hypertext Transfer Protocol */
+#define DOWNLOAD_PROTO_NFS    /* NFS */
 #define IMAGE_COMBOOT         /* COMBOOT */
 #define IMAGE_TRUST_CMD       /* Image trust management commands */
 #define IMAGE_GZIP            /* GZIP image support */

+ 1 - 0
roles/netbootxyz/files/ipxe/local/general.h.efi

@@ -2,6 +2,7 @@
 #define CONSOLE_CMD           /* Console command */
 #define DIGEST_CMD            /* Image crypto digest commands */
 #define DOWNLOAD_PROTO_HTTPS  /* Secure Hypertext Transfer Protocol */
+#define DOWNLOAD_PROTO_NFS    /* NFS */
 #define IMAGE_TRUST_CMD       /* Image trust management commands */
 #define IMAGE_GZIP            /* GZIP image support */
 #define IMAGE_PNG             /* PNG image support */

+ 4 - 2
roles/netbootxyz/templates/menu/coreos.ipxe.j2

@@ -11,14 +11,14 @@ set os {{ releases.coreos.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 ${install_device} || set install_device unset
 isset ${ignition_url} || set ignition_url skip
 menu ${os} - ${os_arch}
 item --gap ${os}:
 {% for item in releases.coreos.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
-item install_dev ${space} Set install device: ${install_device}
+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 ${core_version} core_version || goto coreos_exit
 echo ${cls}
@@ -40,6 +40,8 @@ boot
 goto coreos_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 coreos

+ 103 - 0
roles/netbootxyz/templates/menu/kairos.ipxe.j2

@@ -0,0 +1,103 @@
+#!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_platform} || set kairos_platform {{ releases.kairos.platforms[0].key }}
+isset ${kairos_mode} || set kairos_mode install-mode-interactive
+isset ${kairos_flavor} || set kairos_flavor core
+
+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}
+item kairos_flavor ${space} Set flavor: ${kairos_flavor}
+choose --default ${menu} menu || goto kairos_exit
+echo ${cls}
+goto ${menu} ||
+goto kairos_exit
+
+:kairos_version
+menu ${os} version
+item ${kairos_version} ${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 --gap Set Boot Mode:
+item install-mode-interactive ${space} Interactive Install Mode
+item install-mode ${space} Regular Install Mode
+item kairos.remote_recovery_mode ${space} Remote Recovery Mode
+choose --default ${kairos_mode} kairos_mode  || clear menu
+goto kairos
+
+:kairos_platform
+menu ${os} Platforms
+item --gap Set Platform:
+{% for item in releases.kairos.platforms %}
+item {{ item.key }} ${space} {{ item.name }}
+{% endfor %}
+choose --default ${kairos_platform} kairos_platform || clear menu
+goto kairos
+
+:kairos_flavor
+menu ${os} Flavor
+item --gap Set Flavor:
+{% for item in releases.kairos.flavors %}
+item {{ item.key }} ${space} {{ item.name }}
+{% endfor %}
+choose --default ${kairos_flavor} kairos_flavor || clear menu
+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_boot
+imgfree
+iseq ${kairos_flavor} core && set kairos_flavor_family core || set kairos_flavor_family standard
+iseq ${kairos_flavor} core && set release_prefix ${kairos_mirror}/download/${kairos_version}/kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version} ||
+iseq ${kairos_flavor} core || set release_prefix ${kairos_mirror}/download/${kairos_version}/kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version}-${kairos_flavor}
+set kairos_kernel_args root=live:${release_prefix}.squashfs rd.neednet=1 ip=dhcp rd.cos.disable netboot ${kairos_mode} config_url=${kairos_config_url} selinux=0 console=tty1 console=ttyS0 ${cmdline} initrd=initrd.magic
+kernel ${release_prefix}-kernel root=live:${release_prefix}.squashfs ${kairos_kernel_args}
+initrd ${release_prefix}-initrd
+
+echo
+echo MD5sums:
+md5sum kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version}-${kairos_flavor}-kernel kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version}-${kairos_flavor}-initrd
+boot
+
+:kairos_exit
+clear menu
+exit 0

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.85
+2.0.86