Bug 5770

Summary: kickstart does not handle xconfig option
Product: [Retired] Red Hat Linux Reporter: Pawel Salek <pawsa>
Component: installerAssignee: Jay Turner <jturner>
Status: CLOSED RAWHIDE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 6.1CC: sharifi, srevivo
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-02-08 16:15:11 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 Pawel Salek 1999-10-09 13:43:50 UTC
When option xconfig is specified in kickstart file, the
Kickstart procedure crashes. I think there is some
similarity to bug no. 5596 but I am not good enough in
python programming to verify it.

Comment 1 Jay Turner 1999-10-21 16:18:59 UTC
I am not able to replicate this in the lab.  I tried 3 different
Xservers and was able to install via kickstart to all three using the
xconfig option.  Please send a copy of your ks.cfg file so that we can
try to recreate.

Comment 2 Pawel Salek 1999-10-21 16:38:59 UTC
I have just learnt python a little to find the problem source. It
comes from the fact that my graphics card is not detected
automatically and line
xconfig --server SVGA --monitor "IBM 6549 G94"
just did not work. Following line
xconfig --server SVGA --monitor "IBM 6549 G94" --startxonboot --card
"S3 Trio3D"

did not work neither - the --card option is not handled properly. I
include patches for installclass.py and kickstart.py that fix the
problem (as well as crypted password problem) - be cautious, they
might break other things.

***
RedHat/instimage/usr/lib/python1.5/site-packages/installclass.py.orig
Thu Oct 21 18:29:32 1999
--- RedHat/instimage/usr/lib/python1.5/site-packages/installclass.py
Thu Oct 21 15:22:31 1999
***************
*** 122,128 ****
  	    self.x.probe()

  	if not self.x.server:
! 	    self.x.setVidcard (card)

  	if not self.x.monID and monitor:
  	    self.x.setMonitor((monitor, (None, None)))
--- 122,128 ----
  	    self.x.probe()

  	if not self.x.server:
! 	    self.x.setVidcard ({ "NAME" : card, "SERVER" : server})

  	if not self.x.monID and monitor:
  	    self.x.setMonitor((monitor, (None, None)))
***************
*** 149,154 ****
--- 149,155 ----

      def doRootPw(self, pw, isCrypted = 0):
  	self.rootPassword = pw
+ 	self.passCrypted  = isCrypted

      def getMakeBootdisk(self):
  	return self.makeBootdisk



***
RedHat/instimage/usr/lib/python1.5/site-packages/installclass.py.orig
Thu Oct 21 18:29:32 1999
--- RedHat/instimage/usr/lib/python1.5/site-packages/installclass.py
Thu Oct 21 15:22:31 1999
***************
*** 122,128 ****
  	    self.x.probe()

  	if not self.x.server:
! 	    self.x.setVidcard (card)

  	if not self.x.monID and monitor:
  	    self.x.setMonitor((monitor, (None, None)))
--- 122,128 ----
  	    self.x.probe()

  	if not self.x.server:
! 	    self.x.setVidcard ({ "NAME" : card, "SERVER" : server})

  	if not self.x.monID and monitor:
  	    self.x.setMonitor((monitor, (None, None)))
***************
*** 149,154 ****
--- 149,155 ----

      def doRootPw(self, pw, isCrypted = 0):
  	self.rootPassword = pw
+ 	self.passCrypted  = isCrypted

      def getMakeBootdisk(self):
  	return self.makeBootdisk

If you still would like to have qa look at my ks.cfg, just let me know
(but I have just tested kickstart and it works; don't know about other
ways of installation).

------- Additional Comments From   10/21/99 17:40 -------
For completness: IBM 300GL with Video card S2 Trio3D on motherboard.
Most important parts of used kickstart file follow:
lang en_US
keyboard uk
network --bootproto static [....]
nfs --server [...]
device ethernet eepro100
keyboard uk
zerombr yes
clearpart --linux
part / --size 4000
part swap --size 128
install
mouse --kickstart generic3ps/2
timezone --utc Europe/Stockholm
xconfig --server SVGA --monitor "IBM 6549 G94" --startxonboot --card
"S3 Trio3D"

rootpw --iscrypted [...]
auth [...]
lilo --location mbr
%packages
[...]

For the password part to work, todo.py has to be modified:
*** instimage/usr/lib/python1.5/site-packages/todo.py.orig      Sun
Sep 26 15:57:00 1999
--- instimage/usr/lib/python1.5/site-packages/todo.py   Thu Oct 21
15:21:41 1999
***************
*** 1213,1219 ****

        todo.users = []
        if todo.instClass.rootPassword:
!           todo.rootpassword.set(todo.instClass.rootPassword)
        if todo.instClass.language:
            todo.language.setByAbbrev(todo.instClass.language)
        if todo.instClass.keyboard:
--- 1213,1219 ----

        todo.users = []
        if todo.instClass.rootPassword:
!
todo.rootpassword.set(todo.instClass.rootPassword,todo.instClass.passCrypted)
        if todo.instClass.language:
            todo.language.setByAbbrev(todo.instClass.language)
        if todo.instClass.keyboard:

The password patches break likely code when the password is not
encrypted (self.passCrypted is not set; it's easy to fix).

Comment 3 Karl Burkett 2000-01-14 16:44:59 UTC
Use isCrypted instead of passCrypted and there will be no crashing because it is
set to a default of 0 in many places.  I've tested this and submitted a bug
report before I discovered your report.

Comment 4 Jay Turner 2000-02-08 16:15:59 UTC
Kickstart code has been totally revamped for the latest installer, so this bug
is fixed in the latest code.