소스 검색

#479 enabling freebsd and using mirrored assets to boot (#480)

* enabling freebsd and using mirrored assets to boot
Ryan Kuba 5 년 전
부모
커밋
c74c21c882
4개의 변경된 파일14개의 추가작업 그리고 36개의 파일을 삭제
  1. 1 1
      README.md
  2. 1 17
      roles/netbootxyz/defaults/main.yml
  3. 11 17
      roles/netbootxyz/templates/menu/freebsd.ipxe.j2
  4. 1 1
      user_overrides.yml

+ 1 - 1
README.md

@@ -109,7 +109,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 |Elementary OS| https://elementary.io | No | Yes |
 |Fedora| https://fedoraproject.org | Yes | Yes |
 |Flatcar Linux|https://www.flatcar-linux.org| Yes | No |
-|FreeBSD|https://freebsd.org| No, disk image | No |
+|FreeBSD|https://freebsd.org| Yes, disk image | No |
 |FreeDOS|http://www.freedos.org| ISO - Memdisk| No |
 |Gentoo|https://gentoo.org| Not Working | No |
 |IPFire|https://www.ipfire.org| Yes | No |

+ 1 - 17
roles/netbootxyz/defaults/main.yml

@@ -180,24 +180,8 @@ releases:
         code_name: "alpha"
   freebsd:
     name: "FreeBSD"
-    enabled: false
+    enabled: true
     menu: "bsd"
-    versions:
-      - name: "FreeBSD 12.0"
-        code_name: "12.0"
-        image_subdir: "12"
-      - name: "FreeBSD 11.2"
-        code_name: "11.2"
-        image_subdir: "11"
-      - name: "FreeBSD 11.1"
-        code_name: "11.1"
-        image_subdir: "11"
-      - name: "FreeBSD 11.0"
-        code_name: "11.0"
-        image_subdir: "11"
-      - name: "FreeBSD 10.4"
-        code_name: "10.4"
-        image_subdir: "10"
   freedos:
     name: "FreeDOS"
     mirror: "http://www.freedos.org"

+ 11 - 17
roles/netbootxyz/templates/menu/freebsd.ipxe.j2

@@ -6,28 +6,22 @@
 :freebsd_menu
 set os {{ releases.freebsd.name }}
 menu ${os}
-{% for item in releases.freebsd.versions %}
-item {{ item.code_name }} ${space} ${os} {{ item.name }}
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "freebsd" %}
+item {{ value.path }} ${space} ${os} {{ value.version }}
+{% endif %}
 {% endfor %}
 choose ver || goto freebsd_exit
+goto type_select
 
-{% for item in releases.freebsd.versions %}
-iseq ${ver} {{ item.code_name }} && set image_ver {{ item.code_name }}-RELEASE ||
-{% endfor %}
-
-iseq ${arch} x86_64 && goto freebsd_x64 ||
-set freebsd_arch i386
-goto boot_freebsd
-
-:freebsd_x64
-set freebsd_arch amd64
+:type_select
+menu ${os}
+item default.img ${space} Default
+item special-edition.img ${space} Special Edition
+choose type || goto freebsd_exit
 goto boot_freebsd
 
 :boot_freebsd
-{% for item in releases.freebsd.versions %}
-iseq ${ver} {{ item.code_name }} && set image_subdir {{ item.image_subdir }}/${freebsd_arch} ||
-{% endfor %}
-set src https://mfsbsd.vx.sk/files/images/${image_subdir}/mfsbsd-${image_ver}-${freebsd_arch}.img
 imgfree
 echo This loads an mfsbsd installer (http://mfsbsd.vx.sk/).
 echo Root password for all images: mfsroot
@@ -38,7 +32,7 @@ echo route delete default; route add default <public ip x.x.x.1>
 echo echo "nameserver x.x.x.x" > /etc/resolv.conf
 echo Once network is configured, you can launch the usual installer:
 echo bsdinstall
-initrd ${src}
+initrd ${live_endpoint}${ver}${type}
 chain ${memdisk} harddisk raw
 exit
 

+ 1 - 1
user_overrides.yml

@@ -32,4 +32,4 @@ generate_checksums: true
 
 # set licensed media locations in boot.cfg
 # win_base_url:
-# rhel_base_url: 
+# rhel_base_url: