From 72a620880a7762c8c32624e679c4efc2730a0456 Mon Sep 17 00:00:00 2001 From: Jared Smith Date: Tue, 27 Feb 2018 06:43:10 -0500 Subject: [PATCH] Add Anaconda product image page --- _topic_map.yml | 2 ++ en-US/anaconda/anaconda.adoc | 2 +- en-US/anaconda/anaconda_product_image.adoc | 27 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 en-US/anaconda/anaconda_product_image.adoc diff --git a/_topic_map.yml b/_topic_map.yml index 3ceb679..8e08238 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -63,6 +63,8 @@ Topics: File: anaconda_updates - Name: Anaconda Logging File: anaconda_logging + - Name: Anaconda Product Image + File: anaconda_product_image - Name: (FIX ME!) AutoUpdates File: autoupdates - Name: (FIX ME!) Building a custom kernel diff --git a/en-US/anaconda/anaconda.adoc b/en-US/anaconda/anaconda.adoc index 54516ea..5df4220 100644 --- a/en-US/anaconda/anaconda.adoc +++ b/en-US/anaconda/anaconda.adoc @@ -40,7 +40,7 @@ This is the best place to share tips and tricks about kickstart. [id="distribution-builders"] == Distribution Builders -For information on how to customize Anaconda and trees created with it, please see link:Anaconda/ProductImage[product.img], link:Anaconda/BuildDocProject[BuildDocProject] and link:Anaconda/Customization[Customization]. +For information on how to customize Anaconda and trees created with it, please see link:anaconda_product_image[product.img], link:Anaconda/BuildDocProject[BuildDocProject] and link:Anaconda/Customization[Customization]. [id="mailing-lists"] == Mailing Lists diff --git a/en-US/anaconda/anaconda_product_image.adoc b/en-US/anaconda/anaconda_product_image.adoc new file mode 100644 index 0000000..552d503 --- /dev/null +++ b/en-US/anaconda/anaconda_product_image.adoc @@ -0,0 +1,27 @@ += Creating a Product image + +Anaconda supports several ways to load new code at runtime. +Passing `inst.updates=` is one way to do this and is documented on the file:anaconda_updates.html[updates]] page. +Another is to include a product.img in the install tree, inside the `/images/` directory. +It will be applied at runtime and can overwrite any file on the system, just like the updates.img. + +One use for a product.img is to add a new installclass to Anaconda. +A product image for a new installclass can be created from a directory of files like this: + +---- +mkdir -p product/run/install/product/pyanaconda/installclasses/ +vim product/run/install/product/pyanaconda/installclasses/custom.py +---- + +Create new installclass, see link:https://git.fedorahosted.org/cgit/anaconda.git/tree/pyanaconda/installclasses[Anaconda] for examples. +Now you can create the product.img: + +---- +cd product/ +find . | cpio -c -o | pigz -9cv > ../product.img +---- + +Now you can include product.img in the tree, inside `/images/`. + +Alternatively you can now use lorax to create product.img as part of the boot.iso creation process. +This is supported by lorax-21.27-1 and is documented link:http://rhinstaller.github.io/lorax/product-images.html[here] in the Lorax source tree.