Bug 11514

Summary: kickstart file over NFS fails on PXE boot
Product: [Retired] Red Hat Linux Reporter: Ryan Erickson <ryan.b.erickson>
Component: installerAssignee: Brock Organ <borgan>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2CC: ryan.b.erickson
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-08-17 21:42:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ryan Erickson 2000-05-18 20:45:48 UTC
If you use the pxe-0.1-14 PXE boot to run an install on a machine, with a
kernel command-line parameter of:

ks=nfs:<nfs server>:/<kickstart file>

the installer fails to find the kickstart file on the network, and fails
with:

Error opening: kickstart file /tmp/ks.cfg: No such file or directory.

If I put the same kickstart ks=nfs argument in a floppy boot with no
ks.cfg on the floppy, kickstart correctly loads the kickstart file off the
network NFS share listed in <kickstart file>.

Also, command-line arguments *are* being passed to the kernel, if I put
ks=floppy on the PXE-boot command line, kickstart correctly loads the
ks.cfg off the floppy.

Comment 1 Michael Fulbright 2000-07-13 19:33:54 UTC
Please verify in test lab...

Comment 2 Mark J. Watson 2000-07-18 17:01:49 UTC
I use server based kickstart files all the time and have not experienced that
problem. I believe your either having a DNS problem or a DHCP problem. If your
not using DNS (e.g. hosts file) you need to use the IP address of the NFS
server. If you are using DNS use nslookup to verify the primary and secondary
DNS servers and make sure that they are the ones listed in the dhcpd.conf. Also
verify that the dhcpd.conf file lists the location of the kickstart file. Below
is an exaple of a dhcpd.conf file that works and doesn't use DNS. 

# Once the computer is connected to the Internet through a DSL modem,
# change the router number to the default gateway identified through the
# ISP DHCP configuration.
option routers 192.168.1.1;
option domain-name "mjwatson.com";

subnet 172.16.78.0 netmask 255.255.255.0 {}

subnet 192.168.1.0 netmask 255.255.255.0 {
   default-lease-time 21600;
   max-lease-time 43200;
   option broadcast-address 192.168.1.255;
   option domain-name-servers 192.168.1.1;
   range 192.168.1.3 192.168.1.254;
   filename "/exports/install/kickstart/";
   next-server 192.168.1.1;
# This Server
#   host dk440lx {
#      hardware ethernet 00:90:27:3a:6b:03;
#      fixed-address 192.168.1.1;
#  }
   host server {
      hardware ethernet 00:90:27:8e:81:eb;
      fixed-address 192.168.1.2;
   }
   host clay {
      hardware ethernet 00:10:5a:c6:c6:13;
      fixed-address 192.168.1.5;
   }
   host Windows98 {
      hardware ethernet 00:50:56:81:01:02;
      fixed-address 192.168.1.223;
   }
}

WARNING

Restart the NFS deamon after each failed attempt. That will also give you the
error message you are experiencing.

cd /etc/rc.d/ini.d/
./nfs restart

Comment 3 Ryan Erickson 2000-07-18 23:13:59 UTC
This is *PXE BOOT* (not DHCP-boot) specific.  If there are command-line 
parameters that are given on the PXE booting machine, the installer is only 
taking the first 20-or-so characters.  Try it yourself, by PXE-booting the 
installer.  Add a long command-line to the parameters on PXE boot, and then 
check the /proc/cmdline once the install is up (use virtual console 2).  It's 
being truncated.  You can see that I mentioned this above, that It works fine 
with a boot floppy (the same command-line, so I'm sure it's not an NFS / DNS 
problem)


Comment 4 Mark J. Watson 2000-07-19 00:57:35 UTC
Setup your DHCP server so that your machine gets the same ip address every time
as in the example above (DHCP Reservations). Place your kickstart file in the
directory set by your DHCP server. 

filename "/exports/install/kickstart/";
next-server 192.168.1.1;

Name your kickstart file <ip address>-kickstart (e.g. 192.168.1.2-kickstart).
Modify your kickstart file to include the installation type (e.g. example
below).

lang en_US
keyboard us
nfs --server 192.168.1.1 --dir /exports/install/RedHat62
zerombr yes --ondisk sda
zerombr yes --ondisk sdb
clearpart --all --ondisk sda
clearpart --all --ondisk sdb
part /boot --size 23 --ondisk sda 
part /offset --size 23 --ondisk sdb 
part raid.11 --size 17280 --ondisk sda 
part raid.12 --size 17280 --ondisk sdb 
part raid.13 --size 54 --ondisk sda 
part raid.14 --size 54 --ondisk sdb
raid / --level 0 --device md1 raid.11 raid.12 
raid swap --level 0 --device md2 raid.13 raid.14
install
network --bootproto static --ip 192.168.1.2 --netmask 255.255.255.0 --gateway
192.168.1.1 --nameserver 192.168.1.1
mouse generic3ps/2
timezone --utc America/Chicago
rootpw password 
auth --enablemd5 --useshadow
xconfig --card "Matrox Millennium G200 SD 16MB" --monitor "NEC Multisync 6FG"
--startxonboot
lilo --location mbr
reboot
%packages
@ Everything
%post
echo "Kickstarted `/bin/date`" > /etc/motd
cd /
mkdir imports
cd /imports
mkdir server
mkdir samba
mkdir workstation
cd / 
mkdir exports
cd /exports
mkdir install
mkdir samba
mount -t nfs 192.168.1.1:/exports/install/ /imports/server/
mount -t nfs 192.168.1.1:/exports/samba /imports/samba/
# mount -t nfs 192.168.1.1:/exports/192.168.1.2/ /imports/workstation/
cp -f /imports/server/192.168.1.2/hosts /etc/
cp -f /imports/server/192.168.1.2/exports /etc/
cp -f /imports/server/192.168.1.2/smb.conf /etc/
cp -f /dev/null /var/state/dhcp/dhcpd.leases
cp -f /imports/server/192.168.1.2/dhcpd.conf /etc/
rpm -i /imports/server/PowerTools62/i386/mysql*.rpm
rpm -i /imports/server/PowerTools62/i386/vnc*.rpm
rpm -i /imports/server/PowerTools62/i386/portsent*.rpm
rpm -i /imports/server/PowerTools62/i386/amanda*.rpm
rpm -i /imports/server/PowerTools62/i386/xpinguin-1.0-3.1386.rpm
rpm -i /imports/server/PowerTools62/i386/xemacs-el*.rpm
rpm -i /imports/server/PowerTools62/i386/xemacs-[2Ximns]*.rpm
rpm -i /imports/server/download/*.rpm
rpm -i /imports/server/OpenMotif/*.rpm
rpm -i /imports/server/EDK/*.rpm
rpm -i /imports/server/CCVS/*.rpm
rpm -i /imports/server/security/*.rpm
cd /imports/server/
find . -depth -print | cpio -padm /exports/install/
cd /imports/samba/
find . -depth -print | cpio -padm /exports/samba/
useradd -p  XaMPytACKLLuw mjwatson
# cd /imports/workstation/
# find . -depth -print | cpio -padm ~mjwatson/
umount /imports/server/
umount /imports/samba/
# umount /imports/workstation/
# This kickstart doesn't:
#	1) apply software updates /exports/install/Updates62;
#	2) apply kernel updates /exports/install/kernel;
#	3) setup sound, X, or initial services; or
#	4) install RealPlayer 7.0 /exports/install/downloads.

At the boot prompt type:

boot: linux ks

That should eliminate your truncation problems.

The above procedure has been tested with PXE BOOT and works!! The disk image
that I have downloading from the PXE BOOT server has a modified syslinux.cfg
file so you do not have to type in <linux ks>. If you set your system BIOS to
boot the hard drive first and then the network card, if your hard drive ever
goes bad all you will have to do is replace it and restart. Your system should
automatically be rebuilt.

Comment 5 Brock Organ 2000-07-28 20:46:37 UTC
thanks for all your efforts, mjwatson_33! Ryan, are you still experiencing the
problem, or has it been resolved with help from the above...?

Comment 6 Michael Fulbright 2000-08-17 21:42:20 UTC
Please reopen this report if you continue to have problems.