OSes‎ > ‎

RedHat9.0

RedHat 9.0 on an HP laptop (ZT1230), Dell Laptop (Lattitude C840), and PIII

Update: Dell Latttitude and my PIII are running RedHat 9.0 now in additionto HP laptop.

This is on the HP laptop ZT1230 with Celeron 1.33 Ghz. This has the VIA Apollo Pro 133Z and VIA VT8231 chipset. Interestingly, even though CPU is Celeron, the bus is running at full133 Mhz. Thus the only difference between PIII and Celeron 1.33 GHz is the L2 cache size (512 Kbytes vs. 256 Kbytes).

To my surprise, installing RedHat9 reported several errors (USB related)when booted. The worst is that no sound came out. It turned out that I have to reconfigure kernel (to add ACPI support) to make sound work! or use ALSA driver. Both took a week of my evening times (I really had to do trial and errorsto come up with no boot error).

The reason is that this laptop does not support APM (advanced power management) but supports ACPI only. I have not seen any explanation why ACPI and sound is related. If you know, please let me know.

<

Everything is working except the modem. This laptop has the ESS modem chipES2838/2839 Superlink Modem. Unfortunately, ESS refuses to support Linux and HP techsupport refuses to give a Linux driver to users. (If youare really desperate, you can find 2.4.18 Mandrake version available on theweb.) Lately HP is claiming they support Linux. Well, they cannot say that.

Index


How did I reconfigure kernel?

The reasons why I needed to rebuild kernel is above.

I had to get the patch for ACPI from http://sourceforge.net/project/acpi. Pick the correctLinux kernel version (do uname -r). I downloaded acpi-20021212-2.4.20.diff.gz (RedHat 9 latestis 2.4.20-18.9 and this patch was the last one with 2.4.20). After unzipping the diff file at /usr/src, I did the following:

   
  cd /usr/src/linux-2.4.20-18.9   
  patch -p1 < ../acpi-20021212-2.4.20.diff
  

The patch is now installed. Now configuring the kernel.I changed EXTRAVERSION= -18.9.x at the beginning of Makefile so thatI would get the module directory /lib/modules to have thedirectory 2.4.20-18.9.x.

   
  make mrproper   
  make xconfig (or make menuconfig or make config)   
  make dep   
  make clean   
  make bzImage   
  make modules   
  make modules_install   
  cp bzImage /boot/bz-2.4.20-18.9.x   
  /sbin/mkinitrd /boot/initrd-2.4.20-18.9.x.img 2.4.20-18.9.x   
  edit /boot/grub/grub.conf to pick the new kernel.
  

It took me a while to figure out what to do exactly so that I won't getany errors during booting (see next paragraph on this). Make sure that you pick USB keybddev, USB mousedev, loopback, iptables, nls-iso-8859 as modules (otherwise you have to modify the boot up procedureRedHat set up).

I talked to the sysadmin at work (thank you, Paul Raines) about many trialsto get the options and the modules correct. What I should have done was to copy config from /usr/src/linux-2.4/configs/kernel-2.4.20-i686.config(or appropriate one) to the current src directory as .config. (/usr/src/linux-2.4 has README, which contains IF SOMETHING GOES WRONG.) Then, I would have been using the same configuration as RedHat did.He also explained me the reasons for two processes above: "make mrproper" does a full clean including removing the kernel version dependent include files (i.e. those with keysyms in them). "make dep" does overwrite the default kernel version dependent includefiles that only have keysyms for the kernel I'm building."/sbin/mkinitrd" is done if you have any modules that needs to be loaded before / itself is mounted.

If your laptop has a special video driver (like NVIDIA), you may have to install a new driver for the new kernel. (You may have to recompile). Before you reboot, you must edit /etc/inttab to make runlevel to 3, i.e. "id:5:initdefault:" to "id:3:initdefault". Then you get the console mode when rebooted. Then you can install the video driver.

The above procedure still produced the errormessage at the boot time: agpgart :Unsupported Via chipset (device id:0605). You might want to try try agp_unsupported=1.. This message is so obscure unless someone knows what should be done. I'd say that if it knows what todo, then do it! This means that when you build agpgart module, then you addin /etc/modules.conf:


  alias char-major-10-175 agpgartoptions agpgart agp_try_unsupported=1
  

This means that my laptop was not using AGP to draw.Unfortunately, thos won't do a thing when you build agpgart as built-in.Thus I modified /usr/src/linux-2.4.20-20.9/drivers/char/agp/agpgart-fe.cwith agp_try_unsupported _initdata =1. Once you put the above, you find in /var/log/messages or dmesg:


  agpgart: Maximum main memory to use for agp memory: 409M
  agpgart: Trying generic Via routines for device id: 0605. 
  agpgart: AGP aperture is 64M @ 0xa0000000
  

Unfortunately even after all these, you cannot get DRI (Direct Rendering Interface) work (i.e. openGL is simulated in software) for the VIAchip. See http://www.probo.com/timr/savage40.html. There was a built forXFree 4.2.0, but not for XFree 4.3.x. Even though DRI group gotthe source codes from VIA, nothing is working at this time (see dri.sourceforge.net).

For other video cards (NVIDIA), you run glxinfo to check whetherdirect rendering: Yes or not.

Top


How to fix the error "char-major-10-135 not found"?

The device char-major-10-135 corresponds to /dev/rtc. Run make menuconfigand go to Character Devices. Pick Enhanced Real Time Clock support.

Top


Where is KDE?

RedHat 9 does not install KDE desktop as default. You have to use System Setting->Application Add/Remove. Then, pick KDE desktop and KDE software development.

Top


No Sound Problem even though VT82C686 is identified

The best solution is to do ACPI patch and rebuild kernel. Note that kmidi did not install /etc/timidity.cfg file. I just copied from RedHat 8 PC.

If you don't want to rebuild the kernel and you want to use ogle, then goto www.viaarena.comto download how-to using alsa drivers, libs, and tools. Second, go to Advanced Linux SoundArchitecture Org. Download alsa-driver-0.9.4, alsa-lib-0.9.4,alsa-utils-0.9.4. Follow the instruction on how-to from VIA. The alsa version is no longer 0.9.2 but 0.9.4. The driver must be configured with --with-sequencer=yes --with-oss=yes --with-cards=via82xx. The driver is put in to the current kernel (uname -r) and thus you mustrebuild the driver when you build a new kernel.

Note that when I did /sbin/modprobe snd-via82xx, I got errors

/lib/modules/2.4.20-8.20-9.x/kernel/sound/acore/snd.o: unresolved symbol schedule_work/lib/modules/2.4.20-8.20-9.x/kernel/sound/acore/snd.o:insmod /lib/modules/2.4.20-18.9.x/kernel/sound/acore/snd.o failed/lib/modules/2.4.20-8.20-9.x/kernel/sound/acore/snd.o:insmod snd-via82xx failed

I was getting impatient. I just looked for the symbol. init.c defines "snd_compat_schedule_work".Meanwhile others look for "schedule_work". I found #define for schedule_work in include/adriver.h. I set what the heck. Renamed "snd_compat_schedule_work" to "schedule_work". After "make clean", "make", and "make install", modprobe snd-via82xx worked!

Update for alsa-1.0.0rc2. Obviously, this was the wrong thing to do. This trick did not work for alsa-1.0.0rc2 with linux-2.4.20-20.9. It turned out that the alsa config could not detect the system being linux. Thus you do


  touch alsa-driver-xxx/include/workqueue.h  
  

After this I was able to modprobe snd-via82xx fine.

Finally use alsaconfig to write /etc/modules.conf for startup time.Here is the things added.


  # --- BEGIN: Generated by ALSACONF, do not edit. ---     
  # --- ALSACONF verion 0.9.0 ---   
  alias char-major-116 snd   
  alias snd-card-0 snd-via82xx   
  alias char-major-14 soundcore   
  alias sound-slot-0 snd-card-0   
  alias sound-service-0-0 snd-mixer-oss   
  alias sound-service-0-1 snd-seq-oss   
  alias sound-service-0-3 snd-pcm-oss   
  alias sound-service-0-8 snd-seq-oss   
  alias sound-service-0-12 snd-pcm-oss   
  options snd major=116 cards_limit=1   
  options snd-via82xx index=0   
  # --- END: Generated by ALSACONF, do not edit. ---
  

After installing the driver, do

   
  /sbin/chkconfig alsasound on
  

so that it will start at boot time.

Top


Home

Edited on 11/27/2004