lorax/share/x86.tmpl

79 lines
3.1 KiB
Cheetah
Raw Normal View History

<%
ANABOOTDIR="usr/share/anaconda/boot"
SYSLINUXDIR="usr/share/syslinux"
PXEBOOTDIR="images/pxeboot"
BOOTDIR="isolinux"
KERNELDIR=PXEBOOTDIR
%>
mkdir images
install ${runtime_img} images/install.img
mkdir ${BOOTDIR} ${KERNELDIR}
install ${SYSLINUXDIR}/isolinux.bin ${BOOTDIR}
install ${ANABOOTDIR}/syslinux.cfg ${BOOTDIR}/isolinux.cfg
install ${ANABOOTDIR}/syslinux-vesa-splash.jpg ${BOOTDIR}/splash.jpg
install ${ANABOOTDIR}/*.msg ${BOOTDIR}
install ${SYSLINUXDIR}/vesamenu.c32 ${BOOTDIR}
install ${ANABOOTDIR}/grub.conf ${BOOTDIR}
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @PRODUCT@ ${product.name} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
2011-06-30 20:05:04 +00:00
replace %ROOT% 'root=live:CDLABEL=${udev_escape(product.name)}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/grub.conf
## FIXME: no %ROOT% in isolinux.cfg. workaround with manual twiddling.
replace "append initrd=initrd.img" \
"append initrd=initrd.img root=live:CDLABEL=${udev_escape(product.name)}" \
${BOOTDIR}/isolinux.cfg
replace "default linux" "default vesamenu.c32" ${BOOTDIR}/isolinux.cfg
replace "prompt 1" "#prompt 1" ${BOOTDIR}/isolinux.cfg
%if exists("boot/memtest*"):
install boot/memtest* ${BOOTDIR}
append ${BOOTDIR}/isolinux.cfg "label memtest86"
append ${BOOTDIR}/isolinux.cfg " menu label ^Memory test"
append ${BOOTDIR}/isolinux.cfg " kernel memtest"
append ${BOOTDIR}/isolinux.cfg " append -"
%endif
%for kernel in kernels:
%if kernel.flavor:
installkernel images-xen ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
installinitrd images-xen ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
%else:
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
%endif
%endfor
hardlink ${KERNELDIR}/vmlinuz ${BOOTDIR}
hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
%if basearch == 'x86_64':
treeinfo images-xen kernel ${KERNELDIR}/vmlinuz
treeinfo images-xen initrd ${KERNELDIR}/initrd.img
%endif
## WHeeeeeeee, EFI.
## We could remove the basearch restriction someday..
<% efiargs=""; efigraft="" %>
%if exists("boot/efi/EFI/redhat/grub.efi") and basearch != 'i386':
<%
efiarch = 'X64' if basearch=='x86_64' else 'IA32'
efiargs="-eltorito-alt-boot -e images/efiboot.img -no-emul-boot"
2011-05-12 17:34:02 +00:00
efigraft="EFI/BOOT={0}/EFI/BOOT images/efiboot.img={0}/images/efiboot.img".format(outroot)
%>
<%include file="efi.tmpl" args="ANABOOTDIR=ANABOOTDIR, KERNELDIR=KERNELDIR, efiarch=efiarch"/>
%endif
runcmd mkisofs -o ${outroot}/images/boot.iso \
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
-boot-load-size 4 -boot-info-table -no-emul-boot \
${efiargs} -R -J -V '${product.name}' -T -graft-points \
${BOOTDIR}=${outroot}/${BOOTDIR} \
2011-05-12 17:34:02 +00:00
${KERNELDIR}=${outroot}/${KERNELDIR} \
LiveOS/squashfs.img=${outroot}/images/install.img \
${efigraft}
runcmd isohybrid ${outroot}/images/boot.iso
treeinfo images-${basearch} boot.iso images/boot.iso