Bootable kickstart CD

John Summerfield debian at herakles.homelinux.org
Fri Dec 15 14:17:43 UTC 2006


mat wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> I am in the process of creating a bootable cd which uses kickstart to
> automatically install a set of software then reboots the machines.  I
> have encountered many problems, and want all packages to be included on
> the CD.  I have not seen any manuals, or how-to guides anywhere.  If has
> any they can point me to, it would be very appreciated.  One last
> question I have, what happened to the 'genhdlist' in anaconda-runtime
> package for Fedora Core 6? (I know this is a redhat list, and sorry if
> that question was off topic)


I did something very like this, but for a network install. Here's what I 
think will work.
1. Loop-mount the ISO (or mount the boot disk),
2. Find the relevant initial ramdisk in the isolinux directory.
3. Copy it to somewhere you can read/write.
4. Uncompress it using gunzip:
    mv initrd initrd.gz
    gunzip initrd
You now have a file with the original name, you can play with it, and 
you don't _have_ to compress it.
5. Unpack the initial ramdisk; it's a cpio archive, easily done.
6. Put your ks file into the inird root directory
7. Create a new file initrd using cpio
8. Optionally, copy the isolinux are to where you can edit it. Change 
the boot params. Note, it might be simplest to unpack the entire ISO:-)
9. Use a magic incantation as you use mkisofs to make a new ISO image.

Note, I mostly do network installs. My procedure is necessarily a little 
different from what you want, as I use a PXE layout that generally has 
my kernel etc outside my install tree, so I don't have to worry about 
putting it all back togetner.

Here are some useful fragments gleamed from my .bash_history:
cd /tftpboot/PXE/linux-install/RHEL/4.90/initrd
cpio --extract --make-directories --preserve-modification-time \ 
--numeric-uid-gid <../initrd.img.orig

find . | sort | cpio --help >../initrd.img

label jerry
   kernel /linux-install/RHEL/4.90/vmlinuz
   append initrd=/linux-install/RHEL/4.90/initrd.img \
    ramdisk_size=8192 ksdevice=link vga=6 ks=file:///jerry.ks upgradeany

Note the ks= - this specifies the ks file inside the initrd image.
pushd initrd;find . | sort | cpio --create -c | gzip -9 \
	> ../initrd.img ;popd;ls -l
Oh, I did compress it!




-- 

Cheers
John

-- spambait
1aaaaaaa at coco.merseine.nu  Z1aaaaaaa at coco.merseine.nu

Please do not reply off-list




More information about the Kickstart-list mailing list