diff --git a/src/fedora.ipxe b/src/fedora.ipxe index db57ce8e..8fb57c75 100644 --- a/src/fedora.ipxe +++ b/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,24 +46,28 @@ 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} || goto change_mirror +initrd http://${mirror}/${dir}/images/pxeboot/initrd.img || +boot || goto linux_menu +:change_mirror +chain --autofree mirrors.ipxe +goto boot + :linux_menu clear menu chain linux.ipxe diff --git a/src/mirrors.ipxe b/src/mirrors.ipxe new file mode 100644 index 00000000..e483f5ea --- /dev/null +++ b/src/mirrors.ipxe @@ -0,0 +1,10 @@ +#!ipxe + +# Basic attempt at mirror rotation + +:mirror_start +iseq ${mirror} mirror.rackspace.com && set mirror mirrors.kernel.org && goto mirror_end || +iseq ${mirror} mirrors.kernel.org && set mirror mirror.rackspace.com && goto mirror_end || +echo Setting mirror to ${mirror}... + +:mirror_end