Re: Can the install method be contained within a kickstart file that is referenced via a %include option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Richards wrote:
Apologies in advance for the long post, and if this question is being posted in the wrong place. It is rather kickstart oriented but I think this is the right place for it.

Short version:

In a kickstart install, can the install method (specifically 'harddrive') be contained within a file that is referenced via a %include option in the main kickstart file?

Long Version:

I am re-spinning CentOS 5.2 (Anaconda 11.1.2.113-1) with the aim of making it install unattended from a USB flash drive.

The USB drive is identified differently depending upon the hardware configuration of the system with which it is booted. Generally speaking if the system has only IDE disks then the USB drive becomes /dev/sda. If the system has a SCSI or SATA disk then the USB drive becomes /dev/sdb, etc.

The problem I face is that Anaconda sees the USB drive as a viable install target and bootloader option. To prevent Anaconda from installing to the USB drive I am using the harddrive, ignoredisk and bootloader kickstart options, e.g.

harddrive --partition=/dev/sda1 --dir=/iso
ignoredisk --drives=sda
bootloader --driveorder=hda,hdb,hdc,hdd,sda,sdb,sdc,sdd --location=mbr

(Ok, I know the configuration of the bootloader option is ugly but it meets my requirements for now and my respun distro will probably never be installed on a system with more than 3 local disks)

I cannot hard code these kickstart options because the USB drive identity changes with each different hardware configuration, so I have used a similar approach to the dynamic partitioning example given in the %pre section of the kickstart doco. That is, I am using the %pre section to probe the install target and identify the USB drive and then generate a kickstart file-part that contains the appropriate harddrive, ignoredisk and bootloader options as outlined above. The kickstart-part is then included in the main kickstart file via the %include option.

It seems that when the install method is not in the main kickstart file that Anaconda prompts for the install method. I believe this is because it does not run the scripts in the %pre section until after it has loaded the stage2 image, for which it needs to know the install method which is why it prompts the user and puts and end to the whole unattended experience. My kickstart file looks something like this:

%include /tmp/ks-part
%include /tmp/ks-common # this has all of my other kickstart options in it.
%pre
# shell script to identify USB drive and echo 'harddrive' and 'ignoredisk' options to /tmp/ks-part

Can anyone suggest a way around this or an alternative solution please?

Two that have come to mind while writing this post are (1) use custom udev rules added via the initrd.img file to ensure that usb drive is always mounted as /dev/sdX and then hard code this setting into the kickstart file, (2) use a custom anaconda installer update (e.g. kickstart.py) to perform the dynamic USB drive identification and exclusion, instead of using the %pre section of kickstart.

Thanks.

Matt

You can try labeling the usb drive, then use that label to identify the usb drive at the boot prompt with ks=LABEL="name":/ks.cfg. and
method=hd:LABEL="name"/<path>

Not sure if your version of anaconda will support that syntax.

Jerry

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux