第 6 章 Completing post customization tasks
To complete the customizations made, perform the following tasks:
- Create a product.img image file (applies only for graphical customizations).
- Create a custom boot image.
This section provides information about how to create a product.img image file and to create a custom boot image.
6.1. Creating a product.img file 复制链接链接已复制到粘贴板!
A product.img image file is an archive containing new installer files that replace the existing ones at runtime.
During a system boot, Anaconda loads the product.img file from the images/ directory on the boot media. It then uses the files that are present in this directory to replace identically named files in the installer’s file system. The files when replaced customizes the installer (for example, for replacing default images with custom ones).
The product.img image must contain a directory structure identical to the installer. For more information about the installer directory structure, see the table below.
| Type of custom content | File system location |
|---|---|
| Pixmaps (logo, sidebar, top bar, and so on.) |
|
| GUI stylesheet |
|
| Anaconda add-ons |
|
| Profile configuration files |
|
| Custom configuration files |
|
| Anaconda DBus service conf files |
|
| Anaconda DBus service files |
|
Procedure
Navigate to a working directory such as
/tmp, and create a subdirectory namedproduct/:$ cd /tmpCreate a subdirectory product/
$ mkdir product/Create a directory structure identical to the location of the file you want to replace. For example, if you want to test an add-on that is present in the
/usr/share/anaconda/addonsdirectory on the installation system, create the same structure in your working directory:$ mkdir -p product/usr/share/anaconda/addons注意To view the installer’s runtime filesystem, boot the installation and switch to virtual console 1 (Ctrl+Alt+F1) and then switch to the second tmux window (Ctrl+b+2). A shell prompt that can be used to browse a file system opens.
Place your customized files (in this example, custom add-on for Anaconda) into the newly created directory:
$ cp -r ~/path/to/custom/addon/ product/usr/share/anaconda/addons/- Repeat steps 3 and 4 (create a directory structure and place the custom files into it) for every file you want to add to the installer.
Create a
.buildstampfile in the root of the directory. The.buildstampfile describes the system version, the product and several other parameters. The following is an example of a.buildstampfile from Red Hat Enterprise Linux 8.4:[Main] Product=Red Hat Enterprise Linux Version=8.4 BugURL=https://bugzilla.redhat.com/ IsFinal=True UUID=202007011344.x86_64 [Compose] Lorax=28.14.49-1The
IsFinalparameter specifies whether the image is for a release (GA) version of the product (True), or a pre-release such as Alpha, Beta, or an internal milestone (False).Navigate to the
product/directory, and create theproduct.imgarchive:$ cd product$ find . | cpio -c -o | gzip -9cv > ../product.imgThis creates a
product.imgfile one level above theproduct/directory.Move the
product.imgfile to theimages/directory of the extracted ISO image.The
product.imgfile is now created and the customizations that you want to make are placed in the respective directories.注意Instead of adding the
product.imgfile on the boot media, you can place this file into a different location and use theinst.updates=boot option at the boot menu to load it. In that case, the image file can have any name, and it can be placed in any location (USB flash drive, hard disk, HTTP, FTP or NFS server), as long as this location is reachable from the installation system.