1MKKSISO(1)                           Lorax                          MKKSISO(1)
2
3
4

NAME

6       mkksiso - Make Kickstart ISO Utility Documentation
7
8       Authors
9              Brian C. Lane <bcl@redhat.com>
10
11       mkksiso  is  a  tool for creating kickstart boot isos. In it's simplest
12       form you can add a kickstart to a boot.iso and the  kickstart  will  be
13       executed  when  the iso is booted. If the original iso was created with
14       EFI and Mac support the kickstart boot.iso will include this support as
15       well.
16
17       mkksiso  The  host  system architecture needs to match that of the iso.
18       mkksiso will raise an error if it finds a .discinfo on the iso  with  a
19       mismatched arch.
20
21       As  of  version  38.4 mkksiso needs to be run as root to create a fully
22       bootable iso. Booting on a UEFI system with the iso written to a  flash
23       drive  requires updating the config files in the embedded efiboot image
24       in the iso. If you do not need this functionality you can still run  it
25       as a user by passing --skip-mkefiboot.
26

MKKSISO CMDLINE ARGUMENTS

28       Add a kickstart and files to an iso
29
30
31          usage: mkksiso [-h] [-a ADD_PATHS] [-c CMDLINE] [-r ARGS] [--debug] [--no-md5sum] [--ks KICKSTART] [-V VOLID] [--skip-mkefiboot] [KICKSTART] input_iso output_iso
32
33   Positional Arguments
34       KICKSTART
35              Optional kickstart to add to the ISO
36
37       input_iso
38              ISO to modify
39
40       output_iso
41              Full pathname of iso to be created
42
43   Named Arguments
44       -a, --add
45              File or directory to add to ISO (may be used multiple times)
46
47              Default: []
48
49       -c, --cmdline
50              Arguments to add to kernel cmdline
51
52              Default: ""
53
54       -r, --rm-args
55              Space separated list of arguments to remove from the kernel cmd‐
56              line
57
58              Default: ""
59
60       --debug
61              print debugging info
62
63              Default: 20
64
65       --no-md5sum
66              Do not run implantisomd5 on the ouput iso
67
68              Default: True
69
70       --ks   Optional kickstart to add to the ISO
71
72       -V, --volid
73              Set the ISO volume id, defaults to input's
74
75       --skip-mkefiboot
76              Skip running mkefiboot
77
78              Default: False
79

CREATE A KICKSTART BOOT.ISO OR DVD

81       Create a kickstart like you normally would, kickstart documentation can
82       be  found here, including the url and repo commands.  If you are creat‐
83       ing a DVD and only need the content on the DVD you can  use  the  cdrom
84       command  to install without a network connection. Then run mkksiso like
85       this:
86
87          mkksiso --ks /PATH/TO/KICKSTART /PATH/TO/ISO /PATH/TO/NEW-ISO
88
89       This will create a new iso with the kickstart in  the  root  directory,
90       and  the  kernel  cmdline  will have inst.ks=... added to it so that it
91       will be executed when the iso is booted (be careful not to  boot  on  a
92       system you don't want to wipe out! There will be no prompting).
93
94       By  default the volume id of the iso is preserved. You can set a custom
95       volid by passing -V and the string to set. The kernel cmdline  will  be
96       changes, and the iso will have th custom volume id.
97
98       eg.:
99
100          mkksiso -V "Test Only" --ks /PATH/TO/KICKSTART /PATH/TO/ISO /PATH/TO/NEW-ISO
101

ADDING PACKAGE REPOS TO A BOOT.ISO

103       You  can  add  repo  directories to the iso using --add /PATH/TO/REPO/,
104       make sure it contains the repodata directory by running createrepo_c on
105       it first. In the kickstart you can refer to the directories (and files)
106       on the iso using file:///run/install/repo/DIRECTORY/. You can then  use
107       these repos in the kickstart like this:
108
109          repo --name=extra-repo --baseurl=file:///run/install/repo/extra-repo/
110
111       Run mkksiso like so:
112
113          mkksiso --add /PATH/TO/REPO/ --ks /PATH/TO/KICKSTART /PATH/TO/ISO /PATH/TO/NEW-ISO
114

CREATE A LIVEIMG BOOT.ISO

116       You  can  use the kickstart liveimg command, to install a pre-generated
117       disk image or tar to the system the iso is booting on.
118
119       Create a disk image or tar with osbuild-composer or  livemedia-creator,
120       make sure the image includes tools expected by anaconda, as well as the
121       kernel and bootloader support.  In osbuild-composer use the  tar  image
122       type  and make sure to include the kernel, grub2, and grub2-tools pack‐
123       ages.  If you plan to install it to a UEFI machine make sure to include
124       grub2-efi and efibootmgr in the blueprint.
125
126       Add  the  root.tar.xz file to the iso using --add /PATH/TO/ROOT.TAR.XZ,
127       and in the kickstart reference it with the liveimg command like this:
128
129          liveimg --url=file:///run/install/repo/root.tar.xz
130
131       It is also a good idea to use the --checksum argument to liveimg  to be
132       sure the file hasn't been corrupted:
133
134          mkksiso --add /PATH/TO/root.tar.xz --ks /PATH/TO/KICKSTART /PATH/TO/ISO /PATH/TO/NEW-ISO
135
136       When  this  iso is booted it will execute the kickstart and install the
137       liveimg contents to the system without any prompting.
138

MODIFYING KERNEL CMDLINE ARGUMENTS

140       You can add arguments to the kernel cmdline in the ISO config files  by
141       using --cmdline, like this:
142
143          mkksiso --cmdline "console=ttyS0,115200n8" /PATH/TO/ISO /PATH/TO/NEW-ISO
144
145   Removing arguments
146       mkksiso version 37.3 and later support removing arguments from the cmd‐
147       line. This can be done with or without adding a kickstart to the iso:
148
149          mkksiso --rm "quiet console" /PATH/TO/ISO /PATH/TO/NEW-ISO
150
151       will remove the quiet and console arguments from  all  the  the  kernel
152       cmdlines on the ISO.
153
154   Changing existing arguments
155       With the combination of --rm and --command it is now possible to change
156       existing arguments. For example let's say the ISO  has  a  console=tty3
157       set on the cmdline. You want to change that to ttyS0 so you run this:
158
159          mkksiso --cmdline "console=ttyS0,115200n8" --rm "console" /PATH/TO/ISO /PATH/TO/NEW-ISO
160
161       which  will  first remove all instances of console in the config files,
162       and then add the new console argument.
163

HOW IT WORKS

165       mkksiso only depends on xorriso and isomd5sum. It  takes  advantage  of
166       xorriso's ability to extract files, replace files, and add files to the
167       iso without need to mount it.
168
169       mkksiso extracts all of the config files it knows about, and then modi‐
170       fies  the  boot  configuration files to include the inst.ks command. It
171       adds any extra command line arguments you specify, and then builds  the
172       new iso with the configuration files replaced, and new files and direc‐
173       tories added.
174
175       The last step is to update the iso checksums so that booting with  test
176       enabled will pass. It uses implantisomd5 from the isomd5sum project.
177

AUTHOR

179       Weldr Team
180
182       2018, Red Hat, Inc.
183
184
185
186
18739.0                             Feb 20, 2023                       MKKSISO(1)
Impressum