lorax/share/ppc.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

91 lines
3.1 KiB
Cheetah

<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product"/>
<%
ANABOOTDIR="tmp/config_files"
BOOTDIR="ppc"
MACDIR=BOOTDIR+"/mac"
NETBOOTDIR="images/netboot"
WRAPPER="usr/sbin/wrapper"
WRAPPER_DATA="usr/"+libdir+"/kernel-wrapper"
MAPPING=ANABOOTDIR+"/mapping"
bitsizes = set()
prepboot = ""
%>
mkdir images
install ${runtime_img} images/install.img
mkdir ${BOOTDIR} ${BOOTDIR}/chrp etc
install ${ANABOOTDIR}/bootinfo.txt ${BOOTDIR}
install boot/efika.forth ${BOOTDIR}
install usr/lib/yaboot/yaboot ${BOOTDIR}/chrp
## boot dir for PowerMacs
mkdir ${MACDIR}
install usr/lib/yaboot/yaboot ${MACDIR}
install ${ANABOOTDIR}/ofboot.b ${MACDIR}
%for kernel in kernels:
<%
bits = 64 if kernel.arch == "ppc64" else 32
KERNELDIR=BOOTDIR+"/ppc%s" % bits
NETIMG=NETBOOTDIR+"/ppc%s.img" % bits
bitsizes.add(bits)
%>
mkdir ${KERNELDIR} ${NETBOOTDIR}
install ${ANABOOTDIR}/yaboot.conf.in ${KERNELDIR}/yaboot.conf
installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
replace @PRODUCT@ ${product.name} ${KERNELDIR}/yaboot.conf
replace @VERSION@ ${product.version} ${KERNELDIR}/yaboot.conf
replace @BITS@ ${bits} ${KERNELDIR}/yaboot.conf
replace @ROOT@ root=live:CDLABEL=PBOOT ${KERNELDIR}/yaboot.conf
## kernel-wrapper magic that makes the netboot combined ppc{32,64}.img
runcmd ${inroot}/${WRAPPER} -p of \
-D ${inroot}/${WRAPPER_DATA} \
-i ${outroot}/${KERNELDIR}/initrd.img \
${outroot}/${KERNELDIR}/vmlinuz \
-o ${outroot}/${NETIMG}
treeinfo images-${kernel.arch} zimage ${NETIMG}
## PReP is 32-bit only
%if bits == 32:
## Yes, this is supposed to be a relative path
<% prepboot="-prep-boot " + NETIMG %>
%endif
%endfor
runcmd ${inroot}/usr/lib/yaboot/addnote ${outroot}/${BOOTDIR}/chrp/yaboot
## copy yaboot.conf into /etc
%if len(bitsizes) == 2:
## magic ppc biarch tree! we need magic ppc biarch config.
install ${ANABOOTDIR}/yaboot.conf.3264 etc/yaboot.conf
replace @PRODUCT@ ${product.name} etc/yaboot.conf
replace @VERSION@ ${product.version} etc/yaboot.conf
replace @ROOT@ root=live:CDLABEL=PBOOT etc/yaboot.conf
%else:
copy ${KERNELDIR}/yaboot.conf etc/yaboot.conf
%endif
runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
${prepboot} -part -hfs -T -r -l -J \
-A "${product.name} ${product.version}" -sysid PPC -V PBOOT \
-volset "${product.version}" -volset-size 1 -volset-seqno 1 \
-hfs-volid ${product.version} -hfs-bless ${outroot}/${MACDIR} \
-map ${inroot}/${MAPPING} \
-no-desktop -allow-multidot -graft-points \
etc=${outroot}/etc \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${NETBOOTDIR}=${outroot}/${NETBOOTDIR} \
LiveOS/squashfs.img=${outroot}/images/install.img
%if len(bitsizes) == 2:
treeinfo images-ppc boot.iso images/boot.iso
treeinfo images-ppc64 boot.iso images/boot.iso
%else:
treeinfo images-${kernel.arch} boot.iso images/boot.iso
%endif