Fedora Core 4 on my Iwill DVD266-R system

My main system at work is a dual Pentium-III SMP system based on an Iwill DVD266-R motherboard. This board is based on the VIA Apollo Pro 266 chipset consisting of a VT8633 "Northbridge" that handles the DDR memory and the AGP slot; and a VT8233 "Southbridge" that handles the PCI bus, the ATA100 interface and other odds and ends. This board also has an AMI MG80649 RAID controller (aka CMD-649) which I use for my single ATA disk drive. It also has a C-Media CMI8738 PCI sound chip, which is pretty nice actually, but I have it disabled (via motherboard jumper ?), and I use a PCI Soundblaster Live (emu10k1). The board also has a Winbond W83627HF system monitor chip that I should set up to use lmsensors someday.

On Wednesday 7-5-2005, I decide to upgrade my system from Fedora Core 3 to Fedora Core 4. I also decide to do a full install instead of an upgrade just because I like a lot of pain and hassle and they say that whatever doesn't kill you makes you stronger.

New hard drive

A while back I bought a big Western Digital hard drive that has been my hdc for a long time. I partitioned it with a /boot partition, and about 30G to be a root partition someday. This is the day. Before I screw with hardware I get the CD iso images onto my hard drive in my /u1 partition (the part of the 250G drive that I actually have been using and that I will not reformat). Then I actually burn the first CD, so I can boot from it. I also burn the Fedora Core 4 rescue CD (just in case) as well as a Ubuntu disk that will run standalone off the CD. Then I am ready to go. I check the sha1 checksums for the images before I turn everything off, then dive in.

I turn the system off, swap cables on my hard drives so that my old hda becomes hdc and vice versa. This will leave my old FC3 root intact on the new hdc both for reference purposes, and in case I get in trouble I can swap the cables back and boot the old FC3 system and I have not burned any bridges. I am particularly paranoid about a web site I host that uses a lot of PHP and the move to PHP 5 (and mysql 4), but this proves to not be a problem. The ability to have my old root partition around does turn out to be very very handy.

Hard drive install

1) I turn the system back on and boot the first of the Fedora core 3 CD set. To do a hard drive install you must boot linux via: linux askmethod After this I tell it the fedora 4 isos are on /dev/hda3 as /fedora/FC4 (this was /u1/fedora/FC4 under the old system) and I am off to the races. I use disk druid to name the mount points for the partitions. The boot disk fails the linux mediacheck test, but this was the case under Core 3 also, and as near as I can tell is a CD rom driver issue, not an actual media problem, so I press on. The actual rpms are on my hard drive anyhow.

SMP and acpi business

2) My system is an Iwill-266 SMP board with a pair of 1 Ghz Pentium III. The smp kernel will not work (I had this problem back with FC3) and I rediscover the fix by looking at my old grub.conf. The non smp kernel works fine while I sort things out. I need to add some kernel options to the grub line, namely: acpi=off pci=usepirqmask After adding this (and turning off the red hat graphical boot nonsense -- this is not essential but is just a matter of taste) I am up with the smp kernel.

Sound

3) I have no idea if sound works yet (I have no speakers) but at least the SoundBlaster Live (emu10k1) driver doesn't hang the boot sequence like it did back under Core 3.

ntp

4) To get ntp going, copy a valid /etc/ntp.conf from somewhere (caliente in my case) and then do:

chkconfig --level 35 ntpd on
service ntpd restart

ntpq -p provides a good check to verify this is all working.

Web server

5) My web server is not working. I need to do:

chkconfig --level 35 httpd on
service httpd start

There is more than this though since I run a virtual host setup. I need to go to /etc/httpd/conf and edit httpd.conf (I have a patch file which does the dirty work for me). And I need to recreate some links:

ln -s /u0/www /www
ln -s /u0/mmt /mmt
ln -s /u1/opt /opt

I also need to edit my old changes into /etc/php.ini and restart httpd again.

Mount the new hard drive

6) Disk druid was stubborn about no letting me set up a mount point for /u1 since that was where the hard drive install files were, so I need to edit /etc/fstab and get /u1 set up and mounted. I also mount up my old root partition /dev/hda2 on /old (oughta do this readonly).

X11 and dual head

7) Gotta get my dual head Nvidia driver going. First I need the old dual head config file that I copy to /etc/X11/xorg.conf from /old/etc/X11/xorg.conf. I also had the foresight to download the latest driver from the Nvidia site before I did the upgrade, so I go and install this now (have to telinit 3 before it will allow this, and then telinit 5 when done).

telinit 3
chmod a+x NVIDIA-Linux-x86-1.0-7667-pkg1.run
./NVIDIA-Linux-x86-1.0-7667-pkg1.run
telinit 3

firewall

8) I want my very own personal iptables firewall script that allows my skidoo project network boot as well as ntp and other things to keep me happy. I copy over /etc/rc.firewall and use my trust patch file to mangle /etc/rc.d/init.d/iptables and then do a service iptables restart and I am on the air.

sendmail

9) sendmail won't work. I need to go hack on /etc/mail/sendmail.mc and comment out the line that makes it only listen on the loopback interface:

dnl # tjt
dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

I also copy over the file /etc/mail/local-host-names that gives names of other alteregos for my machine and then restart sendmail. I then do telnet cholla 25 from another machine to verify that sendmail is running and the firewall is open.

mailman

10) I need to get my mailman mailing lists up and running again. I find a shortcut that seems to work just fine. I copy over my old /var/lib/mailman hierarchy and then make sure the mailman service is started. I also copy over /etc/mailman/sitelist.cfg and copy over and merge my old /etc/aliases. Then I restart the service and make sure it gets started on every reboot.

chkconfig --level 35 mailman on
service mailman restart

mysql

11) The oasis website needs mysql and the whole mysql database that is associated with it. This turns out to be the same shortcut as for mailman, copy over the /var/lib/mysql hierarchy. I don't need to fiddle with /etc/my.cnf.

However since we have now moved from 3.2.23 or whatever it was to 4.1 I need to run a script they provide to update the grant tables to use a new password format and what-all.
This (in /usr/bin) is:

mysql_fix_privilege_tables

After this, I start the service via:

chkconfig --level 35 mysql on
service mysql restart

users and passwords

12) I copy over /etc/passwd and /etc/shadow, taking care to merge in any new system required identities.

yum

13) Now for yum. I get Tim's repository stuff from /net/caliente/home/tim/MMT/RPMS/fedora/FC4/RPMS/i386/TEP/tep_repos-4.0-1.noarch.rpm. I hack a bit on the repositories in /etc/yum.repos.d since I want them to get stuff from our mirror on mmto.org. I take a look at /etc/yum.conf and decide it is OK, then do (as root) a yum update. There is a new kernel, so I reboot, fiddle the Nvidia driver and am back up again feeling like I might be done at last. To enable the nightly updates is simple:

chkconfig --level 35 yum on
service yum restart

dhcp and diskless boot services

14) Now I want to reboot my diskless skidoo box. First I need to grab my old /etc/dhcpd.conf. I go into /etc/xinetd.d/tftp and turn the service on. Then I go and grab all the stuff in my old /tftpboot directory and copy it then change ownership so my install scripts can overwrite it as needed. Then:

chkconfig --level 35 dhcpd on
service dhcpd restart
service xinetd restart

printing

15) And now, we would like to be able to print things!! Frome the Gnome menu, go to Desktop -> System Settings -> Printing then use the "new" button to add my 2 network printers.

By golly, this seems to work. I am told the absolute most wrong and worst thing to do (under Fedora anyhow) is to point your browser to localhost:631 and try to use the CUPS admin utility, i.e. whatever you do, don't read or follow the CUPS documentation! The graphical tool seems to manipulate files under /etc/cups and is aware of red hat uniquenesses outside of the CUPS world. I am not saying this is good, but it is a working path of minimal pain.

wine

16) And now for wine. I want to run my National Geographic TOPO! program, which requires wine, and it would seem that wine is no longer part of fedora core. And as of July 12, 2005 there are no Fedora Core 4 rpms on the Wine website, so I grab the last Core 3 RPM and give it a whirl to see if it will run under Core 4, namely wine-20050524-1fc3winehq.i686.rpm and it seems to work, at least it runs TOPO! just fine. I did turn SE Linux off when I did the install (and wine would not run if I hadn't according to some trouble reports I just read). Blows up if I try to print.

matlab

16) Matlab won't run. I need to recreate links for mex and matlab in /usr/local/bin that point to /u1/Mathworks/bin. I also need to copy over and start the license manager (by copying the file /etc/rc.d/init.d/flexlm). chkconfig doesn't work with flexlm, so I make a links for it manually:

cd /etc ln -s /u1/Mathworks/etc/lmboot lmboot_TMW ln -s /u1/Mathworks/etc/lmdown lmdown_TMW ln -s /etc/rc.d/init.d/flexlm /etc/rc.d/rc5.d/S90flexlm
service flexlm start

spam

17) I am being overrun with spam, and I already made sure that spamd is running. It turns out I need my old /etc/procmailrc file which was the thing that fed my mail to spamc. See my spam notes for further details.

perl Tk

18) perl-Tk is gone. This is available from fedora extras, and all that is needed to get it is to (as root) yum install perl-Tk.

BLT

19) BLT (the Tcl plotting package) is gone. It too is in fedora extras. yum list blt finds it. yum install blt installs blt.2.4.11z.i386

cron and updatedb

20) Turn on the daily cron job to run slocate/updatedb by editing the file /etc/updatedb.conf and setting the daily update option to yes.

add route for private network

21) edit rc.local and add the following line to add a route to the local unrouted set of addresses we use for various local gizmos:
ip addr add 192.168.100.1/24 brd + dev eth0 label eth0:mmt

Also add these lines to invoke our local rc script:

if [ -f /mmt/scripts/rc.hacksaw ]; then
    /mmt/scripts/rc.hacksaw
fi

ruby gtk

22) Some other packages need to be added by hand to what yum fetches. To use ruby gtk:

yum install ruby-gnome2

perl PDL

To use perl with PDL and PGPLOT graphics (the later from a TEP repository, do:

yum install perl-PDL perl-PGPLOT

Fedora menus

This isn't really a fedora core 4 thing, but I had to put this somewhere. To add stuff to the fedora menus that are presented on a gnome desktop, do this. Hack on the file /etc/xdg/menus/applications.menu and add the following lines:
  <LegacyDir>/mmt/admin/desktop</LegacyDir>

  ...

  <!-- MMTO -->
  <Menu>
    <Name>MMTO</Name>
    <Directory>MMT.directory</Directory>
    <Include>
      <And>
        <Category>MMT</Category>
      </And>
    </Include>
  </Menu>
Then under /mmt/admin/desktop the game starts with the file MMT.directory.

vmware

Here is another one. After an upgrade to the 2.6.16-1.2111_FC4smp kernel, I need to run /usr/bin/vmware-config.pl. I have done this before, however it no longer works. (Maybe the rub is that we have moved from a 2.4 to a 2.6 kernel which is not yet supported by vmware). When it goes to find the C header files for the kernel to build the vmmon modules I get the message:
The kernel defined by this directory of header files does not have the same address space size as your running kernel.
Even after creating a link /usr/src/linux pointing to kernels/2.6.16-1.2111_FC4-smp-i686 we are still out of luck.

A bit of poking around and I find a link to ftp.cvut.cz/vmware Look at the readme.txt, and there is a lot of other stuff here. In particular, get:

I haven't tried the above patch yet (not yet that desperate and want to research this a bit more first).


Have any comments? Questions? Drop me a line!

Adventures in Computing / [email protected]