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

Merge pull request #961 from netbootxyz/development

Release 2.0.43-RC
Antony Messerli 3 лет назад
Родитель
Сommit
4e90492617

+ 16 - 0
CHANGELOG.md

@@ -4,9 +4,23 @@ All notable changes to this project will be documented in this file.
 
 ## [Unreleased]
 
+## [2.0.43]
+### Added
+- Adds Proxmox VE
+- Adds Zorin 16
+- Adds Elementary OS 6
+- Enables ability to add custom commands early in menu load with early_menu_*
+- Adds ability to change install priority on Ubuntu Legacy
+- Adds a toggle for enabling local-vars.ipxe
+
+### Fixes
+- Adjustments to index.html template, adds description
+- Readme tweaks for new site
+
 ## [2.0.42]
 ### Added
 - Debian 11 (Bullseye) ahead of release
+
 ### Fixes
 - Gentoo more reliable, switches to initrd.magic to avoid modifying initrd
 - Fixes to Mint menu to populate options correctly
@@ -16,8 +30,10 @@ All notable changes to this project will be documented in this file.
 ### Added
 - Adds support for openEuler
 - Adds ping command to iPXE build
+
 ### Fixes
 - NixOS working again, using images and iPXE configs that are generated upstream
+
 ### Changes
 - Use non https repo for almalinux
 - Switch to using initrd.magic (https://github.com/ipxe/ipxe/commit/e5f02551735922eb235388bff08249a6f31ded3d)

+ 3 - 3
CONTRIBUTING.md

@@ -1,7 +1,7 @@
 # Contributing to netboot.xyz
 
-Thanks for supporting netboot.xyz, and for considering contributing to the
-project!
+First of all, thank you for supporting the netboot.xyz community and for 
+considering contributing to the project!
 
 ## How to Contribute
 
@@ -13,7 +13,7 @@ might go end of life and drop off the mirrors.
 The end goal is to support as many operating systems as possible so that it's
 really easy to go explore new operating systems and tools from one location.
 
-## So what can I do to help?
+## What can I do to help?
 
 ### Help keep netboot.xyz updated
 

+ 7 - 6
README.md

@@ -66,10 +66,10 @@ This will load the appropriate netboot.xyz kernel with all of the proper options
 See [netboot.xyz](https://netboot.xyz) for all documentation.  Some links to get started with are:
 
 * [Downloads](https://netboot.xyz/downloads/)
-* [Self Hosting](https://netboot.xyz/selfhosting/)
-* [Booting Methods](https://netboot.xyz/booting/)
-* [FAQ](https://netboot.xyz/faq/)
-* [Blog](https://blog.netboot.xyz/)
+* [Self Hosting](https://netboot.xyz/docs/selfhosting/)
+* [Booting Methods](https://netboot.xyz/docs/booting/ipxe)
+* [FAQ](https://netboot.xyz/docs/faq)
+* [Blog](https://netboot.xyz/blog)
 
 If you'd like to contribute to the documentation, the netboot.xyz documentation is located at [netboot.xyz-docs](https://github.com/netbootxyz/netboot.xyz-docs).
 
@@ -77,7 +77,7 @@ If you'd like to contribute to the documentation, the netboot.xyz documentation
 
 For those users who want to deploy their own netboot.xyz environment,  you can leverage the same scripts that are used to deploy the hosted environment. The source scripts are all Ansible templates and can be generated and customized to your preference.
 
-Please see the [self-hosting docs](https://netboot.xyz/selfhosting/) for more information but in short:
+Please see the [self-hosting docs](https://netboot.xyz/docs/selfhosting/) for more information but in short:
 
 #### Deploying using Ansible
 
@@ -132,7 +132,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 | Fatdog64 | https://distro.ibiblio.org/fatdog/web/ | No | Yes |
 | Fedora | https://fedoraproject.org | Yes | Yes |
 | Feren OS | https://ferenos.weebly.com/ | Yes | No |
-| Flatcar Linux | https://www.flatcar-linux.org | Yes | No |
+| Flatcar Linux | https://kinvolk.io/flatcar-container-linux/ | Yes | No |
 | FreeBSD | https://freebsd.org | Yes, disk image | No |
 | FreeDOS | http://www.freedos.org | ISO - Memdisk| No |
 | Gentoo | https://gentoo.org | Yes | Yes |
@@ -156,6 +156,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 | Parrot Security | https://www.parrotsec.org | No | Yes |
 | Peppermint | https://peppermintos.com | No | Yes |
 | Pop OS |https://system76.com/pop| No | Yes |
+| Proxmox VE | https://www.proxmox.com/ | Yes | No |
 | Q4OS | https://q4os.org | No | Yes |
 | Raizo | https://sourceforge.net/projects/live-raizo/ | No | Yes |
 | RancherOS | https://rancher.com/rancher-os | Yes | No |

+ 44 - 19
endpoints.yml

@@ -317,15 +317,6 @@ endpoints:
     version: 18.1.0
     flavor: XFCE
     kernel: manjaro-18.1.0-gui-kernel
-  elementaryos-5-default-squash:
-    path: /ubuntu-squash/releases/download/5-ddac8299/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: elementary-os
-    version: '5'
-    kernel: elementaryos-5-default-squash
   kali-xfce-squash:
     path: /debian-squash/releases/download/2021.2-4237c18c/
     files:
@@ -467,7 +458,7 @@ endpoints:
     flavor: eoan
     kernel: voyager-eoan-squash
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20210729-0944-92641c1f/
+    path: /ubuntu-squash/releases/download/20210812-1129-92641c1f/
     files:
     - vmlinuz
     - filesystem.squashfs
@@ -588,7 +579,7 @@ endpoints:
     flavor: stable
     kernel: clonezilla-debian-stable
   clonezilla-debian-testing:
-    path: /debian-squash/releases/download/2.7.3-12-002d59cc/
+    path: /debian-squash/releases/download/2.7.3-18-002d59cc/
     files:
     - filesystem.squashfs
     - initrd
@@ -608,7 +599,7 @@ endpoints:
     flavor: stable
     kernel: clonezilla-ubuntu-stable
   clonezilla-ubuntu-testing:
-    path: /ubuntu-squash/releases/download/20210727-hirsute-18e78f5f/
+    path: /ubuntu-squash/releases/download/20210809-hirsute-18e78f5f/
     files:
     - filesystem.squashfs
     - initrd
@@ -844,7 +835,7 @@ endpoints:
     os: blackarch
     version: current
   bluestar:
-    path: /asset-mirror/releases/download/5.13.4-2021.07.22-a3024eea/
+    path: /asset-mirror/releases/download/5.13.8-2021.08.05-a3024eea/
     files:
     - initrd
     - vmlinuz
@@ -868,7 +859,7 @@ endpoints:
     os: zeninstall
     version: current
   gentoo:
-    path: /asset-mirror/releases/download/20210725T170534Z-21ec62e4/
+    path: /asset-mirror/releases/download/20210808T170546Z-21ec62e4/
     files:
     - image.squashfs
     - initrd
@@ -900,7 +891,7 @@ endpoints:
     os: kaspersky
     version: '18'
   septor:
-    path: /debian-squash/releases/download/2021.3-cf4a4991/
+    path: /debian-squash/releases/download/2021.4-cf4a4991/
     files:
     - filesystem.squashfs
     - initrd
@@ -908,7 +899,7 @@ endpoints:
     os: septor
     version: current
   manjaro-xfce-current:
-    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-90108dca/
+    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-f75643fc/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -921,7 +912,7 @@ endpoints:
     flavor: xfce
     kernel: manjaro-xfce-current
   manjaro-gnome-current:
-    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-d9e9fd9b/
+    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-ad279d40/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -934,7 +925,7 @@ endpoints:
     flavor: gnome
     kernel: manjaro-gnome-current
   manjaro-kde-current:
-    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-01cd228f/
+    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-52a22eaa/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -962,7 +953,7 @@ endpoints:
     os: raizo
     version: current
   4mlinux:
-    path: /asset-mirror/releases/download/36.1-39ff9a19/
+    path: /asset-mirror/releases/download/37.0-39ff9a19/
     files:
     - initrd
     - vmlinuz
@@ -1749,3 +1740,37 @@ endpoints:
     version: '20'
     flavor: Cinnamon
     kernel: mint-20-cinnamon-squash
+  proxmox:
+    path: /asset-mirror/releases/download/7.0-1-24e3084c/
+    files:
+    - initrd
+    - vmlinuz
+    - proxmox.iso
+    os: proxmox
+    version: 7.0-1
+  talos:
+    path: /asset-mirror/releases/download/0.11.4-3f5e10e5/
+    files:
+    - vmlinuz
+    - initramfs.xz
+    os: talos
+    version: 0.11.4
+  elementaryos-6-default-squash:
+    path: /ubuntu-squash/releases/download/6-c6e63f57/
+    files:
+    - initrd
+    - vmlinuz
+    - filesystem.squashfs
+    os: elementary-os
+    version: '6'
+    kernel: elementaryos-6-default-squash
+  zorin-16-core-squash:
+    path: /ubuntu-squash/releases/download/16-a33ab467/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: zorin
+    version: '16'
+    flavor: Core
+    kernel: zorin-16-core-squash

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

@@ -68,6 +68,8 @@ custom_generate_menus: false
 custom_github_menus: true
 custom_templates_dir: '{{ netbootxyz_conf_dir }}/custom'
 custom_url_menus: true
+early_menu_contents: '### put early ipxe settings here'
+early_menu_enabled: false
 generate_checksums: true
 generate_disks: true
 generate_disks_arm: false
@@ -75,6 +77,7 @@ generate_disks_efi: true
 generate_disks_hybrid: false
 generate_disks_legacy: true
 generate_disks_rpi: false
+generate_local_vars: true
 generate_menus: true
 generate_signatures: false
 generate_version_file: true
@@ -129,8 +132,8 @@ releases:
     mirror: mirrors.kernel.org
     name: Arch Linux
     versions:
-    - code_name: 2021.07.01
-      name: 2021.07.01
+    - code_name: 2021.08.01
+      name: 2021.08.01
   blackarch:
     enabled: true
     menu: linux
@@ -160,7 +163,7 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 34.20210711.3.0
+    - code_name: 34.20210725.3.0
       name: stable
   debian:
     archive_mirror: http://archive.debian.org
@@ -224,6 +227,8 @@ releases:
       name: Beta Channel
     - code_name: alpha
       name: Alpha Channel
+    - code_name: edge
+      name: Edge Channel
   freebsd:
     enabled: true
     menu: bsd
@@ -250,8 +255,8 @@ releases:
     mirror: https://downloads.ipfire.org
     name: IPFire
     versions:
-    - code_name: 2.25-core158
-      name: 2.25 Core158
+    - code_name: 2.27-core159
+      name: 2.27 Core159
   k3os:
     enabled: true
     menu: linux
@@ -355,6 +360,10 @@ releases:
     paths:
       7: /repo/OracleLinux/OL7/latest/x86_64
       8: /repo/OracleLinux/OL8/baseos/latest/x86_64
+  proxmox:
+    enabled: true
+    menu: linux
+    name: Proxmox VE
   rancheros:
     base_dir: os/latest
     enabled: true
@@ -412,14 +421,14 @@ releases:
     mirror: https://netboot.joyent.com/os/
     name: SmartOS
     versions:
+    - code_name: 20210812T031946Z
+      name: 20210812T031946Z
     - code_name: 20210729T002724Z
       name: 20210729T002724Z
     - code_name: 20210715T010227Z
       name: 20210715T010227Z
     - code_name: 20210701T204427Z
       name: 20210701T204427Z
-    - code_name: 20210617T001230Z
-      name: 20210617T001230Z
   talos:
     enabled: true
     menu: linux

+ 7 - 0
roles/netbootxyz/tasks/generate_menus.yml

@@ -58,6 +58,13 @@
     tags:
     - skip_ansible_lint
 
+  - name: Generate local-vars.ipxe if enabled
+    template:
+      src: "local-vars.ipxe.j2"
+      dest: "{{ netbootxyz_root }}/local-vars.ipxe"
+    when:
+      - generate_local_vars | bool
+
   - name: Retrieve pciids.ipxe
     get_url:
       url: "{{ pciids_url }}"

+ 7 - 6
roles/netbootxyz/templates/index.html.j2

@@ -15,13 +15,14 @@ exit
 <html lang="en">
   <head>
     <title>{{ site_name }} BootLoaders - Powered by netboot.xyz</title>
+    <meta name='description' content='Download links for available {{ site_name }} bootloaders.'>
+    <style>
+      table, th, td {
+      padding: 5px;
+      border: 1px solid black; 
+      }
+    </style>
   </head>
-  <style>
-    table, th, td {
-    padding: 5px;
-    border: 1px solid black; 
-    }
-  </style>
   <body>
   <div style="font-family: monospace, fixed; font-weight: bold;">
   {% if index_title.stdout is defined %}

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

@@ -0,0 +1,5 @@
+#!ipxe
+### used for adding local variables before loading the menu
+
+### set to enable enable github custom menu
+#set github_user my_github_username

+ 5 - 5
roles/netbootxyz/templates/menu/flatcar.ipxe.j2

@@ -1,7 +1,7 @@
 #!ipxe
 
-# Container Linux by flatcar
-# https://www.flatcar.com
+# Flatcar Container Linux
+# https://kinvolk.io/flatcar-container-linux/
 # For further info on:
 # iPXE and flatcar Container Linux: https://docs.flatcar-linux.org/os/booting-with-ipxe/
 # Setting up Ignition: https://docs.flatcar-linux.org/os/provisioning/
@@ -16,7 +16,7 @@ item --gap ${os}
 {% for item in releases.flatcar.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
-item ignition_config ${space} Set flatcar.config.url: ${flatcar.config.url}
+item ignition_config ${space} Set ignition.config.url: ${ignition.config.url}
 choose --default ${menu} menu || goto flatcar_exit
 echo ${cls}
 goto ${menu} ||
@@ -34,8 +34,8 @@ boot
 goto flatcar_exit
 
 :ignition_config
-echo -n Please set Ignition URL: && read flatcar.config.url
-set flatcar_params flatcar.config.url=${flatcar.config.url}
+echo -n Please set Ignition URL: && read ignition.config.url
+set flatcar_params ignition.config.url=${ignition.config.url}
 set flatcar_firstboot flatcar.first_boot=1
 clear menu
 goto flatcar

+ 2 - 2
roles/netbootxyz/templates/menu/live-elementary.ipxe.j2

@@ -7,7 +7,7 @@ set os elementary OS
 menu ${os} - Current Arch [ ${arch} ]
 iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
-item elementaryos-5-default-squash ${space} ${os} 5
+item elementaryos-6-default-squash ${space} ${os} 6
 choose live_version || goto live_exit
 goto ${live_version}
 
@@ -27,7 +27,7 @@ goto boot
 
 :boot
 imgfree
-kernel ${kernel_url}vmlinuz ip=dhcp boot=casper maybe-ubiquity netboot=http fetch=${squash_url} {{ kernel_params }}
+kernel ${kernel_url}vmlinuz ip=dhcp boot=casper maybe-ubiquity netboot=url url=${squash_url} {{ kernel_params }}
 initrd ${kernel_url}initrd
 boot
 

+ 14 - 2
roles/netbootxyz/templates/menu/live-zorin.ipxe.j2

@@ -7,19 +7,25 @@ set os Zorin Live
 menu ${os} - Current Arch [ ${arch} ]
 iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
+item 16 ${space} ${os} 16
 item 15 ${space} ${os} 15
 choose live_version || goto live_exit
 menu ${os} ${live_version}
 item --gap ${os} Flavors
 goto ${live_version}
 
-:15
 {% for key, value in endpoints.items() | sort %}
+{% if value.os == "zorin" and 'squash' in key and value.version == "16" %}
+:{{ value.version }}
+item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
+goto flavor_select
+{% endif %}
 {% if value.os == "zorin" and 'squash' in key and value.version == "15" %}
+:{{ value.version }}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
+goto flavor_select
 {% endif %}
 {% endfor %}
-goto flavor_select
 
 :flavor_select
 choose flavor || goto live_menu
@@ -46,6 +52,12 @@ kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=http fetch=${squash_url}
 initrd ${kernel_url}initrd
 boot
 
+:16-boot
+imgfree
+kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
+initrd ${kernel_url}initrd
+boot
+
 :live_exit
 clear menu
 exit 0

+ 3 - 0
roles/netbootxyz/templates/menu/menu.ipxe.j2

@@ -1,4 +1,7 @@
 #!ipxe
+{% if early_menu_enabled -%}
+{{ early_menu_contents }}
+{%- endif %}
 
 :start
 chain --autofree boot.cfg ||

+ 44 - 0
roles/netbootxyz/templates/menu/proxmox.ipxe.j2

@@ -0,0 +1,44 @@
+#!ipxe
+
+# Proxmox VE
+# https://www.proxmox.com
+
+goto ${menu} ||
+
+:proxmox
+clear proxmox_version
+set os Proxmox VE
+menu ${os}
+item --gap ${os} Versions
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "proxmox" %}
+item normal ${space} ${os} {{ value.version }}
+item debug ${space} ${os} {{ value.version }} (Debug)
+{% endif %}
+{% endfor %}
+choose proxmox_version || goto proxmox_exit
+goto ${proxmox_version}
+
+:normal
+set params splash=silent
+goto boot
+
+:debug
+set params splash=verbose proxdebug
+goto boot
+
+:boot
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "proxmox" %}
+set kernel_url ${live_endpoint}{{ value.path }}
+{% endif %}
+{% endfor %}
+imgfree
+kernel ${kernel_url}vmlinuz vga=791 video=vesafb:ywrap,mtrr ramdisk_size=16777216 rw quiet ${params} {{ kernel_params }}
+initrd ${kernel_url}initrd
+initrd ${kernel_url}proxmox.iso /proxmox.iso
+boot
+
+:proxmox_exit
+clear menu
+exit 0

+ 7 - 1
roles/netbootxyz/templates/menu/ubuntu.ipxe.j2

@@ -12,6 +12,7 @@ clear install_type
 clear older_release
 clear install_url
 set install_type deb
+set install_priority critical
 menu ${os} - ${arch_a}
 item --gap Latest Releases
 {% for item in releases.ubuntu.versions %}
@@ -49,6 +50,7 @@ item --gap Install types
 item install ${space} Install
 item rescue ${space} Rescue Mode
 item automated ${space} Specify preseed/autoinstall url...
+iseq ${install_type} deb && item priority ${space} Change install priority [ ${install_priority} ] ||
 choose --default ${type} type || goto ubuntu
 echo ${cls}
 goto deb_${type}
@@ -58,11 +60,15 @@ iseq ${install_type} deb && set install_params rescue/enable=true ||
 iseq ${install_type} sub && set install_params systemd.unit=rescue.target ||
 goto deb_install
 
+:deb_priority
+iseq ${install_priority} critical && set install_priority low || set install_priority critical
+goto boot_type
+
 :deb_automated
 iseq ${install_type} deb && set install_name preseed ||
 iseq ${install_type} sub && set install_name autoinstall ||
 echo -n Specify ${install_name} URL for ${os} ${ubuntu_version}: && read install_url
-iseq ${install_type} deb && set install_params auto=true priority=critical preseed/url=${install_url} ||
+iseq ${install_type} deb && set install_params auto=true priority=${install_priority} preseed/url=${install_url} ||
 iseq ${install_type} sub && set install_params autoinstall ds=nocloud-net;s=${install_url} ||
 goto deb_install
 

+ 1 - 0
script/netbootxyz-overrides.yml

@@ -5,6 +5,7 @@ generate_disks_arm: true
 generate_disks_hybrid: true
 generate_disks_rpi: true
 generate_version_file: true
+generate_local_vars: false
 bootloader_multiple: true
 bootloader_disks:
   - "netboot.xyz"

+ 8 - 0
user_overrides.yml

@@ -4,6 +4,7 @@
 generate_menus: true
 generate_disks: true
 generate_checksums: true
+generate_local_vars: true
 
 # set desired site name
 #site_name: mysitename.com
@@ -38,3 +39,10 @@ generate_checksums: true
 # set licensed media locations in boot.cfg
 # win_base_url:
 # rhel_base_url: 
+
+early_menu_enabled: false
+early_menu_contents: |
+   ### early menu overrides
+   ### used to set early ipxe options such as custom console & logo
+   # console --x 1024 --y 768
+   # console --picture https://boot.netboot.xyz/logo.png

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.42
+2.0.43