Softpanorama

May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Modifying ISO image to include kickstart file and other useful files

News Kickstart Recommended Books Recommended Links Creating a boot image that is using a remote kickstart file to install Red Hat Minimization of boot ISO Kickstart Configurator Loopback filesystem
Kickstart Installation of Red Hat from a USB drive Installation Networking NTP configuration LVM  Xinetd Etc

NOTE: Please read Creating a boot ISO that is using a remote kickstart file to install Red Hat


Introduction

First of all, please understand that kickstart installation is a tricky business. If you are a novice do not expect a quick success. You need to be persistent as at the initial state you do not fully understand the mechanic of the process and typically make one or more mistakes. As the result your installation fails. 

RHEL documentation is weak and internet posts are often incomplete and contradictory, so it takes some time to distill the  necessary information and make the necessary number of experiments to succeed.

NOTE:

It is better not to include kickstart into your image directly but to provide a reference to a remote file on NFS. See Creating a boot ISO that is using a remote kickstart file to install Red Hat

In RHEL7 you can forget about using kickstart from the boot disk over VPN link. It times out. Systemd is probably the culprit.  You need a local source line DRAC vFlash card, SD card or USB drive to be able to install system over VPN.

So far Red Hat did not manage to completely screw kickstart to the extent it screwed the whole RHEL7 distribution with systemd; but they did weaken kickstart and now it is more capricious, more brittle and less reliable. Often attempt to use it ends with "Pane frozen" message. 

Including kickstart files in the ISO presents some problems: the ISO9660 file structure is not designed for modification, everything has a strictly defined place with no room to extend files or directories. 

The way to include ks.cfg file is to extract the whole ISO file structure  to working directory, modify that, and re-create a new image (in bootable format) from this working directory.

There are three steps you need to accomplish

  1. Extract the source ISO image to work directory
  2. Add your ks.cfg file to the tree
  3. Created a new ISO Image which includes your modifications

There are too major approaches here:

NOTES:

Creating you own ks.cfg file

The best way to create you own ks.cfg file is to use the one that Anaconda created for this type of servers and slightly adapt it. That means that the fist time you need to perform manual installation and that use the generated kickstart file as a starting point. This way you can create pretty usable initial Kickstart file that you can refine as you get experience with both the type of servers you are trying to create in bulk and kickstart ecosystem. 

Suggested steps: 

  1. Manually install two or three systems out of, say, 16 or a couple of dozen similar system that needs to be installed (creating the image with kickstart file make sense starting from, say,  8 systems to be installed. Otherwise it is simpler to point to ks file from grub/grub2 on each installation. 
  2. Compare all created kickstart files using diff. It is given that they are not identical and you made slight mistakes in one or two installation. Those errors or omissions need to be eliminated in final ks.cfg.
    1. Pay attention o the root password you are using. Forgetting it lead to some troubles, when you try to login to the fleshly installed system. 
    2. Pay attention to partitioning of the system (typically you need to wipe out all old partitions if they existed) 
  3. Take some time to document your kickstart file and ideas that you used in its creation; place the document in the place where you can find it later.
  4. [Optional] In RHEL6 you can modify and partially verify ks.cfg using Kickstart Configurator (very buggy, but still usable)  See Kickstart Configurator

    In RHEL 7 it was replaced by the ksvalidator [RHEL7.7 and up]

    Verifying the Kickstart File (RHEL/CentOS 7.7 and up)

    When creating or customizing your Kickstart file, it is useful to verify that it is valid before attempting to use it in an installation. CentOS 7.7.1908 includes the ksvalidator command line utility which can be used to do this. This tool is a part of the pykickstart package. To install this package, execute the following command as root:
    # yum install pykickstart
    After installing the package, you can validate a Kickstart file using the following command:
    $ ksvalidator /path/to/kickstart.ks
    Replace /path/to/kickstart.ks with the path to the Kickstart file you want to verify.

    For more information about this tool, see the ksvalidator(1) man page.

  5. Make the Kickstart file available and reachable from the installation system. This is exactly the same as making the installation source (ISO) available, only with the Kickstart file instead of the installation ISO image or tree. For full procedures, see Preparing Installation Sources.
  6. Test ks.cfg from Grub on one blade or the rack server. Usually you will find some errors and need several iterations to make it right.  
  7. Include it in image and create a new boot or full ISO

TIP: If you disk was not initialized (new blade or server) you need to use

zerombr yes
clearpart --all --initlabel

in your ks.cfg file to avoid prompts. In this case you will not be prompted to confirm that want to wipe out the whole disks.

You can put multiple Kickstart config files in your image and just specify the appropriate one at boot time or in you custom boot image. 

Within the ks.cfg file you can specify pre-install and post-install scripts. These are standard scripts that will be run either before or after the install process. Post install scripts can do some additional operations but it is important not to overdo this: kickstart is a limited environment with its own gotchas (it boots from its own virtual disk) and all operations that you can do in Postinstall scripts you can do after rebooting the server via ssh. Which is much more convinient.  

For inspiration you can also look at examples on Internet, but  there are a lot of overcomplexity junking out  their so be  careful.  Search for ks.cfg example in your favorite search engine (actually Google is not the best in this particular case ;-). 

Examples of Kickstart files (old from the previous version of RHEL)

There are multiple samples of  custom kickstart configuration files that can be downloaded from the Internet. But generally, you should never use them other that to borrow small fragment that accomplish a specific task (most of them are outdated anyway).

Here on a simple kickstart to install HP blades that I created to update the systems from RHEL 6:

# Kickstart for RHEL7 on HP blades. Nikolai Bezroukov, 2020
# System authorization information
auth --enableshadow --passalgo=sha512
# Use text install
#text

# Use NFS installation media
nfs --server=10.194.181.50 --dir=/Apps/centos75.iso

# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
# Network information
network  --bootproto=dhcp --device=eno49 --onboot=off --ipv6=auto --no-activate
network  --bootproto=dhcp --device=eno50 --onboot=off --ipv6=auto
network  --bootproto=dhcp --device=ens2d1 --onboot=off --ipv6=auto
network  --bootproto=static --device=ens2 --ip=10.100.101.131 --gateway=10.10.10.1 --netmask=255.255.240.0 --nameserver=10.201.100.1,10.200.200.2 --noipv6 --activate
network  --hostname=blade1


# Root password
rootpw --plaintext dummy-pass@1234

# System services
selinux --disabled
services --enabled="chronyd"
# System timezone
timezone America/New_York --isUtc --ntpservers=ntp1.mycorp.com,ntp2.mycorp.com

# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda

# Partition clearing information
clearpart --all --initlabel --drives=sda
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda --size=938578
part swap --fstype="swap" --ondisk=sda --size=15258

%packages
@^infrastructure-server-environment
@base
@compat-libraries
@core
@development
@infiniband
@java-platform
@large-systems
@network-file-system-client
@performance
@system-admin-tools
chrony
kexec-tools
#
#Useful utilities to add as of Dec 6, 2020 
#
dos2unix
screen
tree
tcl
environment-modules
expect
gpm
logwatch
lshw
lsof
lsscsi
mc
nmap
perl-DBD-SQLite
perl-Date-Manip
python-dmidecode
rear
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end

Some useful links:

Here is yet another outdated, but still pretty educational example from Red Hat --  a Classroom Server Kickstart Configuration File (2005). It split kickstart file into several useful sections and you could borrow some of those comments, as they represent a useful documentation tool.

This kickstart file has nice  structure that may wish to imitate:

The following is a sample Kickstart configuration file for installing a Red Hat Academy Classroom Server. 

#########################################################################
#
# Red Hat Academy Classroom Server Kickstart Script
#
# $Id: 010_text.dbk,v 1.5 2005/08/08 08:35:41 bowe Exp $
# version: RHEL4
# academy-docs@redhat.com
#
# For more information, see the Red Hat Customization Guide, 
# http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/ch-kickstart2.html
#
#########################################################################

###############################################################
# you definately want to set one of the following
###############################################################

rootpw redhat
bootloader --location=mbr --password=redhat

###########################################################################
#
# the following MD5 encrypted passwords can be generated using
#
#    openssl passwd -1 redhat
#
#  see "man sslpasswd" for more information
#
###########################################################################
#rootpw --isencrypted $1$Su2Gv/$fZeEi7RtQq/RAZ1oEla5z0 # md5 encrypted "redhat"
#bootloader --location=mbr --md5pass=$1$x.3x1cDe$ucwc8hTScWzfb5DYW6r25/


###############################################################
# point to a local installation server, or use "cdrom"
###############################################################
text		# you're not going to be standing there watching it, are you?
cdrom
# url --url http://kickstart.example.com/pub/es4/i386


###############################################################
# partitioning
###############################################################
zerombr yes
clearpart --all --initlabel 
part /boot --fstype ext3 --size 128 
part / --fstype ext3 --size 4096 --grow --maxsize 8192
part /var --fstype ext3 --size 4096 --grow --maxsize 8192 
part swap --recommended 

###############################################################
# network configuration
#   - the following is for the "recommended solution" outlined
#     in the Red Hat Academy Instructor's Guide
###############################################################
network --bootproto=static --ip=192.168.0.254 --netmask=255.255.255.0 --device=eth0
network --bootproto=dhcp --device=eth1
#firewall --enabled --http --ftp --port=https:tcp --port=ipp:tcp
firewall --disabled


###############################################################
# environment 
###############################################################
lang en_US
langsupport --default=en_US
timezone America/New_York
#timezone America/Chicago
#timezone America/Denver
#timezone America/Los_Angeles

###############################################################
# hardware 
###############################################################
mouse generic3ps/2
#mouse genericps/2 --emulthree   	# enable for 2 button mice
keyboard us
xconfig --depth=16 --resolution=1024x768 --defaultdesktop=GNOME --startxonboot


###############################################################
# misc
###############################################################
auth  --useshadow  --enablemd5 
reboot					# reboot automatically when done
install					# instead of "upgrade"

###############################################################
#
# New in RHEL-4: SELinux
#
###############################################################
selinux --enforcing
#selinux --permissive
#selinux --disabled

###############################################################
#
# Software
#
###############################################################
%packages --resolvedeps
@ Workstation Common
@ Server
@ GNOME 

@ Engineering and Scientific
@ Games and Entertainment
@ Mail Server
@ DNS Name Server
@ FTP Server
@ Network Servers
@ Development Tools
@ System Tools

ypserv
dhcp
ethereal-gnome
sysstat
vlock

%post
###############################################################
#
# Post Script - the following script runs on the newly
# installed machine, immediately after installation
#
###############################################################

########################################################
# add entry to /etc/hosts, if necessary
########################################################
#echo "192.168.0.254      rha-server" >> /etc/hosts

########################################################
# turn on required services
########################################################

chkconfig httpd on
chkconfig vsftpd on

########################################################
# install red hat academy custom software
########################################################

#RHASRC=ftp://kickstart.example.com/pub/rha/RPMS/
#rpm -ihv $RHASRC/rha-base*.rpm $RHASRC/rha-classroom-rha*.rpm $RHASRC/rha-server-*.rpm  $RHASRC/fauxlp-*.rpm
#unset RHASRC

########################################################
# add proxy server to /etc/rha_server.conf, if necessary
########################################################

#echo "ExerciseReporterProxy  http://10.1.1.1:8080" >> /etc/rha_server.conf


########################################################
# mirror RHEL-4-ES distribution from remote server
########################################################

#lftp -c "mirror ftp://kickstart.example.com/pub/es4 /var/ftp/pub/es4"

########################################################
# ln anonymous FTP pub dir to Document Root
########################################################

ln -s ../../ftp/pub /var/www/html/pub
# set SELinux context s.t. contents of pub directory available from web
chcon -R --reference /var/www/html /var/ftp/pub

Extracting the source ISO image to work directory

First create a directory that will house the modified image. For example: 

$ mkdir /tmp/RHEL_custom

Now we need to mount the source ISO image locally so we can work with it.

# mount -t iso9660 -o loop RHEL-5.6-x86_64-DVD.iso /media

To extract the source ISO files into another directory. This will take a couple of minutes as we are copying more then 3GB of information: 

cd /media
tar cf - . | (cd /tmp/RHEL_custom; tar xfp -)

Note:

Adding your ks.cfg file to the tree

The ks.cfg file is what the install routine will use while loading the OS. You can add it to the root directory of your ISO image making it king of "golden image" for particular type of servers. Or you can put is on HTTP server or NFS.  This is a better way as you can modify it later.

If your ks,cfg is added to ISO  you need to type  "linux" line path to your ks.cfg file.

the result should look like

label kickstart menu label ^Kickstart Installation of RHEL7.7 
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.7\x20Server.x86_64 inst.ks=cdrom:/ks.cfg

Adding custom RPMs

If you have additional packages that you want to install, you can copy them into the custom image directory. This way they will be included in the image when we create the new ISO.

You can then put a post install script in place to install and configure those packages automatically at install time.

Here the game probably is not worse the candles, as you always install additional RPMS after system is installed and rebooted.  But theoretically as long as you do not exceed the capacity of a CD or DVD, then you can add as much as you want.

Creating a new ISO Image which includes your modifications

Once all of your modifications are complete, you just need to put it all together and create a new ISO image. 

With UEFI this a tricky business.

See Creating a boot image that is using a remote kickstart file to install Red Hat

Creation of modified ISO file

Now we need to create the ISO. There are three typical situations here

  1. You use traditional BIOS and want to install RHEL 7
  2. You use traditional BIOS and want to install RHEL 6 (in many case were you can it makes sense to continue to use RHEL 6)
  3. You have UEFI BIOS and want to install RHEL7

You use traditional BIOS want to install  RHEL7

  1. Confirm the LABEL of the DVD iso. The following command give you the LABEL information. For example:
    # blkid /tmp/rhel-server-7.7-x86_64-dvd.iso 
  2. Now, save create the ISO as follows. WARNING: Make sure that  -V has the correct LABEL , any typo will break ISO image .
    # cd /tmp/rhel7/
    # mkisofs -o /tmp/rhel77ks.iso -b isolinux/isolinux.bin -J -R -l -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -graft-points -V "RHEL-7.7 Server.x86_64" 

You use traditional BIOS and RHEL6

 In this case you  just need to rebuild ISO using mkisofs

cd /location_of_file_tree_created_from_boot_cd # for example /svr/www/Boot
mkisofs -o ../myboot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat --no-emul-boot --boot-load-size 4 --boot-info-table -J -R -V disks .

NOTE: . (dot) at the end of the command is obligatory. Otherwise you will get "missing pathspec" error

Also works

mkisofs -o ../myboot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -r .

The resulting ISO image should be bootable and should pick up the necessary ks.cfg file.

NOTE: mkisofs command in the form above is suitable only for legacy boot (MBR based) --  it does not create UEFI boot partition

You have UEFI BIOS.

In case you server uses UEFI boot it is easier to said then done, because UEFI partition is FAT-based.

mkisofs -o /tmp/efiboot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat --no-emul-boot --boot-load-size 4 \
--boot-info-table -eltorito-alt-boot -e images/efiboot.img \
-graft_points EFI/BOOT=/mnt/EFI/BOOT images/efiboot.img=/mnt/images/efiboot.img \
-no-emul-boot -J -R -V disks .

(assuming you boot image is mounted on /mnt )

After that you need to run

isohybrid --uefi efiboot.iso

 Quoting from How can we create a customized Golden Image or RHEL ISO with kickstart file:

Rebuild the DVD iso image
    # cd /rhel
    # mkisofs -o /tmp/new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat  --no-emul-boot --boot-load-size 4 --boot-info-table -J -R -V disks .

NOTE: In RHEL7, please make sure that you specify the volume id with -V option, and it's same as Volume_ID in step 6.

8. Boot the machine from this ISO

Kickstart has detailed documentation in the Installation Guide

Important Note:

  • The image which will be created using the steps above won't be UEFI enabled. So to have an UEFI enabled image, use the following extra options.
  • And the graft point as follows.
EFI/BOOT={0}/EFI/BOOT images/efiboot.img={0}/images/efiboot.img
  • Where {0} is replaced by the location where the existing DVD is mounted/extracted.
  • One should also run isohybrid on it so that it can be booted by both BIOS and UEFI:
isohybrid --uefi boot.iso 

but this truncated ISO image might still be bootable if your server has legacy boot option.

More information on the options used with the mkisofs command can be found in the man pages for mkisofs(1).

Google is also you friend but it does not provide useful references in this case.  Opening Red hat ticket is another option and if you are perssisten anough they might even help, not just bounce you to some semi-useless documents that they found by searching their database for relevant keywords.


Top Visited
Switchboard
Latest
Past week
Past month

NEWS CONTENTS

Old News ;-)

[May 16, 2021] Kickstart driven CentOS 7 install from USB

May 16, 2021 | gist.github.com

Kickstart driven CentOS 7 install from USB

None of what is written below is particularly original, however, I was unable to find a method documented on the internet at the time of writing that successfully created a kickstart driven CentOS 7 USB installer.

My interest was in doing this manually as I require this USB (image) to be created from a script. Therefore, I did not look into using ISO to USB applications - in addition, these typically do not allow custom kickstart files to be used.

References

Much of the process described below was found on the CentOS Wiki page on Installing from USB key, and from the Softpanorama page on the same subject. I thoroughly recommend reading all of the latter as it highlights the shortcomings/dangers associated with the steps below.

USB key preparation Partition USB

This can probably be done as a disk image too, though I haven't tried this yet. Below I will use /dev/sdX for the USB device.

sudo fdisk /dev/sdX
n (create partition, accept defaults for type, number, and first sector)
+250M (defined size as 250MB)
t
c (change type to W95 FAT32 (LBA) - other FAT types may work, but I have not tried)
a (make bootable)
n (create partition, accept defaults for type, number, first sector, and size)
w (write changes to device)
sudo mkfs -t vfat -n "BOOT" /dev/sdX1
sudo mkfs -L "DATA" /dev/sdX2
sudo dd conv=notrunc bs=440 count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sdX
sudo syslinux /dev/sdX1
Copy files to USB
mkdir BOOT && sudo mount /dev/sdX1 BOOT
mkdir DATA && sudo mount /dev/sdX2 DATA
mkdir DVD && sudo mount /path/to/centos/dvd.iso DVD
sudo cp DVD/isolinux/* BOOT
sudo mv BOOT/isolinux.cfg BOOT/syslinux.cfg

The final file structure looked something like this:

BOOT/
├── boot.cat
├── boot.msg
├── initrd.img
├── ks.cfg
├── ldlinux.sys
├── memtest
├── splash.png
├── syslinux.cfg
├── upgrade.img
├── vesamenu.c32
└── vmlinuz
DATA/
└── CentOS-7.0-1406-x86_64-Minimal.iso
Edit the syslinux.cfg

So that it points to the ISO and the kickstart

Here is the install CentOS 7 entry from the Minimal ISO isolinux.cfg (which we renamed syslinux.cfg ):

label linux                                                                     
  menu label ^Install CentOS 7                                                  
  kernel vmlinuz                                                                
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

The append line is changed to read the following:

append initrd=initrd.img inst.stage2=hd:sdb2:/ ks=hd:sdb1:/ks.cfg

I suspect LABEL could be used here, rather than the enumerated device, which would make it safer, but I haven't tried this yet. Assuming the system you are installing on only has a single HD the USB key will be enumerated as sdb more information about this can be found in the Softpanorama article.

When you boot from the USB and select Install CentOS 7, it now installs the system as described by your kickstart.

[Feb 17, 2021] genisoimage fails missing pathspec

redhat.com

Add a "." to the end of the command to specify the output directory as your current working directory (cwd)

Raw
# genisoimage -U -r -v -T -J -joliet-long -V "RHEL-7.4 Server.x86_64" -volset "RHEL-7.4 Server.x86_64" -A "RHEL-7.4 Server.x86_64" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o ../RHEL7.iso .

How can we create a customized Golden Image or RHEL ISO with kickstart file

Rebuild the DVD iso image

Raw

    # cd /rhel
    # mkisofs -o /tmp/new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat --no-emul-boot --boot-load-size 4 --boot-info-table -J -R -V disks .

NOTE: In RHEL7, please make sure that you specify the volume id with -V option, and it's same as Volume_ID in step 6.

8. Boot the machine from this ISO

Kickstart has detailed documentation in the Installation Guide

Important Note:

  • The image which will be created using the steps above won't be UEFI enabled. So to have an UEFI enabled image, use the following extra options.
Raw
-eltorito-alt-boot -e images/efiboot.img -no-emul-boot
  • And the graft point as follows.
Raw
EFI/BOOT={0}/EFI/BOOT images/efiboot.img={0}/images/efiboot.img
  • Where {0} is replaced by the location where the existing DVD is mounted/extracted.
  • One should also run isohybrid on it so that it can be booted by both BIOS and UEFI:
Raw
isohybrid --uefi boot.iso 

To use a Kickstart file to install a system:

  1. Boot the system from a bootable medium or from a network installation server that supports PXE client installation. If you need to modify the boot command, press Esc to access the command line. Note, however, that the boot configuration might not allow you to modify the boot command.

    For PXE clients, it is usual to specify the Kickstart parameters in the boot loader configuration. For example, the following example configures a Kickstart installation for a PXE client that boots using pxelinux:

    prompt 0
    default ol6u6
    timeout 0
    
    label ol6u6
    kernel vmlinuz-OL6u6
    append initrd=initrd-OL6u6.img ksdevice=eth0 kssendmac ks=http://10.0.0.11/ksfiles/ol6u6_cfg.ks

    The ksdevice=eth0 parameter specifies the interface to be used for network installation. If a system has multiple network interfaces, this prevents the installation from prompting you to choose an interface. Alternatively, you could specify ksdevice=bootif and add an ipappend 2 entry after the append entry:

    prompt 0
    default ol6u6
    timeout 0
    
    label ol6u6
    kernel vmlinuz-OL6u6
    append initrd=initrd-OL6u6.img ksdevice=bootif kssendmac ks=http://10.0.0.11/ksfiles/ol6u6_cfg.ks
    ipappend 2

    This configuration also prevents you from being prompted to choose a network interface but it does not control which interface is selected.

    The next example configures a Kickstart installation for a PXE client that boots using GRUB:

    default=0
    hiddenmenu
    splashimage=(nd)/splash.xpm.gz
    timeout=0
    title Oracle Linux 6 Update 6 Installation
        root (nd)
        kernel /vmlinuz-OL6u6 ksdevice=eth0 kssendmac ks=http://10.0.0.11/ksfiles/ol6u6_cfg.ks
        initrd /initrd-OL6u6.img
    NOTE:
    1. If you have not customized the boot configuration to use Kickstart, you can use the ks option to specify the location of the Kickstart file.
    2. The following boot command specifies that the Kickstart file is on the boot CD:
    boot: linux ks=cdrom:/ks.cfg
    1. If the Kickstart file is located on an NFS server, you might use a boot command such as the following:
    boot: linux ksdevice=eth0 ip=dhcp ks=nfs:10.0.0.11:/ksfiles/ks.cfg

    where ksdevice=eth0 specifies the network interface and ip=dhcp specifies that DHCP should be used to configure this interface.

    For more information, see Section 2.2, "Installation Boot Options".

Hands-Off Fedora Installs with Kickstart

O'Reilly Media

Creating the Kickstart Config File, ks.cfg

ks.cfg makes unattended installs possible. It holds canned responses to the questions posed during an interactive install. The examples assume you've saved this file under the web server's document root as kickstart/ks.cfg.

There are several ways to create ks.cfg. (I did warn you that Kickstart was flexible.) If you're plotting a clone farm, build one machine to your specs and use /root/anaconda-ks.cfg on that host as a starting point for the others.

Barring that, use the redhat-config-kickstart GUI (from the redhat-config-kickstart package). This tool doesn't support LVM for disk layout, but is a valuable learning tool nonetheless. You can hand-edit the generated ks.cfg to use LVM (described below).

You can also create or edit ks.cfg using any text editor, provided you know the directives. Here's a walk through the directives in the sample ks.cfg.

You probably already have the redhat-config-language, hwdata, and tzdata RPMs installed already. They are not required, but include files that simplify hand-editing ks.cfg.

Installation Type

The first entries are the installation type and source.

install
url --url http://kickstart-server/FC1-install

The type may be install or upgrade. The url directive specifies an HTTP installation and indicates the URL of the install media. (The directory Fedora, from the install media, must be a subdirectory of the URI part of the URL.) Other installation sources include cdrom for swapping CDs or DVDs, nfs for mounting the install media from an NFS share, and the self-explanatory ftp.

[Nov 18, 2011] ISO Master - GUI Tool to edit ISO Images in openSUSE SUSE & openSUSE

susegeek.com

ISO Master which is claimed to be the best ISO editing tool is a graphical editor for ISO images. ISO Master is useful for extracting, deleting, or adding files and directories to or from an ISO image. ISO Master can read .ISO files (ISO9660, Joliet, RockRidge, and El Torito), most .NRG files, and some single-track .MDF files and can save and only save as .ISO.

The supported operations include, add/delete files and directories under the ISO image, Modify/delete the Boot records. extract files from the ISO etc.

Install ISO Master

Packman as always hosts a 1-click install Yast Metapackage for ISO Master. This installer is supported on openSUSE 11.0, openSUSE 10.3, openSUSE 10.2, and SUSE 10.1 & 10.0

Recommended Links

Google matched content

Softpanorama Recommended

Top articles

Sites

Red Hat documentation

RHEL 7

Older links



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2020 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: February 17, 2021