Sfoglia il codice sorgente

Shift mirror generation back to boot.cfg

Generates mirrors in boot.cfg if both x_mirror and x_base_dir
are set.
Antony Messerli 5 anni fa
parent
commit
6dc5b8c68e

+ 2 - 25
roles/netbootxyz/defaults/main.yml

@@ -221,6 +221,7 @@ releases:
   ipfire:
     name: "IPFire"
     mirror: "https://downloads.ipfire.org"
+    base_dir: "releases/ipfire-2.x"
     menu: "linux"
     enabled: true
     versions:
@@ -235,30 +236,6 @@ releases:
     versions:
       - name: "Rolling Edition (2019.4)"
         code_name: "rolling"
-  livedebian:
-    name: "Debian Live"
-    mirror: "http://cdimage.debian.org"
-    base_dir: "cdimage/archive"
-    enabled: true
-    menu: "live"
-    versions:
-      - name: "8.11.0"
-        code_name: "8.11.0"
-    flavors:
-      - name: "Cinnamon"
-        code_name: "cinnamon-desktop"
-      - name: "Gnome"
-        code_name: "gnome-desktop"
-      - name: "KDE"
-        code_name: "kde-desktop"
-      - name: "LXDE"
-        code_name: "lxde-desktop"
-      - name: "MATE"
-        code_name: "mate-desktop"
-      - name: "Standard"
-        code_name: "standard"
-      - name: "XFCE"
-        code_name: "xfce-desktop"
   livegrml:
     name: "Grml Live Linux"
     mirror: "http://download.grml.org"
@@ -349,7 +326,7 @@ releases:
   scientific:
     name: "Scientific Linux"
     mirror: "http://ftp1.scientificlinux.org"
-    base_dir: ""
+    base_dir: "linux/scientific"
     enabled: true
     menu: "linux"
     versions:

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

@@ -20,9 +20,9 @@ choose alpine_version || goto alpine_exit
 goto boot
 
 :boot
-set base-url {{ releases.alpinelinux.mirror }}
-set dir {{ releases.alpinelinux.base_dir }}/${alpine_version}/releases/${bootarch}/netboot
-set repo-url {{ releases.alpinelinux.mirror }}/{{ releases.alpinelinux.base_dir }}/${alpine_version}/main
+set base-url ${alpinelinux_mirror}
+set dir ${alpinelinux_base_dir}/${alpine_version}/releases/${bootarch}/netboot
+set repo-url ${alpinelinux_mirror}/${alpinelinux_base_dir}/${alpine_version}/main
 imgfree
 kernel ${base-url}/${dir}/vmlinuz-vanilla ${ipparam} alpine_repo=${repo-url} modules=loop,squashfs modloop=${base-url}/${dir}/modloop-vanilla quiet nomodeset
 initrd ${base-url}/${dir}/initramfs-vanilla

+ 6 - 6
roles/netbootxyz/templates/menu/archlinux.ipxe.j2

@@ -5,14 +5,14 @@
 
 isset ${dhcp-server} || goto static_ip
 set ipparam BOOTIF=${netX/mac} ip=dhcp
-set real_archlinux_mirror http://{{ releases.archlinux.mirror }}
+set real_archlinux_mirror http://${archlinux_mirror}
 goto goto_menu
 
 :static_ip
 # Arch Linux cannot use DNS if booted with a static IP
 # See https://bugs.archlinux.org/task/63174
 # Remove this hack when the above bug is properly resolved
-nslookup real_archlinux_mirror {{ releases.archlinux.mirror }}
+nslookup real_archlinux_mirror ${archlinux_mirror}
 set ipparam BOOTIF=${netX/mac} ip=${ip}::${gateway}:${netmask}
 
 :goto_menu
@@ -31,10 +31,10 @@ goto boot
 
 :boot
 imgfree
-set dir {{ releases.archlinux.base_dir }}/iso/${arch_version}/arch/boot
-set params initrd=archiso.img archiso_http_srv=http://${real_archlinux_mirror}/{{ releases.archlinux.base_dir }}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 ${console}
-kernel http://{{ releases.archlinux.mirror }}/${dir}/x86_64/vmlinuz ${params} initrd=archiso.img
-initrd http://{{ releases.archlinux.mirror }}/${dir}/x86_64/archiso.img
+set dir ${archlinux_base_dir}/iso/${arch_version}/arch/boot
+set params initrd=archiso.img archiso_http_srv=http://${real_archlinux_mirror}/${archlinux_base_dir}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 ${console}
+kernel http://${archlinux_mirror}/${dir}/x86_64/vmlinuz ${params} initrd=archiso.img
+initrd http://${archlinux_mirror}/${dir}/x86_64/archiso.img
 echo
 echo MD5sums:
 md5sum vmlinuz archiso.img

+ 12 - 0
roles/netbootxyz/templates/menu/boot.cfg.j2

@@ -25,6 +25,18 @@ set ipxe_disk netboot.xyz-undionly.kpxe
 # set location of custom netboot.xyz live assets
 set live_endpoint {{ live_endpoint }}
 
+##################
+# official mirrors
+##################
+:mirrors
+{% for key, value in releases.items() | sort(attribute='1.name') %}
+{% if value.mirror is defined and value.base_dir is defined %}
+### {{ value.name }}
+set {{ key }}_mirror {{ value.mirror }}
+set {{ key }}_base_dir {{ value.base_dir }}
+
+{% endif %}
+{% endfor %}
 #################################################
 # determine architectures and enable menu options
 #################################################

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

@@ -17,9 +17,9 @@ item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 isset ${osversion} || choose osversion || goto linux_menu
 echo ${cls}
-set dir {{ releases.centos.base_dir }}/${osversion}/BaseOS/${arch}/os
-iseq ${osversion} 7.7.1908 && set dir {{ releases.centos.base_dir }}/${osversion}/os/${arch} ||
-set repo {{ releases.centos.mirror }}/{{ releases.centos.base_dir }}
+set dir ${centos_base_dir}/${osversion}/BaseOS/${arch}/os
+iseq ${osversion} 7.7.1908 && set dir ${centos_base_dir}/${osversion}/os/${arch} ||
+set repo ${centos_mirror}/${centos_base_dir}
 goto boottype
 
 :boottype
@@ -60,8 +60,8 @@ goto boottype
 
 :bootos_images
 imgfree
-kernel {{ releases.centos.mirror }}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${console} ${ipparam} initrd=initrd.img
-initrd {{ releases.centos.mirror }}/${dir}/images/pxeboot/initrd.img
+kernel ${centos_mirror}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${console} ${ipparam} initrd=initrd.img
+initrd ${centos_mirror}/${dir}/images/pxeboot/initrd.img
 echo
 echo MD5sums:
 md5sum vmlinuz initrd.img

+ 1 - 1
roles/netbootxyz/templates/menu/coreos.ipxe.j2

@@ -25,7 +25,7 @@ goto coreos_exit
 :beta
 :alpha
 set release ${menu}
-set base_url https://builds.coreos.fedoraproject.org/prod/streams/testing/builds
+set base_url ${coreos_mirror}/${coreos_base_dir}
 set build_version 30.20191014.0
 kernel ${base_url}/${build_version}/x86_64/fedora-coreos-${build_version}-installer-kernel nomodeset rd.neednet=1 coreos.inst=yes coreos.inst.install_dev=${install_device} coreos.inst.ignition_url=${ignition_url} ${console} coreos.inst.image_url=${base_url}/${build_version}/x86_64/fedora-coreos-${build_version}-metal.raw.xz initrd=fedora-coreos-${build_version}-installer-initramfs.img
 initrd ${base_url}/${build_version}/x86_64/fedora-coreos-${build_version}-installer-initramfs.img

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

@@ -30,13 +30,13 @@ set debian_mirror {{ releases.debian.archive_mirror }}
 echo Setting mirror to ${debian_mirror}
 clear debian_version
 echo -n Please set enter code name of release: ${} && read debian_version
-set dir {{ releases.debian.base_dir }}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
+set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
 goto deb_boot_type
 
 :mirrorcfg
-set debian_mirror {{ releases.debian.mirror }}
+set debian_mirror ${debian_mirror}
 set mirrorcfg mirror/suite=${debian_version}
-set dir {{ releases.debian.base_dir }}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
+set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
 goto deb_boot_type
 
 :deb_boot_type

+ 1 - 1
roles/netbootxyz/templates/menu/freedos.ipxe.j2

@@ -17,7 +17,7 @@ goto freedos_install || goto freedos_exit
 :freedos_install
 imgfree
 kernel ${memdisk}
-initrd {{ releases.freedos.mirror }}/{{ releases.freedos.base_dir }}/${freedos_version}.zip
+initrd ${freedos_mirror}/${freedos_base_dir}/${freedos_version}.zip
 boot
 
 :freedos_exit

+ 1 - 2
roles/netbootxyz/templates/menu/ipfire.ipxe.j2

@@ -14,8 +14,7 @@ item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 isset ${osversion} || choose osversion || goto linux_menu
 echo ${cls}
-set ipfire_mirror {{ releases.ipfire.mirror }}
-set dir releases/ipfire-2.x/${osversion}/images/x86_64
+set dir ${ipfire_base_dir}/${osversion}/images/x86_64
 goto ipfire_images
 
 :ipfire_images

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

@@ -14,7 +14,7 @@ item {{ item.code_name }} ${space} ${os} {{ item.name }}
 choose version || goto kali_exit
 
 :deb_boot_type
-set dir kali/dists/kali-${version}/main/installer-${arch_a}/current/images/netboot
+set dir ${kali_base_dir}/dists/kali-${version}/main/installer-${arch_a}/current/images/netboot
 menu ${os} boot parameters
 item text ${os} text based install
 choose --default ${type} type || goto kali
@@ -28,8 +28,8 @@ goto deb_boot
 
 :deb_boot
 imgfree
-kernel http://http.kali.org/${dir}/linux vga=788 ${console} -- quiet initrd=initrd.gz
-initrd http://http.kali.org/${dir}/initrd.gz
+kernel ${kali_mirror}/${dir}/linux vga=788 ${console} -- quiet initrd=initrd.gz
+initrd ${kali_mirror}/${dir}/initrd.gz
 echo
 echo MD5sums:
 md5sum linux initrd.gz

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

@@ -18,12 +18,12 @@ choose version || goto mageia_exit
 goto mageia_boot
 
 :mageia_boot
-set dir {{ releases.mageia.base_dir }}/distrib/${version}/x86_64 && set dir2 isolinux/x86_64 ||
+set dir ${mageia_base_dir}/distrib/${version}/x86_64 && set dir2 isolinux/x86_64 ||
 iseq ${arch} i386 && set dir ${mageia_base_dir}/distrib/${version}/i586 && set dir2 isolinux/i386 ||
 set automatic method:http,network:${network},server:${mageia_mirror},directory:/${dir}
 imgfree
-kernel {{ releases.mageia.mirror }}/${dir}/${dir2}/vmlinuz
-initrd {{ releases.mageia.mirror }}/${dir}/${dir2}/all.rdz
+kernel ${mageia_mirror}/${dir}/${dir2}/vmlinuz
+initrd ${mageia_mirror}/${dir}/${dir2}/all.rdz
 imgargs vmlinuz automatic=${automatic} vga=788 splash=silent ${console} initrd=all.rdz
 echo
 echo MD5sums:

+ 1 - 1
roles/netbootxyz/templates/menu/openbsd.ipxe.j2

@@ -22,7 +22,7 @@ set openbsd_arch amd64
 goto boot_openbsd
 
 :boot_openbsd
-set src {{ releases.openbsd.mirror }}/{{ releases.openbsd.base_dir }}/${ver}/${openbsd_arch}/cd${image_ver}.iso
+set src ${openbsd_mirror}/${openbsd_base_dir}/${ver}/${openbsd_arch}/cd${image_ver}.iso
 imgfree
 initrd ${src}
 chain ${memdisk} iso raw

+ 1 - 2
roles/netbootxyz/templates/menu/opensuse.ipxe.j2

@@ -62,8 +62,7 @@ menu openSUSE - ${arch} - Image Sig Checks: [${img_sigs_enabled}]
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 choose version || goto opensuse_exit
-set opensuse_mirror {{ releases.opensuse.mirror }}
-set dir {{ releases.opensuse.base_dir }}/${version}/repo/oss
+set dir ${opensuse_base_dir}/${version}/repo/oss
 iseq ${version} tumbleweed && set dir ${version}/repo/oss ||
 
 imgfree

+ 2 - 2
roles/netbootxyz/templates/menu/rancheros.ipxe.j2

@@ -5,7 +5,7 @@
 
 :rancheros_menu
 set os {{ releases.rancheros.name }}
-set url {{ releases.rancheros.mirror }}
+set url ${rancheros_mirror}
 menu ${os}
 {% for item in releases.rancheros.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
@@ -15,7 +15,7 @@ goto ${version}
 
 :latest
 echo ${cls}
-set folder {{ releases.rancheros.base_dir }}
+set folder ${rancheros_base_dir}
 goto boot
 
 :boot

+ 4 - 4
roles/netbootxyz/templates/menu/scientific.ipxe.j2

@@ -21,8 +21,8 @@ iseq ${osversion} other || goto scientific_skip_read_osversion
 echo ${cls}
 echo -n Enter version: ${} && read osversion
 :scientific_skip_read_osversion
-set dir linux/scientific/${osversion}/${arch}/os
-set repo {{ releases.scientific.mirror }}/${dir}
+set dir ${scientific_base_dir}/${osversion}/${arch}/os
+set repo ${scientific_mirror}/${dir}
 
 goto boottype
 
@@ -49,8 +49,8 @@ goto bootos_images
 
 :bootos_images
 imgfree
-kernel {{ releases.scientific.mirror }}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${console} ${ipparam}
-initrd {{ releases.scientific.mirror }}/${dir}/images/pxeboot/initrd.img
+kernel ${scientific_mirror}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${console} ${ipparam}
+initrd ${scientific_mirror}/${dir}/images/pxeboot/initrd.img
 boot
 goto linux_menu