lorax/share/x86.tmpl
Will Woods fbd23c4234 add boot config files from anaconda to configdir
This adds the boot config files from anaconda to lorax's configdir.

They've been edited to include a '@ROOT@' placeholder, so lorax can put
the proper root=... argument in place, and to use the @VAR@ convention
everywhere (instead of some using @VAR@ and some using %VAR%).

This should probably fix EFI booting, since the EFI BOOT*.conf was
missing its root=... arg.

Also some default settings were changed in syslinux.cfg (so we don't
have to rewrite those two lines every time).

One last change - the '-magic' arg and ppc 'magic' file have been
dropped, because that's kind of silly and unnecessary.
2011-08-08 20:09:32 -04:00

72 lines
2.8 KiB
Cheetah

<%page args="kernels, runtime_img, basearch, outroot, product"/>
<%
ANABOOTDIR="tmp/config_files"
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 usr/share/anaconda/boot/syslinux-vesa-splash.jpg ${BOOTDIR}/splash.jpg
install ${ANABOOTDIR}/boot.msg.x86 ${BOOTDIR}/boot.msg
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
replace @ROOT@ 'root=live:CDLABEL=${udev_escape(product.name)}' ${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"
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} \
${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