Update templates to use installimg for product and updates
With these templates if a package has installed files in /usr/share/lorax/product or /usr/share/lorax/updates/ they will be used to create product.img and/or updates.img which will be included in the images/ directory of the iso and of the final output tree. These can be used to customize the installation environment or provide updates. See README.product for current documentation. Related: rhbz#1202278
This commit is contained in:
parent
5e1a7e4e3c
commit
b3dabdd2e0
18
README.product
Normal file
18
README.product
Normal file
@ -0,0 +1,18 @@
|
||||
Lorax now supports creation of product.img and updates.img as part of the build
|
||||
process. This is implemented using the installimg command which will take the
|
||||
contents of a directory and create a compressed archive from it. The x86, ppc,
|
||||
ppc64le and aarch64 templates all look for /usr/share/lorax/product/ and
|
||||
/usr/share/lorax/updates/ directories while creating the final install tree. If
|
||||
there are files in those directories lorax will create images/product.img
|
||||
and/or images/updates.img
|
||||
|
||||
These archives are just like an anaconda updates image -- they are copied over
|
||||
the top of the filesystem at boot time so that you can drop in files to add to
|
||||
or replace anything on the filesystem.
|
||||
|
||||
Anaconda has several places that it looks for updates, the one for product.img
|
||||
is in /run/install/product. For example, to add an installclass to Anaconda
|
||||
you would put your custom class here:
|
||||
|
||||
/usr/share/lorax/product/run/install/product/pyanaconda/installclasses/custom.py
|
||||
|
@ -84,7 +84,7 @@ make DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc COPYING AUTHORS README.livemedia-creator
|
||||
%doc COPYING AUTHORS README.livemedia-creator README.product
|
||||
%doc docs/*ks
|
||||
%{python_sitelib}/pylorax
|
||||
%{python_sitelib}/*.egg-info
|
||||
|
@ -4,6 +4,7 @@ configdir="tmp/config_files/aarch64"
|
||||
PXEBOOTDIR="images/pxeboot"
|
||||
KERNELDIR=PXEBOOTDIR
|
||||
LIVEDIR="LiveOS"
|
||||
LORAXDIR="usr/share/lorax/"
|
||||
%>
|
||||
|
||||
mkdir ${LIVEDIR}
|
||||
@ -36,11 +37,20 @@ mkdir ${KERNELDIR}
|
||||
%>
|
||||
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch=efiarch, isolabel=isolabel"/>
|
||||
|
||||
# Create optional product.img and updates.img
|
||||
<% imggraft=""; images=["product", "updates"] %>
|
||||
%for img in images:
|
||||
%if exists("%s/%s/" % (LORAXDIR, img)):
|
||||
installimg ${LORAXDIR}/${img}/ images/${img}.img
|
||||
<% imggraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd mkisofs -o ${outroot}/images/boot.iso \
|
||||
${efiargs} -R -J -V '${isolabel}' -T -graft-points \
|
||||
${KERNELDIR}=${outroot}/${KERNELDIR} \
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR} \
|
||||
${efigraft}
|
||||
${efigraft} ${imggraft}
|
||||
treeinfo images-${basearch} boot.iso images/boot.iso
|
||||
%endif
|
||||
|
@ -6,6 +6,7 @@ GRUBDIR="boot/grub"
|
||||
LIVEDIR="LiveOS"
|
||||
MACDIR=BOOTDIR+"/mac"
|
||||
NETBOOTDIR="images/netboot"
|
||||
LORAXDIR="usr/share/lorax/"
|
||||
|
||||
WRAPPER="usr/sbin/wrapper"
|
||||
WRAPPER_DATA="usr/"+libdir+"/kernel-wrapper"
|
||||
@ -80,6 +81,15 @@ install ${configdir}/magic ${BOOTDIR}
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
# Create optional product.img and updates.img
|
||||
<% imggraft=""; images=["product", "updates"] %>
|
||||
%for img in images:
|
||||
%if exists("%s/%s/" % (LORAXDIR, img)):
|
||||
installimg ${LORAXDIR}/${img}/ images/${img}.img
|
||||
<% imggraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
|
||||
${prepboot} -part -hfs -T -r -l -J \
|
||||
@ -91,7 +101,7 @@ runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
|
||||
${BOOTDIR}=${outroot}/${BOOTDIR} \
|
||||
${GRUBDIR}=${outroot}/${GRUBDIR} \
|
||||
${NETBOOTDIR}=${outroot}/${NETBOOTDIR} \
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR}
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR} ${imggraft}
|
||||
|
||||
%for kernel in kernels:
|
||||
treeinfo images-${kernel.arch} boot.iso images/boot.iso
|
||||
|
@ -6,6 +6,7 @@ PXEBOOTDIR="images/pxeboot"
|
||||
BOOTDIR="isolinux"
|
||||
KERNELDIR=PXEBOOTDIR
|
||||
LIVEDIR="LiveOS"
|
||||
LORAXDIR="usr/share/lorax/"
|
||||
%>
|
||||
|
||||
mkdir ${LIVEDIR}
|
||||
@ -64,6 +65,15 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
|
||||
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch=efiarch, isolabel=isolabel"/>
|
||||
%endif
|
||||
|
||||
# Create optional product.img and updates.img
|
||||
<% imggraft=""; images=["product", "updates"] %>
|
||||
%for img in images:
|
||||
%if exists("%s/%s/" % (LORAXDIR, img)):
|
||||
installimg ${LORAXDIR}/${img}/ images/${img}.img
|
||||
<% imggraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd mkisofs -o ${outroot}/images/boot.iso \
|
||||
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
|
||||
@ -72,6 +82,6 @@ runcmd mkisofs -o ${outroot}/images/boot.iso \
|
||||
${BOOTDIR}=${outroot}/${BOOTDIR} \
|
||||
${KERNELDIR}=${outroot}/${KERNELDIR} \
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR} \
|
||||
${efigraft}
|
||||
${efigraft} ${imggraft}
|
||||
runcmd isohybrid ${efihybrid} ${outroot}/images/boot.iso
|
||||
treeinfo images-${basearch} boot.iso images/boot.iso
|
||||
|
@ -6,6 +6,7 @@ GRUBDIR="boot/grub"
|
||||
LIVEDIR="LiveOS"
|
||||
MACDIR=BOOTDIR+"/mac"
|
||||
NETBOOTDIR="images/netboot"
|
||||
LORAXDIR="usr/share/lorax/"
|
||||
|
||||
WRAPPER="usr/sbin/wrapper"
|
||||
WRAPPER_DATA="usr/"+libdir+"/kernel-wrapper"
|
||||
@ -88,6 +89,15 @@ install ${configdir}/magic ${BOOTDIR}
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
# Create optional product.img and updates.img
|
||||
<% imggraft=""; images=["product", "updates"] %>
|
||||
%for img in images:
|
||||
%if exists("%s/%s/" % (LORAXDIR, img)):
|
||||
installimg ${LORAXDIR}/${img}/ images/${img}.img
|
||||
<% imggraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
|
||||
${prepboot} -part -hfs -T -r -l -J \
|
||||
@ -99,7 +109,8 @@ runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
|
||||
${BOOTDIR}=${outroot}/${BOOTDIR} \
|
||||
${GRUBDIR}=${outroot}/${GRUBDIR} \
|
||||
${NETBOOTDIR}=${outroot}/${NETBOOTDIR} \
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR}
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR} ${imggraft}
|
||||
|
||||
|
||||
%for kernel in kernels:
|
||||
treeinfo images-${kernel.arch} boot.iso images/boot.iso
|
||||
|
@ -6,6 +6,7 @@ PXEBOOTDIR="images/pxeboot"
|
||||
BOOTDIR="isolinux"
|
||||
KERNELDIR=PXEBOOTDIR
|
||||
LIVEDIR="LiveOS"
|
||||
LORAXDIR="usr/share/lorax/"
|
||||
%>
|
||||
|
||||
mkdir ${LIVEDIR}
|
||||
@ -78,6 +79,15 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
|
||||
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch=efiarch, isolabel=isolabel"/>
|
||||
%endif
|
||||
|
||||
# Create optional product.img and updates.img
|
||||
<% imggraft=""; images=["product", "updates"] %>
|
||||
%for img in images:
|
||||
%if exists("%s/%s/" % (LORAXDIR, img)):
|
||||
installimg ${LORAXDIR}/${img}/ images/${img}.img
|
||||
<% imggraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
|
||||
%endif
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd mkisofs -o ${outroot}/images/boot.iso \
|
||||
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
|
||||
@ -86,6 +96,6 @@ runcmd mkisofs -o ${outroot}/images/boot.iso \
|
||||
${BOOTDIR}=${outroot}/${BOOTDIR} \
|
||||
${KERNELDIR}=${outroot}/${KERNELDIR} \
|
||||
${LIVEDIR}=${outroot}/${LIVEDIR} \
|
||||
${efigraft}
|
||||
${efigraft} ${imggraft}
|
||||
runcmd isohybrid ${efihybrid} ${outroot}/images/boot.iso
|
||||
treeinfo images-${basearch} boot.iso images/boot.iso
|
||||
|
Loading…
Reference in New Issue
Block a user