Procházet zdrojové kódy

Merge pull request #1046 from netbootxyz/RC

Release 2.0.52
Antony Messerli před 3 roky
rodič
revize
a86f11efb2

+ 5 - 1
CHANGELOG.md

@@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file.
 
 ## [Unreleased]
 
-## [2.0.51]
+## [2.0.52] - 2021-10-31
+#### Added
+- Support for ProxyDHCP environments
+
+## [2.0.51] - 2021-10-15
 #### Added
 - Fedora CoreOS - aarch64 support
 - Garuda Linux Live builds

+ 43 - 33
endpoints.yml

@@ -15,7 +15,7 @@ endpoints:
     flavor: GNOME
     kernel: ubuntu-18.04-live-kernel
   debian-10-live-kernel:
-    path: /debian-core-10/releases/download/10.10.0-cb83d5e9/
+    path: /debian-core-10/releases/download/10.11.0-cb83d5e9/
     files:
     - initrd
     - vmlinuz
@@ -235,7 +235,7 @@ endpoints:
     flavor: default
     kernel: backbox-6-default-squash
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20211007-0947-92641c1f/
+    path: /ubuntu-squash/releases/download/20211028-1329-92641c1f/
     files:
     - vmlinuz
     - filesystem.squashfs
@@ -409,7 +409,7 @@ endpoints:
     flavor: xfce
     kernel: sparky-rolling-gui
   sparky-rolling-lxqt:
-    path: /debian-squash/releases/download/2021.09-c061fbdd/
+    path: /debian-squash/releases/download/2021.10-7db481ad/
     files:
     - filesystem.squashfs
     - initrd
@@ -419,7 +419,7 @@ endpoints:
     flavor: lxqt
     kernel: sparky-rolling-lxqt
   oracle-8:
-    path: /asset-mirror/releases/download/3-a778a084/
+    path: /asset-mirror/releases/download/4-a778a084/
     files:
     - vmlinuz
     - initrd
@@ -620,7 +620,7 @@ endpoints:
     os: septor
     version: current
   manjaro-xfce-current:
-    path: /manjaro-squash/releases/download/21.1.5-211008-linux513-5726b1dc/
+    path: /manjaro-squash/releases/download/21.1.6-211017-linux513-5726b1dc/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -629,11 +629,11 @@ endpoints:
     - initrd
     - vmlinuz
     os: manjaro
-    version: 21.1.5-211008-linux513
+    version: 21.1.6-211017-linux513
     flavor: xfce
     kernel: manjaro-xfce-current
   manjaro-gnome-current:
-    path: /manjaro-squash/releases/download/21.1.5-211008-linux513-3e5e7dda/
+    path: /manjaro-squash/releases/download/21.1.6-211017-linux513-3e5e7dda/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -642,11 +642,11 @@ endpoints:
     - initrd
     - vmlinuz
     os: manjaro
-    version: 21.1.5-211008-linux513
+    version: 21.1.6-211017-linux513
     flavor: gnome
     kernel: manjaro-gnome-current
   manjaro-kde-current:
-    path: /manjaro-squash/releases/download/21.1.5-211008-linux513-aa503796/
+    path: /manjaro-squash/releases/download/21.1.6-211017-linux513-aa503796/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -655,11 +655,11 @@ endpoints:
     - initrd
     - vmlinuz
     os: manjaro
-    version: 21.1.5-211008-linux513
+    version: 21.1.6-211017-linux513
     flavor: kde
     kernel: manjaro-kde-current
   fatdog:
-    path: /asset-mirror/releases/download/811-5095c9db/
+    path: /asset-mirror/releases/download/812rc-5095c9db/
     files:
     - vmlinuz
     - initrd
@@ -698,7 +698,7 @@ endpoints:
     version: current
     flavor: BakAndImg
   4mlinux-antivirus:
-    path: /asset-mirror/releases/download/37.0-0.103.2-ba9e3ece/
+    path: /asset-mirror/releases/download/38.0-0.104.0-ba9e3ece/
     files:
     - initrd
     - vmlinuz
@@ -924,7 +924,7 @@ endpoints:
     version: 33
     flavor: MATE_Compiz
   vyos-rolling:
-    path: /debian-squash/releases/download/202110130217-fdd40a1c/
+    path: /debian-squash/releases/download/202110240217-fdd40a1c/
     files:
     - filesystem.squashfs
     - initrd
@@ -1005,13 +1005,13 @@ endpoints:
     os: ovirt
     version: '4.4'
   nitrux-release:
-    path: /ubuntu-squash/releases/download/2021.09.30-e364d0a5/
+    path: /ubuntu-squash/releases/download/2021.10.29-e364d0a5/
     files:
     - initrd
     - vmlinuz
     - filesystem.squashfs
     os: nitrux
-    version: 2021.09.30
+    version: 2021.10.29
   endeavouros:
     path: /asset-mirror/releases/download/2021.08.27-d09b132d/
     files:
@@ -1203,7 +1203,7 @@ endpoints:
     os: freebsd
     version: '13'
   pop-21.04-default-squash:
-    path: /ubuntu-squash/releases/download/2-7ee5da15/
+    path: /ubuntu-squash/releases/download/21.04-62feddb8/
     files:
     - filesystem.squashfs
     - initrd
@@ -1261,12 +1261,12 @@ endpoints:
     os: proxmox
     version: 7.0-1
   talos:
-    path: /asset-mirror/releases/download/0.13.0-3f5e10e5/
+    path: /asset-mirror/releases/download/0.13.1-3f5e10e5/
     files:
     - vmlinuz
     - initramfs.xz
     os: talos
-    version: 0.13.0
+    version: 0.13.1
   elementaryos-6-default-squash:
     path: /ubuntu-squash/releases/download/6-c6e63f57/
     files:
@@ -1295,7 +1295,7 @@ endpoints:
     flavor: cinnamon
     kernel: debian-11-live-kernel
   debian-11-live-kernel:
-    path: /debian-core-11/releases/download/11.0.0-0f2767cf/
+    path: /debian-core-11/releases/download/11.1.0-0f2767cf/
     files:
     - initrd
     - vmlinuz
@@ -1374,31 +1374,31 @@ endpoints:
     os: memtest86-free
     version: '9.3'
   gentoo-x86:
-    path: /asset-mirror/releases/download/20211011T170547Z-6734abfd/
+    path: /asset-mirror/releases/download/20211025T170550Z-6734abfd/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20211011T170547Z
+    version: 20211025T170550Z
     arch: x86
   gentoo-arm64:
-    path: /asset-mirror/releases/download/20211010T235129Z-079d67cf/
+    path: /asset-mirror/releases/download/20211024T235216Z-079d67cf/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20211010T235129Z
+    version: 20211024T235216Z
     arch: arm64
   gentoo-amd64:
-    path: /asset-mirror/releases/download/20211010T170540Z-383e823f/
+    path: /asset-mirror/releases/download/20211024T170536Z-383e823f/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20211010T170540Z
+    version: 20211024T170536Z
     arch: amd64
   tails:
     path: /asset-mirror/releases/download/4.23-624dc85f/
@@ -1584,35 +1584,35 @@ endpoints:
     kernel: clonezilla-ubuntu-stable-amd64
     arch: amd64
   clonezilla-debian-testing-amd64:
-    path: /debian-squash/releases/download/2.8.0-16-5fb1a15b/
+    path: /debian-squash/releases/download/2.8.0-22-5fb1a15b/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 2.8.0-16
+    version: 2.8.0-22
     flavor: testing
     kernel: clonezilla-debian-testing-amd64
     arch: amd64
   clonezilla-debian-testing-i686:
-    path: /debian-squash/releases/download/2.8.0-16-ee3863df/
+    path: /debian-squash/releases/download/2.8.0-22-ee3863df/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 2.8.0-16
+    version: 2.8.0-22
     flavor: testing
     kernel: clonezilla-debian-testing-i686
     arch: i686
   clonezilla-ubuntu-testing-amd64:
-    path: /ubuntu-squash/releases/download/20211008-hirsute-5774fbed/
+    path: /ubuntu-squash/releases/download/20211027-hirsute-5774fbed/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 20211008-hirsute
+    version: 20211027-hirsute
     flavor: testing
     kernel: clonezilla-ubuntu-testing-amd64
     arch: amd64
@@ -1715,7 +1715,7 @@ endpoints:
     flavor: wayfire
     version: 210928
   garuda-qtile:
-    path: /asset-mirror/releases/download/210928-ee74f79f/
+    path: /asset-mirror/releases/download/210928-7445d99d/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1726,7 +1726,7 @@ endpoints:
     - rootfs.sfs
     - vmlinuz
     os: garuda
-    flavor: bspwm
+    flavor: qtile
     version: 210928
   garuda-i3wm:
     path: /asset-mirror/releases/download/210928-95710e33/
@@ -1844,3 +1844,13 @@ endpoints:
     version: '21.10'
     flavor: Budgie
     kernel: ubuntu-21.10-Budgie-squash
+  pop-21.04-nvidia-squash:
+    path: /ubuntu-squash/releases/download/21.04-601c9b89/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: pop
+    version: '21.04'
+    flavor: nvidia
+    kernel: pop-21.04-nvidia-squash

+ 7 - 7
roles/netbootxyz/defaults/main.yml

@@ -129,8 +129,8 @@ releases:
     mirror: http://dl-cdn.alpinelinux.org
     name: Alpine Linux
     versions:
-    - code_name: v3.14
-      name: '3.14'
+    - code_name: v3.15
+      name: '3.15'
     - code_name: edge
       name: Edge (development)
   anarchy:
@@ -178,11 +178,11 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 34.20210919.3.0
+    - code_name: 34.20211004.3.1
       name: stable
-    - code_name: 34.20211004.2.0
+    - code_name: 34.20211016.2.1
       name: testing
-    - code_name: 35.20211010.1.0
+    - code_name: 35.20211025.1.0
       name: next
   debian:
     archive_mirror: http://archive.debian.org
@@ -451,14 +451,14 @@ releases:
     mirror: https://netboot.joyent.com/os/
     name: SmartOS
     versions:
+    - code_name: 20211021T215943Z
+      name: 20211021T215943Z
     - code_name: 20211007T001741Z
       name: 20211007T001741Z
     - code_name: 20210923T003059Z
       name: 20210923T003059Z
     - code_name: 20210909T065923Z
       name: 20210909T065923Z
-    - code_name: 20210909T002651Z
-      name: 20210909T002651Z
   talos:
     enabled: true
     menu: linux

+ 25 - 11
roles/netbootxyz/templates/disks/netboot.xyz.j2

@@ -20,14 +20,28 @@ iseq ${site_name} netboot.xyz || echo ${bold}${fg_whi}Powered by ${fg_gre}netboo
 prompt --key m --timeout 4000 Hit the ${bold}m${boldoff} key to open failsafe menu... && goto failsafe || goto dhcp
 
 :dhcp
-echo
 dhcp || goto netconfig
-isset ${next-server} && iseq ${filename} {{ site_name }}.kpxe && goto tftpmenu ||
-isset ${next-server} && iseq ${filename} {{ site_name }}-undionly.kpxe && goto tftpmenu ||
-isset ${next-server} && iseq ${filename} {{ site_name }}.efi && goto tftpmenu ||
-isset ${next-server} && iseq ${filename} {{ site_name }}-snp.efi && goto tftpmenu ||
-isset ${next-server} && iseq ${filename} {{ site_name }}-snponly.efi && goto tftpmenu ||
-isset ${next-server} && iseq ${filename} {{ site_name }}-arm64.efi && goto tftpmenu ||
+isset ${next-server} && isset ${proxydhcp/next-server} && goto choose-tftp || set tftp-server ${next-server} && goto load-custom-ipxe
+
+:choose-tftp
+# Load "proxy settings" from root server
+chain tftp://${next-server}/local-vars.ipxe || echo ${VARS_ERR}
+# Check if the proxy-dhcp-vars script has made any usable command about how to progress with a next-server and a proxy-next-server being set
+isset ${use_proxydhcp_settings} && iseq ${use_proxydhcp_settings} true && goto set-next-server ||
+prompt --key p --timeout 4000 DHCP proxy detected, press ${bold}p${boldoff} to boot from ${proxydhcp/next-server}... && set use_proxydhcp_settings true || set use_proxydhcp_settings false
+goto set-next-server
+
+:set-next-server
+iseq ${use_proxydhcp_settings} true && set tftp-server ${proxydhcp/next-server} || set tftp-server ${next-server}
+goto load-custom-ipxe
+
+:load-custom-ipxe
+isset ${tftp-server} && iseq ${filename} {{ site_name }}.kpxe && goto tftpmenu ||
+isset ${tftp-server} && iseq ${filename} {{ site_name }}-undionly.kpxe && goto tftpmenu ||
+isset ${tftp-server} && iseq ${filename} {{ site_name }}.efi && goto tftpmenu ||
+isset ${tftp-server} && iseq ${filename} {{ site_name }}-snp.efi && goto tftpmenu ||
+isset ${tftp-server} && iseq ${filename} {{ site_name }}-snponly.efi && goto tftpmenu ||
+isset ${tftp-server} && iseq ${filename} {{ site_name }}-arm64.efi && goto tftpmenu ||
 goto menu
 
 :failsafe
@@ -79,10 +93,10 @@ echo Attempting chainload of ${boot_domain}...
 goto menu || goto failsafe
 
 :tftpmenu
-chain tftp://${next-server}/local-vars.ipxe || echo ${VARS_ERR}
-isset ${hostname} && chain --autofree tftp://${next-server}/HOSTNAME-${hostname}.ipxe || echo Custom boot by Hostname not found trying MAC...
-chain --autofree tftp://${next-server}/MAC-${mac:hexraw}.ipxe || echo Custom boot by MAC not found booting default...
-chain --autofree tftp://${next-server}/menu.ipxe || echo ${TFTP_ERR} && goto menu
+chain tftp://${tftp-server}/local-vars.ipxe || echo ${VARS_ERR}
+isset ${hostname} && chain --autofree tftp://${tftp-server}/HOSTNAME-${hostname}.ipxe || echo Custom boot by Hostname not found trying MAC...
+chain --autofree tftp://${tftp-server}/MAC-${mac:hexraw}.ipxe || echo Custom boot by MAC not found booting default...
+chain --autofree tftp://${tftp-server}/menu.ipxe || echo ${TFTP_ERR} && goto menu
 
 :menu
 {% if bootloader_https_enabled | bool %}

+ 5 - 0
roles/netbootxyz/templates/local-vars.ipxe.j2

@@ -3,3 +3,8 @@
 
 ### set to enable enable github custom menu
 #set github_user my_github_username
+
+# If a DHCP proxy server is found and this variable is set to true, the tftp server provided by the DHCP proxy will be used instead of the tftp server provided by the root DHCP
+# Please note that this variable is always read from the local-vars.ipxe onb the tftp server the root DHCP provided
+# If the variable isn't present at runtime, the user will be queried to press a key to boot from the proxy DHCP prtovided ftfp server
+#set use_proxydhcp_settings true

+ 10 - 0
roles/netbootxyz/templates/menu/live-popos.ipxe.j2

@@ -6,6 +6,7 @@ goto ${menu} ||
 set os Pop os Live
 menu ${os}
 item --gap ${os} Versions
+item hirsute ${space} ${os} 21.04
 item focal ${space} ${os} 20.04
 item bionic ${space} ${os} 18.04
 choose live_version || goto live_exit
@@ -13,6 +14,14 @@ menu ${os} ${live_version}
 item --gap ${os} Flavors
 goto ${live_version}
 
+:hirsute
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "pop" and 'squash' in key and value.version == "21.04" %}
+item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
+{% endif %}
+{% endfor %}
+goto flavor_select
+
 :focal
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "pop" and 'squash' in key and value.version == "20.04" %}
@@ -55,6 +64,7 @@ initrd ${kernel_url}initrd
 boot
 
 :20.04-boot
+:21.04-boot
 imgfree
 kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
 initrd ${kernel_url}initrd

+ 5 - 1
roles/netbootxyz/templates/menu/netinfo.ipxe.j2

@@ -15,7 +15,11 @@ item --gap DHCP server:
 item dhcpserver ${space} ${netX/dhcp-server}
 item --gap Next-server:
 item nextserver ${space} ${next-server}
+isset ${proxydhcp/next-server} && item --gap DHCP proxy next-server: ||
+isset ${proxydhcp/next-server} && item proxy-nextserver ${space} ${proxydhcp/next-server} ||
+isset ${proxydhcp/next-server} && item --gap Booted from DHCP proxy next-server: ||
+isset ${proxydhcp/next-server} && iseq ${proxydhcp/next-server} ${tftp-server} && item bootproxy ${space} Yes ||
 item --gap Filename:
-item filename ${space} ${netX/filename}
+isset ${proxydhcp/next-server} && item filename ${space} ${proxydhcp/filename} || item filename ${space} ${netX/filename}
 choose empty ||
 exit

+ 1 - 0
roles/netbootxyz/vars/debian.yml

@@ -11,6 +11,7 @@ netbootxyz_packages:
   - git
   - isolinux
   - liblzma-dev
+  - libslirp-dev
   - syslinux
   - syslinux-common
   - toilet

+ 1 - 0
roles/netbootxyz/vars/redhat.yml

@@ -6,6 +6,7 @@ netbootxyz_packages:
   - genisoimage
   - git
   - httpd
+  - libslirp-devel
   - minizip-devel
   - syslinux
   - xz-devel

+ 1 - 0
roles/netbootxyz/vars/ubuntu.yml

@@ -11,6 +11,7 @@ netbootxyz_packages:
   - git
   - isolinux
   - liblzma-dev
+  - libslirp-dev
   - syslinux
   - syslinux-common
   - toilet

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.51
+2.0.52