2011-10-13 00:08:31 +00:00
|
|
|
<%page args="kernels, runtime_img, basearch, outroot, product, isolabel"/>
|
2011-05-09 14:47:25 +00:00
|
|
|
<%
|
2011-10-21 20:12:12 +00:00
|
|
|
configdir="tmp/config_files/x86"
|
2011-05-09 14:47:25 +00:00
|
|
|
SYSLINUXDIR="usr/share/syslinux"
|
|
|
|
PXEBOOTDIR="images/pxeboot"
|
|
|
|
BOOTDIR="isolinux"
|
|
|
|
KERNELDIR=PXEBOOTDIR
|
2011-10-11 18:58:30 +00:00
|
|
|
LIVEDIR="LiveOS"
|
2011-05-09 14:47:25 +00:00
|
|
|
%>
|
|
|
|
|
2011-10-11 18:58:30 +00:00
|
|
|
mkdir ${LIVEDIR}
|
|
|
|
install ${runtime_img} ${LIVEDIR}/squashfs.img
|
2012-02-09 15:59:15 +00:00
|
|
|
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
|
2011-06-23 00:22:24 +00:00
|
|
|
|
2011-10-21 20:12:12 +00:00
|
|
|
## install bootloader and config files
|
|
|
|
mkdir ${BOOTDIR}
|
2011-05-09 14:47:25 +00:00
|
|
|
install ${SYSLINUXDIR}/isolinux.bin ${BOOTDIR}
|
|
|
|
install ${SYSLINUXDIR}/vesamenu.c32 ${BOOTDIR}
|
2014-04-10 20:50:25 +00:00
|
|
|
install ${SYSLINUXDIR}/ldlinux.c32 ${BOOTDIR}
|
|
|
|
install ${SYSLINUXDIR}/libcom32.c32 ${BOOTDIR}
|
|
|
|
install ${SYSLINUXDIR}/libutil.c32 ${BOOTDIR}
|
2011-10-21 20:12:12 +00:00
|
|
|
install ${configdir}/isolinux.cfg ${BOOTDIR}
|
|
|
|
install ${configdir}/boot.msg ${BOOTDIR}
|
2011-08-09 00:35:35 +00:00
|
|
|
install ${configdir}/grub.conf ${BOOTDIR}
|
2011-10-21 20:12:12 +00:00
|
|
|
install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png
|
2012-02-10 21:29:30 +00:00
|
|
|
install boot/memtest* ${BOOTDIR}/memtest
|
2011-05-09 14:47:25 +00:00
|
|
|
|
2011-10-21 20:12:12 +00:00
|
|
|
## configure bootloader
|
2011-05-10 22:21:18 +00:00
|
|
|
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
|
2012-03-07 10:27:11 +00:00
|
|
|
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
|
2012-08-22 23:59:03 +00:00
|
|
|
replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
|
2011-05-09 14:47:25 +00:00
|
|
|
|
2011-10-21 20:12:12 +00:00
|
|
|
## install kernels
|
|
|
|
mkdir ${KERNELDIR}
|
2011-05-09 14:47:25 +00:00
|
|
|
%for kernel in kernels:
|
|
|
|
%if kernel.flavor:
|
2012-11-13 06:33:17 +00:00
|
|
|
## i386 PAE
|
2011-05-09 14:47:25 +00:00
|
|
|
installkernel images-xen ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
|
|
|
|
installinitrd images-xen ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
|
2012-12-18 13:31:45 +00:00
|
|
|
%if doupgrade:
|
|
|
|
installupgradeinitrd images-xen ${kernel.upgrade.path} ${KERNELDIR}/upgrade-${kernel.flavor}.img
|
|
|
|
%endif
|
2011-05-09 14:47:25 +00:00
|
|
|
%else:
|
2012-11-13 06:33:17 +00:00
|
|
|
## normal i386, x86_64
|
2011-05-09 14:47:25 +00:00
|
|
|
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
|
|
|
|
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
|
2012-12-18 13:31:45 +00:00
|
|
|
%if doupgrade:
|
|
|
|
installupgradeinitrd images-${basearch} ${kernel.upgrade.path} ${KERNELDIR}/upgrade.img
|
|
|
|
%endif
|
2011-05-09 14:47:25 +00:00
|
|
|
%endif
|
|
|
|
%endfor
|
|
|
|
|
|
|
|
hardlink ${KERNELDIR}/vmlinuz ${BOOTDIR}
|
2011-05-10 22:21:18 +00:00
|
|
|
hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
|
2012-12-19 09:04:06 +00:00
|
|
|
%if doupgrade:
|
|
|
|
hardlink ${KERNELDIR}/upgrade.img ${BOOTDIR}
|
|
|
|
%endif
|
2011-05-09 14:47:25 +00:00
|
|
|
%if basearch == 'x86_64':
|
|
|
|
treeinfo images-xen kernel ${KERNELDIR}/vmlinuz
|
|
|
|
treeinfo images-xen initrd ${KERNELDIR}/initrd.img
|
2012-12-19 09:04:06 +00:00
|
|
|
%if doupgrade:
|
|
|
|
treeinfo images-xen upgrade ${KERNELDIR}/upgrade.img
|
|
|
|
%endif
|
2011-05-09 14:47:25 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
## WHeeeeeeee, EFI.
|
|
|
|
## We could remove the basearch restriction someday..
|
2011-08-29 20:29:43 +00:00
|
|
|
<% efiargs=""; efigraft=""; efihybrid="" %>
|
2013-01-08 10:59:33 +00:00
|
|
|
%if exists("boot/efi/EFI/*/gcdx64.efi") and basearch != 'i386':
|
2011-05-09 14:47:25 +00:00
|
|
|
<%
|
|
|
|
efiarch = 'X64' if basearch=='x86_64' else 'IA32'
|
2011-10-31 18:59:35 +00:00
|
|
|
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
|
2012-05-17 15:27:28 +00:00
|
|
|
images = ["images/efiboot.img"]
|
|
|
|
if domacboot:
|
|
|
|
images.append("images/macboot.img")
|
|
|
|
for img in images:
|
2011-10-31 18:59:35 +00:00
|
|
|
efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img)
|
|
|
|
efigraft += " {0}={1}/{0}".format(img,outroot)
|
2012-05-18 10:48:43 +00:00
|
|
|
efihybrid = "--uefi --mac" if domacboot else "--uefi"
|
2011-05-09 14:47:25 +00:00
|
|
|
%>
|
2012-07-25 15:51:24 +00:00
|
|
|
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch=efiarch, isolabel=isolabel"/>
|
2011-05-09 14:47:25 +00:00
|
|
|
%endif
|
|
|
|
|
2011-10-21 20:12:12 +00:00
|
|
|
## make boot.iso
|
2011-05-10 22:21:18 +00:00
|
|
|
runcmd mkisofs -o ${outroot}/images/boot.iso \
|
2011-05-09 14:47:25 +00:00
|
|
|
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
|
2011-05-10 22:21:18 +00:00
|
|
|
-boot-load-size 4 -boot-info-table -no-emul-boot \
|
2011-10-13 00:08:31 +00:00
|
|
|
${efiargs} -R -J -V '${isolabel}' -T -graft-points \
|
2011-05-09 14:47:25 +00:00
|
|
|
${BOOTDIR}=${outroot}/${BOOTDIR} \
|
2011-05-12 17:34:02 +00:00
|
|
|
${KERNELDIR}=${outroot}/${KERNELDIR} \
|
2011-10-11 18:58:30 +00:00
|
|
|
${LIVEDIR}=${outroot}/${LIVEDIR} \
|
2011-05-09 14:47:25 +00:00
|
|
|
${efigraft}
|
2011-08-29 20:29:43 +00:00
|
|
|
runcmd isohybrid ${efihybrid} ${outroot}/images/boot.iso
|
2011-05-09 14:47:25 +00:00
|
|
|
treeinfo images-${basearch} boot.iso images/boot.iso
|