Re: Using variables in kickstart file

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

 



Cobbler might be a bigger hammer than is needed, and PXE/DHCP isn't always an option, especially in distributed network environments. If you're installing the OS over the network (as opposed to cd's), and are able to burn/boot from cd to initiate the install, there's possibly not a simpler approach to kickstarting and static ip addressing than to make a boot cd with a custom syslinux.cfg file with the common boot parameters (method, ks, netmask, dns) and just provide the ip and gateway at the anaconda 'boot:' prompt.

in your kickstart file:
network  --bootproto=static

copy the isolinux/ directory from your distro
edit isolinux/isolinux.cfg and create custom entry:
label custom
  kernel vmlinuz
append initrd=initrd.img text nofb dns=your.nameserver.ip netmask=255.255.255.0 ks=<url.of.ks.cfg> method=<url.of.distro>

make a bootable iso:
mkisofs -o boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -T -v isolinux/

burn cd:
cdrecord boot.iso

to install, boot from cd, and enter arguments at boot prompt
boot:  custom ip=<your.server.ip> gateway=<your.gateway.ip>

Within %post, hostname is available like this:
hostname=`grep HOSTNAME /etc/sysconfig/network |cut -d'=' -f2`
Note that the hostname was not provided at kickstart time, it came from DNS.

And I haven't tried it, but as Chip suggested, the ip, if you need it, should be available by processing /proc/cmdline, something like:
ip=`cat /proc/cmdline |perl -e 'if (<> =~ /\sip=(.*?)\s/) {print $1}'`

-Ed



Gabrie wrote:
Would you have an example of that?

I now set the variables in the %post section and then they are
available in the scripts. But I can't use them in the "network"
section.

Gabrie


On 7/18/07, Shabazian, Chip <Chip.Shabazian@xxxxxxxxxxxxxxxxx> wrote:
You could also add these variables to the boot: line and then pull them
from /proc/cmdline in the %pre section.  Just make sure you have 255
characters or less for that boot: line.

-----Original Message-----
From: kickstart-list-bounces@xxxxxxxxxx
[mailto:kickstart-list-bounces@xxxxxxxxxx] On Behalf Of Gabrie
Sent: Wednesday, July 18, 2007 2:55 AM
To: Kickstart-list@xxxxxxxxxx
Subject: Using variables in kickstart file

Hi

I'm going to install about 20 servers, which will be identical apart
from hostname and IP address. To make changes in all ks files easier, I
would like to start using one central batch file, that is being called
from the ks.cfg file. Therefore I would like to use 2 variables
containing IP and hostname.

Ideally it would be something like this:

### Begin ks020.cfg
VAR-IP = 10.0.0.20
VAR-HOST = vmesx020.mydomain.com

<snip>

network --device eth0 --bootproto static --ip $VAR-IP --netmask
255.255.255.0 -gateway 10.0.0.254 --hostname $VAR-HOST

<snip>

%post
# download central script
lwp-download http://10.0.0.1/scripts/central.cfg /tmp/central.cfg

perl /tmp/central.cfg $VAR-IP $VAR-HOST

### End ks020.cfg


In the central.cfg I would then be able to read the VAR-IP and VAR-HOST
and use it for other configuration stuff.

Who can tell me how to use variables in this way? I have the feeling
there also is a difference between a variable in the first section
(network section) and the post section????

Gabrie

_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list

_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list


_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list


[Index of Archives]     [Red Hat General]     [CentOS Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux