Переглянути джерело

Testing secondary mirrors

Antony Messerli 9 роки тому
батько
коміт
ed3ebd41fd
3 змінених файлів з 20 додано та 9 видалено
  1. 6 1
      src/boot.cfg
  2. 7 8
      src/fedora.ipxe
  3. 7 0
      src/mirrors.ipxe

+ 6 - 1
src/boot.cfg

@@ -6,8 +6,13 @@ set site_name netboot.xyz
 # set boot domain
 set boot_domain boot.netboot.xyz
 
+# set mirror list
+set mirror_one mirror.rackspace.com
+set mirror_two mirrors.kernel.org
+set mirror_three mirrors.test.blah.com
+
 # set mirror domain
-set mirror mirror.rackspace.com
+set mirror ${mirror_one}
 
 # set location of memdisk
 set memdisk http://${boot_domain}/memdisk

+ 7 - 8
src/fedora.ipxe

@@ -38,7 +38,6 @@ set dir fedora/releases/${osversion}/${os}/${arch}/os
 goto boottype
 
 :boottype
-set repo http://${mirror}/${dir}
 menu ${os} ${arch} boot type
 item normal ${ova}
 item rescue ${ova} rescue
@@ -47,22 +46,22 @@ isset ${bt} || choose bt || goto fedora
 echo ${cls}
 iseq ${bt} rescue && goto rescue ||
 iseq ${bt} kickstart && goto kickstart ||
-goto bootos_images
+goto boot
 
 :rescue
 set params rescue ||
-goto bootos_images
+goto boot
 
 :kickstart
 echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
 set params ks=${ksurl} ||
-goto bootos_images
+goto boot
 
-:bootos_images
+:boot
 imgfree
-kernel http://${mirror}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${netcfg} initrd=initrd.img
-initrd http://${mirror}/${dir}/images/pxeboot/initrd.img
-boot
+kernel http://${mirror}/${dir}/images/pxeboot/vmlinuz repo=http://${mirror}/${dir} ${params} ${netcfg} || chain --autofree mirrors.ipxe
+initrd http://${mirror}/${dir}/images/pxeboot/initrd.img ||
+boot || 
 goto linux_menu
 
 :linux_menu

+ 7 - 0
src/mirrors.ipxe

@@ -0,0 +1,7 @@
+#!ipxe
+
+# Basic attempt at mirror rotation
+iseq mirror ${mirror_one} && set mirror ${mirror_two} ||
+iseq mirror ${mirror_two} && set mirror ${mirror_three} ||
+iseq mirror ${mirror_three} && set mirror ${mirror_one} || 
+echo Setting mirror to ${mirror}...