Laptops :: How to install CPU Freq Driver
Got it - it seems the kernel image needed to be designated read-write:
# rdev -R /mnt/sda1/vmlinuz 0 [0=rw, 1=ro]
Once done, I get the same start-up messages as linuz24 and the system boots as usual. Now onto the cpufreq part...
So maybe it's better to load gnu-utils after all. Although it shouldn't matter since "make install" only installs the needed stuff into /boot.
I was using a frugal/livecd session using grub as my boot loader.
The other difference I recall from another thread, was that the minirt.gz from dsl-embedded was different than the ones from the .iso - don't know what is different though (or not).
Warnings should be bad when compiling kernels, but I didn't have a log of my build to compare.
EDIT: just read your last message - something that should've been quite obvious! I suppose I just used cp -a after a make install, hence why I didn't have problems. But good job at getting the basics to work!
Now that I'm back to adding cpufreq functionality, a couple of questions:
1. By "...only installs the needed stuff into /boot" do you mean vmlinux-2.4.26 alone or are .config-2.4.26 (I doubt it) and System.map-2.4.26 (what does this do?) required by the boot process as well?
2. I guess I can either "pack" additional loadable cpufreq modules into a modified KNOPPIX image or restore them after boot - what happens with cpufreq modules compiled into the kernel - do I need to add these to KNOPPIX or will the kernel boot image (vmlinuz) unpack them into the appropriate place?
1. well it installs all 3 of those files. The .config is just a copy of your kernel config that was used during kernel recompilation - a backup. System.map is a table of symbol values for the kernel... (can look it up for more info).
2. I wouldn't recommend you to compile it into the kernel. They aren't 'modules' anymore, but the kernel itself has all the code needed in it. This usually results in a much larger kernel (depending on the size of the cpufreq stuff). The obvious advantage is that you won't have to deal with the unpacking/packing/loading of modules since everything will be built-in (in the vmlinuz file).
The cpufreq patch for 2.4.x doesn't give a choice about compiling some of the stuff into the kernel - anyway, I got back to the main task of making it work and hit a problem. It looks like things compile into the boot kernel image OK but the compile quits part way through making the loadable modules:
# make modules
...
make -C drm modules
make[3]: Entering directory `/ramdisk/usr/src/linux-2.4.26/drivers/char/drm'
gcc-2.95 -D -I/ramdisk/usr/src/linux-2.4.26/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i386 -DMODULE -nostdinc -iwithprefix include -DKBUILD_BASENAME=gamma_drv -c -o gamma_drv.o gamma_drv.c
In file included from gamma_drv.c:34:
drmP.h:180: redefinition of `cmpxchg' previously defined here
make[3]: *** [gamma_drv.o] Error 1
make[3]: Leaving directory `/ramdisk/usr/src/linux-2.4.26/drivers/char/drm'
make[2]: *** [_modsubdir_drm] Error 2
make[2]: Leaving directory `/ramdisk/usr/src/linux-2.4.26/drivers/char'
make[1]: *** [_modsubdir_char] Error 2
make[1]: Leaving directory `/ramdisk/usr/src/linux-2.4.26/drivers'
make: *** [_mod_drivers] Error 2
it looks like the command goes through the folders in /drivers in alphabetical order, works OK in /char/agp but then quits in /char/drm
As a test, I used the default knoppix .config but enabled bluetooth (in the knoppix CD but not in DSL) - bluetooth is enabled in the kernel but make modules has the same problem - i.e. the hci_usb module is made but not the rfcomm module (since /drivers/bluetooth is before /drivers/drm but /drivers/net/rfcomm comes after). After reboot with the new kernel things work fine once I copy the rfcomm module from the knoppix CD, so it looks like the problem is with "make modules" and not with the cpufreq patch.
Does anybody have an idea what the problem might be?
Next Page...
original here.