Installing SuSE Linux 7.1 on a Pentium 4 Computer
|
Installing Linux on a Dell 330, which uses a Pentium 4 chip, revealed a
myriad of new problems. First, the kernel and installation RPM files in
SuSE 7.0 were unable to identify the Pentium 4 chip. The SuSE installation
refused to start, because it could not identify the CPU. A solution to this
fatal problem with their product was eventually found, buried in an obscure
file on SuSE's web site. They are apparently aware of the problem (if not
particularly concerned about it) and provide
a downloadable bootdisk that is supposed to recognize the Pentium 4. Although
this new bootdisk did make it possible to install Linux, there was no obvious
way to install a bootable kernel from the CDROM during installation, so when
the installation was complete, the kernel that did get installed would not
boot. Thus it was decided to upgrade to SuSE 7.1.
Unfortunately, SuSE 7.1 was not much better. SuSE's installation program now
automatically goes into Yast2, which is the graphical version, instead of
offering a choice between Yast1 (the text version) and Yast2 as before.
Unfortunately, Yast2 had some weird incompatibility with my Matrox G450
video card, and sent it into some bizarre video mode that was outside the
sync range of my monitor. Since the maximum resolution of this monitor is
1800x1440, well above the resolution normally used by Yast2, this was
clearly buggy behavior. Luckily, the monitor was sophisticated enough to
shut down automatically before being damaged. It was necessary to switch
to an older video card in order to start an installation. (However, on
another, identical computer, Yast2 worked if the horizontal screen size
was first shrunk using the monitor controls.)
However, this was only the first problem. Yast2 was perfectly happy to
install components that were incompatible with each other or with the
hardware, rendering the system unbootable, while giving no warning
messages. SuSE installs three kernels: a 2.2.18, a 2.4.0, and a "SuSE"
kernel. After 3 reinstallations, I finally got system that was bootable
with the 2.2.18 kernel; however, the only outcome I ever obtained with
the other two kernels was a series of kernel panics. (Note: I didn't
run 'mk_initrd' so maybe this would have helped). This also happened
on a different Pentium 4 computer.
So the next step was to install a 2.4.2 kernel from ftp.kernel.org. Installation
of this kernel was thwarted at first by a bug in in.telnetd that
denies access to users for whom it cannot do a reverse DNS lookup -- e.g., all
remote access dialup clients. Eventually I found a note on SuSE's website
acknowledging this problem and downloaded a replacement version of telnet.
Building a kernel at the console revealed another bug: "make xconfig" did
not work unless the command "xhost +localhost" was executed. Presumably
there must be some file somewhere that allows X to use the local display.
Rather than search the 111,000 system files on the disk to find it, I
just put "xhost +localhost" in my .xinitrc file.
The next problem was that no kernel in the 2.4 tree would boot on this
machine. Successive kernels would hang at APIC, then at SMP, and finally
when a kernel was installed in which these were turned off, it would hang after
reading /etc/init.d/boot.local, after printing the apparently innocuous message
"Creating /var/log/boot.msg". This problem could not be solved even after
trying numerous kernel configurations. Eventually it was found that the
problem could be eliminated by editing the file /etc/init.d/boot and
changing the line
/sbin/klogd -s -o -n -f /var/log/boot.msg |
to
/sbin/klogd -o -n -f /var/log/boot.msg |
This finally allowed the 2.4.2 kernel to boot. Also, for some reason klogd
had to be stopped and restarted after booting to prevent it from pushing the
system load to 1.0. (This happened on one machine, but not on another).
This was not the end of the problems, however. Apache httpd would not start
because the default configuration provided by SuSE tried to load a non-existent
module (mod_php4.c) and then gave up after not finding it. Once this module was
identified by checking the apache logs and removed from the
/etc/httpd/httpd.config file, httpd started up with no problems.
Next, the X default desktop installed by SuSE (KDE) was extremely ugly,
with multicolored, unappealing icons and unpleasant color
schemes. KDE is also extremely slow, taking almost half a minute to initialize
itself on a 1.5 GHz Pentium 4. The rxvt that was installed apparently had no
support for scroll bars and ignored the settings in .Xdefaults. Considerable
tweaking (e.g., switching to FVWM and compiling and reinstalling a different
version of rxvt) was needed to get the system to look tolerable.
After reinstalling the Matrox G450 card, neither X Windows, sax (the SuSE
X configuration utility), nor AcceleratedX v6.0 would start. Luckily, Xi Graphics
had an update on their Web site that could handle the G450 card.
Then, of course, there were the usual problems that recur every time one
upgrades the system: the backspace key didn't work, the system couldn't
write to the xconsole, etc., ad nauseam. Practically the only bright spot
was that the system clock didn't need to be reset by as much after a reboot.
After a reboot, the clock was only 16 hours off instead of several months
as before. Apparently this is caused by /usr being on a separate partition
from the /boot partition.
Copying stuff over to the new computer was also not trivial. 'Tar' on a
computer running a 2.2.16 kernel ran for 3 hours and then terminated abnormally
when size of the tar file exceeded 2GB. It was necessary to use ncftp or mc to
copy the files. One advantage of the newer kernels is a larger maximum
file size.
Other problems
- The default mail configuration installed by SuSE was broken. Edited
/etc/sendmail.cf and changed the line starting with DMYAST_ASK to
DMmy_domain_name.org
- Set SYSLOGD_PARAMS="-r" in /etc/rc.config to enable remote logging.
- Changed /etc/syslog.conf to write to /dev/xconsole instead of /dev/console,
made it writable, and changed its ownership to the user running X
so X could actually write to it.
- X appears to hang when first started. The window manager (fvwm95)
waits indefinitely, and does not finish decorating the window borders
until the mouse is moved.
- The boot manager now has a graphical menu with a "penguin" instead
of a text interface. The penguin has a very cheesy appearance and
could not be removed by changing /boot/boot.b to point to boot-text.b
(This problem is not yet fixed).
- All the Linux appletalk servers gave the following message every 10
seconds
atalkd[271]: rtmp_packet bad phase 1 version |
This message started when Apple G4's were added to the network.
Thus far, there is no clue about what if anything this might mean,
or what could be done about it if the computer generating this
error could be found. (This problem is not yet fixed).
- Syslog hangs if there is something it does not like in its config
file, without giving any error messages. I guess I never noticed
this before. (This problem is not yet fixed).
- Anonymous ftp didn't work. Uncommented the following line in /etc/pam.d/ftp:
#auth sufficient /lib/security/pam_ftp.so |
and changed the path for ftp in /etc/passwd to the correct path.
After this, anonymous ftp worked but gave spurious
errors about "bare line feeds" every time users type "dir" or "ls".
Normal users did not see this problem. Used this as an opportunity
to try to install srp 1.7.2. This installed okay on a machine running
SuSE 7.0 but the pam modules would not compile on the machine running
7.1. It also was necessary to edit base/lib/getdef.c to add
ENV_ROOTPATH and USER???? to get rid of the error messages that occur
when running srp's 'passwd' program. As for the pam modules, I eventually
gave up trying to edit srp's config.h files and ftp'd the pam modules from
the old machine. Unfortunately, it turned out that either the new version
of srp still has a few bugs, or some step is missing from the documentation.
After editing the /etc/pam.d/passwd file and running 'tconf' as the manual
instructs, it was found that passwords were not in fact being
updated correctly. It became impossible to telnet to the machine,
to login, or change the password (luckily, I was still logged in
on another window). Solution: deleted all srp-related
files and switched to wu.ftpd instead of in.ftpd (in inetd.conf).
This solved the "bare line feed" problem. Edited welcome.msg to
remove all those silly wu-ftpd login messages. The welcome.msg
file for wu.ftpd is now in /usr/local/ftp/msgs/welcome.msg
while the corresponding file for in.ftpd is in /etc/ftpwelcome.
- The LaTeX-related program dvips creates PostScript files with
'A4' paper size instead of 'letter'. Solution: edit /etc/texmf/config.ps
and change the paper size settings so the 'letter' settings appear
before the A4 settings. The first '@' in this file is used as the default.
- After installing openssh 2.5.2, on one computer the following
message was printed at startup:
Disabling protocol version 2. Could not load host key |
Solution: removed /usr/local/etc/ssh* and /usr/local/etc/primes,
edited the startup script /sbin/init.d/sshd
to indicate the absolute paths in usr/local/sbin where openssh
installed files, and removed all /etc/ssh* .
- Programs that use ncurses don't redraw the screen after
terminating. (This is not yet fixed).
- Exiting and restarting X kills syslogd. (This is not yet fixed).
Also, xconsole no longer works after exiting and restarting X.
Sometimes typing "kill -1 syslogd" helps, and sometimes it
doesn't. Also, if the system clock is reset after booting up but
before starting X, xconsole doesn't work. Correct functioning of
this program seems to depend on the phase of the moon.
- Telnet is blocked for unknown reason for remote users using ppp.
Remote IP numbers provided by the ISP on one phone number work,
while others get the message "telnetd: getnameinfo". On machines
using SuSE 7.0, it works. Ssh also works on both systems.
Solution: ftp://ftp.suse.com/pub/suse/i386/update/7.1/a1/nkitb.rpm
and ftp://ftp.suse.com/pub/suse/i386/update/7.1/n1/nkitserv.rpm
(use rpm -i --force).
- Unable to write files larger than 129MB on SCSI Jaz disk.
Solution: Termination was set incorrectly on SCSI chain.
- Corel Draw will not execute, causes AcceleratedX to hang, forcing
reboot (This is not yet fixed). Solution: tried to install a
program called "sketch". This in turn required installing the
Python imaging library. After some editing of the install scripts
e.g., changing the paths and changing -ltcl8.0 to -ltcl8.3
and -ltk8.0 to -ltk8.3 on the "make" command line and running
the commands:
$ cp PIL.pth /usr//lib/python1.5/site-packages
$ mkdir /usr/lib/python1.5/site-packages/PIL
$ cp _imaging.so PIL/* /usr/lib/python1.5/site-packages/PIL |
sketch also appeared to install without any error messages, but
when executed it died with the error:
dalek:/home/tjnelson$ sketch
Traceback (innermost last):
File "/usr/local/bin/sketch", line 34, in ?
Sketch.main.main()
File "/usr/local/lib/sketch-0.6.10/Sketch/Base/main.py", line 144, in main
from Sketch.UI.skapp import SketchApplication
File "/usr/local/lib/sketch-0.6.10/Sketch/UI/skapp.py", line 27, in ?
from Tkinter import Tk, TclError
ImportError: No module named Tkinter |
Tkinter is apparently a GUI toolkit for Tk. Installed tkinter from
the original Linux distribution medium. Sketch seems to be a very
well done replacement for CorelDraw.
- After installing tkinter, suddenly it was no longer possible to print.
Suseconfig (which runs automatically whenever a program is installed
from the CD) had overwritten /etc/texmf/config.ps and set the default
paper type to A4 again. Restored config.ps from backup.
- After about a month, printing suddenly stopped working.
Stopping and restarting lpd in /etc/rc.d, rebooting, or restarting
lpd manually had no effect. Running 'lpc' gave the message
lpc: connect: no such file or directory |
The files in /var/spool/lpd, and the lock files for lpd were all
correct. No useful documentation for lpc could be found in the man
pages, the HOWTOs, or on the Internet.
Solution: This message either means that lpd is not running, or that
it cannot make a connection to the printer for some reason. Check the
following:
- Make sure lpd is running. (ps -auxSe | grep lpd)
- Make sure lpd is executable by lp (chown lp.lp /usr/bin/lpd)
- Make sure permissions are set correctly in /var/spool/lpd.
- Make sure it can connect over the network to the printer
(run ping, netstat, or tcpdump; check for stale lock files or other
junk in /var/spool/lpd/*; check for FIFOs in / that it might
be trying to use).
- Try power-cycling the printer. Sometimes printers get wedged
after receiving junk from the Internet.
- Try replacing /usr/bin/lpc and /usr/bin/lpd with different
versions from another computer.
- Make sure all files, devices, and paths specified in /etc/printcap
exist and are accessible by lpd.
- As a last resort, try rebooting. Occasionally a port will get
jammed for some unknown reason. If so, even if the daemon is running,
it can't connect to the port.
- MIT's PGP software doesn't compile, complains about libUI not being
found. Tried GnuPG, which compiled and installed satisfactorily.
However, the manual was full of politically-correct expressions and
abuses of English. It was too hard to encrypt a file while I was barfing,
so I deleted GnuPG.
Back