#!ipxe # Fedora & CentOS set ksurl http://boot.salstar.sk/ks/ goto ${menu} || # OS :fedora set os Fedora set devel_ver 24 menu Fedora item --gap Current (supported) item --key 1 24 ${os} 24 ${arch} [4] item --key 1 23 ${os} 23 ${arch} [3] item --key 1 22 ${os} 22 ${arch} [2] item --gap End of life (unsupported) item --key 1 21 ${os} 21 ${arch} [1] item --key 0 20 ${os} 20 ${arch} [0] item --key 9 19 ${os} 19 ${arch} [9] item --key 8 18 ${os} 18 ${arch} [8] item --key 7 17 ${os} 17 ${arch} [7] item --gap Testing and development item --key r rawhide ${os} rawhide ${arch} [r] item --key d development ${os} development ${arch} [d] item --key b Beta ${os} ${devel_ver}_Beta ${arch} [b] item --key a Alpha ${os} ${devel_ver}_Aplha ${arch} [a] item --key A alt_stage ${os} dl.fedoraproject.org/pub/alt/stage ${arch} [A] item --gap Official netboot item --key f fedoraproject ${os} boot.fedoraproject.org [f] isset ${ver} || choose ver || goto main_menu iseq ${ver} 21 && goto fedora_product_end || iseq ${ver} 20 && goto fedora_product_end || iseq ${ver} 19 && goto fedora_product_end || iseq ${ver} 18 && goto fedora_product_end || iseq ${ver} 17 && goto fedora_product_end || menu Choose product item --key s Server Server [s] item --key w Workstation Workstation [w] item --key c Everything Everything [e] #item --key c Cloud Cloud [c] isset ${fed_product} || choose fed_product || goto main_menu :fedora_product_end isset ${fed_product} || set fed_product ${os} # workaround for fedora 17 iseq ${ver} 17 && set params rd.debug ${params} || set bootdev ks.device=${mac} goto fedora_${ver} || set dir fedora/linux/releases/${ver}/${fed_product}/${arch}/os set repo repo=${mirror}/${dir} :fedora_setvars #set osks ${ksurl}${ver} set osks ${ksurl}fedora goto boottype :fedora_development set dir fedora/linux/development/${devel_ver}/${arch}/os set repo repo=${mirror}/${dir} set params root=live:${mirror}/${dir}/LiveOS/squashfs.img ${params} goto fedora_setvars :fedora_rawhide set dir fedora/linux/development/rawhide/${arch}/os set repo repo=${mirror}/${dir} set params root=live:${mirror}/${dir}/LiveOS/squashfs.img ${params} # signature checking is disabled for development version set ver development goto fedora_setvars :fedora_Alpha set ver ${devel_ver}_Alpha set dir fedora/linux/releases/test/${ver}/${fed_product}/${arch}/os set repo repo=${mirror}/${dir} set params root=live:${mirror}/${dir}/LiveOS/squashfs.img ${params} goto fedora_setvars :fedora_Beta set ver ${devel_ver}_Beta set dir fedora/linux/releases/test/${ver}/${fed_product}/${arch}/os set repo repo=${mirror}/${dir} set params root=live:${mirror}/${dir}/LiveOS/squashfs.img ${params} goto fedora_setvars :fedora_live set dir fedora/linux/releases/${ver}/Workstation/${arch} set img ${os}-Workstation-Live-${arch}-${ver}-1.2.iso prompt goto main_menu :fedora_alt_stage # point repo do development tree set dir fedora/linux/development/${devel_ver}/${arch}/os set repo repo=${mirror}/${dir} # everything else to alt stage files iseq ${mirror} ${default_mirror} && set mirror http://ftp.upjs.sk/pub/mirrors/fedoraproject || set stage_ver ${devel_ver}_Beta_RC1 echo -n Edit stage version: ${} && read stage_ver set dir alt/stage/${stage_ver}/${fed_product}/${arch}/os set params root=live:${mirror}/${dir}/LiveOS/squashfs.img ${params} # signature checking is disabled for development ver set ver development goto fedora_setvars # boot.fedoraproject.org online boot :fedora_fedoraproject echo ${cls} chain boot.fedoraproject.org.ipxe exit :centos set os CentOS menu ${os} item --key 7 7 ${os} 7 ${arch} [7] item --key 6 6 ${os} 6 ${arch} [6] item --key 5 5 ${os} 5 ${arch} [5] item --key o other Choose other version [o] item --key c bco boot.centos.org [c] isset ${ver} || choose ver || goto main_menu iseq ${ver} bco && goto boot_centos_org || iseq ${ver} other || goto centos_skip_read_ver echo ${cls} echo -n Enter version: ${} && read ver :centos_skip_read_ver set dir ${menu}/${ver}/os/${arch} set repo repo=${mirror}/${dir} set osks ${ksurl}centos${ver} set bootdev ksdevice=bootif BOOTIF=${mac} # fix i386 mirror for CentOS 7 iseq ${os} CentOS || goto boottype iseq ${ver} 7 || goto boottype iseq ${arch} i386 || goto boottype iseq ${mirror} ${default_mirror} && set mirror http://mirror.centos.org/altarch || set dir ${ver}/os/${arch} set repo repo=${mirror}/${dir} set sigs ${sigs}centos/ goto boottype :boot_centos_org initrd http://boot.centos.org/bco/images/CentOS-BootService-ipxe.iso chain memdisk iso raw echo "Boot failed, press ENTER." read i exit :scientific set os Scientific Linux menu ${os} item --key 7 7 ${os} 7 ${arch} [7] item --key 6 6 ${os} 6 ${arch} [6] item --key 5 5 ${os} 5 ${arch} [5] isset ${ver} || choose ver || goto main_menu set dir ${menu}/${ver}x/${arch}/os iseq ${ver} 5 && set dir ${menu}/${ver}x/${arch} || set osks ${ksurl}centos${ver} set bootdev ksdevice=bootif BOOTIF=${mac} iseq ${mirror} ${default_mirror} && set mirror http://ftp.scientificlinux.org/linux || goto boottype :boottype set ova ${os} ${ver} ${arch} menu ${os} boot type item normal ${ova} item --key k ks ${ova} minimal server kickstart [k] item --key d desktop ${ova} desktop kickstart [d] item --key r rescue ${ova} rescue [r] item --key s remote ${ova} rescue with sshd [s] item --key i isolinux ${ova} direct boot using isolinux [i] isset ${testing} && item --key l live_desktop ${ova} Live Desktop [l] || isset ${testing} && item --key d live_kde ${ova} Live KDE [d] || isset ${bt} || choose bt || goto main_menu echo ${cls} iseq ${bt} ks && set params ${bootdev} ks=${osks} ${params} || iseq ${bt} desktop && set params ${bootdev} ks=${ksurl}/pc pkgs=desktop ${params} || iseq ${bt} rescue && set params rescue ${params} || iseq ${bt} remote && set params ${bootdev} ks=${ksurl}rescue ${params} || goto bootos_${bt} || goto bootos_images :bootos_images echo Loading from ${mirror}/${dir}/isolinux/ echo ${} ${repo} echo ${} ${params} imgfree # load vmlinuz and initrd kernel ${mirror}/${dir}/isolinux/vmlinuz iseq ${ver} development && goto bootos_images_skip_verify_vmlinuz || :bootos_images_skip_verify_vmlinuz initrd ${mirror}/${dir}/isolinux/initrd.img iseq ${ver} development && goto bootos_images_skip_verify_initrd || :bootos_images_skip_verify_initrd imgargs vmlinuz ${repo} ${params} # use method= instad of repo= for CentOS 5 iseq ${ver} 5 && imgargs vmlinuz method=${mirror}/${dir} ${params} || imgstat isset ${debug} && prompt || boot vmlinuz goto main_menu :bootos_isolinux echo Loading isolinux from ${mirror}/${dir}/isolinux/ set 209:string isolinux.cfg set 210:string ${mirror}/${dir}/isolinux/ imgfree imgload ${url}pxelinux.0 boot goto main_menu :bootos_live_desktop set img ${os}-${ver}-${arch}-Live-Desktop.iso goto bootos_live :bootos_live_kde set img ${os}-${ver}-${arch}-Live-KDE.iso goto bootos_live :bootos_live set dir fedora/linux/releases/${ver}/Live/${arch} set next-server 158.197.16.70 set params ip=${ip}:${next-server}:${gateway}:${netmask} BOOTIF=${mac} echo params: ${params} echo WARNING: This does not really works! imgfree #kernel ${url}memdisk iso raw ${params} #initrd ${mirror}/${dir}/${img} sanboot --no-describe ${mirror}/${dir}/${img} boot :main_menu exit 0