You are not logged in.

#1 2011-03-15 18:56:27

cdwijs
Member
Registered: 2010-04-24
Posts: 310

[solved] Downgrade kernel

Hi All,

I had some problems with sasc-ng under the current kernel (2.6.37-ARCH #1). Therefore I have downgraded my kernel. Below is how I did it, maybe it's usefull for somebody.

Whas this the most efficient way to do it?

best regards,
Cedric

My second PC has an older version of the kernel, so I copied the entire contens of /var/cache/pacman/pkg/ to my machine. (both run i686)

First attemp, just tell pacman to upgrade the kernel to the older version:

pacman -U /var/cache/pacman/pkg/kernel26-2.6.36.3-2-i686.pkg.tar.xz
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: nvidia: requires kernel26>=2.6.37

Ok, so let's downgrade nvidia first:

pacman -U /var/cache/pacman/pkg/nvidia-260.19.36-1-i686.pkg.tar.xz
resolving dependencies...
warning: cannot resolve "kernel26<2.6.37", a dependency of "nvidia"
:: the following package(s) cannot be upgraded due to unresolvable dependencies:
      nvidia

Do you want to skip the above package(s) for this upgrade? [y/N] 
error: failed to prepare transaction (could not satisfy dependencies)
:: nvidia: requires kernel26<2.6.37

Hmmm, Then remove nvidia:

pacman -R nvidia
checking dependencies...

Remove (1): nvidia-260.19.36-2

Total Removed Size:   9.85 MB

Do you want to remove these packages? [Y/n] 
(1/1) removing nvidia                                                                                [############################################################] 100%

Now let's remove nvidia-utils:

pacman -R nvidia-utils
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: assaultcube: requires libgl
:: compiz-core: requires libgl
:: dosbox: requires libgl
:: gnome-screensaver: requires libgl
:: libquicktime: requires libgl
:: libva: requires libgl
:: mesa: requires libgl
:: mplayer: requires libgl
:: openoffice-base: requires libgl
:: qt: requires libgl
:: wxgtk: requires libgl
:: xine-lib: requires libgl
:: xorg-xdriinfo: requires libgl

Hmmm... Never mind, Let's install the older kernel:

pacman -U /var/cache/pacman/pkg/kernel26-2.6.36.3-2-i686.pkg.tar.xz
resolving dependencies...
looking for inter-conflicts...

Targets (1): kernel26-2.6.36.3-2

Total Download Size:    0.00 MB
Total Installed Size:   87.52 MB

Proceed with installation? [Y/n] 
checking package integrity...
(1/1) checking for file conflicts                                                                    [############################################################] 100%
(1/1) upgrading kernel26                                                                             [############################################################] 100%
>>> Updating module dependencies. Please wait ...
>>> MKINITCPIO SETUP
>>> ----------------
>>> If you use LVM2, Encrypted root or software RAID,
>>> Ensure you enable support in /etc/mkinitcpio.conf .
>>> More information about mkinitcpio setup can be found here:
>>> http://wiki.archlinux.org/index.php/Mkinitcpio

>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image "default"
==> Running command: /sbin/mkinitcpio -k 2.6.36-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img
:: Begin build
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [autodetect]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26.img'...SUCCESS
==> SUCCESS
==> Building image "fallback"
==> Running command: /sbin/mkinitcpio -k 2.6.36-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26-fallback.img -S autodetect
:: Begin build
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26-fallback.img'...SUCCESS
==> SUCCESS

OK, no problems here, now install nvidia again:

pacman -U /var/cache/pacman/pkg/nvidia-260.19.36-1-i686.pkg.tar.xz
resolving dependencies...
looking for inter-conflicts...

Targets (1): nvidia-260.19.36-1

Total Download Size:    0.00 MB
Total Installed Size:   9.85 MB

Proceed with installation? [Y/n] 
checking package integrity...
(1/1) checking for file conflicts                                                                    [############################################################] 100%
(1/1) installing nvidia                                                                              [############################################################] 100%

Now after a reboot, my broadcom kernel module can't be found, so I download it from aur, and try to rebuild it:

$ tar -xf broadcom-wl.tar.gz 
cedric@laptop:/storage/home/cedric/download$ cd broadcom-wl
cedric@laptop:/storage/home/cedric/download/broadcom-wl$ makepkg
==> Making package: broadcom-wl 5.100.82.38-2 (Tue Mar 15 13:10:29 CET 2011)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
  -> Downloading hybrid-portsrc_x86_32-v5_100_82_38.tar.gz...
--2011-03-15 13:10:37--  http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
Resolving www.broadcom.com... 208.70.88.55
Connecting to www.broadcom.com|208.70.88.55|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1195817 (1.1M) [application/x-gzip]
Saving to: “hybrid-portsrc_x86_32-v5_100_82_38.tar.gz.part”

100%[=======================================================================================================================================>] 1,195,817    280K/s   in 5.8s    

2011-03-15 13:10:44 (201 KB/s) - “hybrid-portsrc_x86_32-v5_100_82_38.tar.gz.part” saved [1195817/1195817]

  -> Found license.patch
  -> Found semaphore.patch
  -> Found mutex-sema.patch
==> Validating source files with sha1sums...
    hybrid-portsrc_x86_32-v5_100_82_38.tar.gz ... Passed
    license.patch ... Passed
    semaphore.patch ... Passed
    mutex-sema.patch ... Passed
==> Extracting Sources...
  -> Extracting hybrid-portsrc_x86_32-v5_100_82_38.tar.gz with bsdtar
==> Starting build()...
patching file src/wl/sys/wl_linux.c
patching file src/wl/sys/wl_iw.h
patching file src/wl/sys/wl_linux.c
make: *** /lib/modules/2.6.36-ARCH/build: No such file or directory.  Stop.
    Aborting...

Turns out I had to downgrade kernel-headers as well:

pacman -U /var/cache/pacman/pkg/kernel26-headers-2.6.36.3-2-i686.pkg.tar.xz 
resolving dependencies...
looking for inter-conflicts...

Targets (1): kernel26-headers-2.6.36.3-2

Total Download Size:    0.00 MB
Total Installed Size:   38.16 MB

Proceed with installation? [Y/n] 
checking package integrity...
(1/1) checking for file conflicts                                                                          [###############################################################] 100%
(1/1) upgrading kernel26-headers                                                                           [###############################################################] 100%

Now the broadcom driver compiles and runs just fine:

$ makepkg
==> Making package: broadcom-wl 5.100.82.38-2 (Tue Mar 15 13:23:03 CET 2011)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
  -> Found hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
  -> Found license.patch
  -> Found semaphore.patch
  -> Found mutex-sema.patch
==> Validating source files with sha1sums...
    hybrid-portsrc_x86_32-v5_100_82_38.tar.gz ... Passed
    license.patch ... Passed
    semaphore.patch ... Passed
    mutex-sema.patch ... Passed
==> Extracting Sources...
  -> Extracting hybrid-portsrc_x86_32-v5_100_82_38.tar.gz with bsdtar
==> Removing existing pkg/ directory...
==> Starting build()...
patching file src/wl/sys/wl_linux.c
patching file src/wl/sys/wl_iw.h
patching file src/wl/sys/wl_linux.c
make: Entering directory `/usr/src/linux-2.6.36-ARCH'
  LD      /storage/home/cedric/download/broadcom-wl/src/built-in.o
  CC [M]  /storage/home/cedric/download/broadcom-wl/src/src/shared/linux_osl.o
  CC [M]  /storage/home/cedric/download/broadcom-wl/src/src/wl/sys/wl_linux.o
  CC [M]  /storage/home/cedric/download/broadcom-wl/src/src/wl/sys/wl_iw.o
  LD [M]  /storage/home/cedric/download/broadcom-wl/src/wl.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /storage/home/cedric/download/broadcom-wl/src/wl.mod.o
  LD [M]  /storage/home/cedric/download/broadcom-wl/src/wl.ko
make: Leaving directory `/usr/src/linux-2.6.36-ARCH'
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Purging other files...
  -> Compressing man and info pages...
  -> Stripping unneeded symbols from binaries and libraries...
==> Creating package...
  -> Generating .PKGINFO file...
  -> Adding install script...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: broadcom-wl 5.100.82.38-2 (Tue Mar 15 13:23:08 CET 2011)
cedric@laptop:/storage/home/cedric/download/broadcom-wl$ su
Password: 
[root@laptop broadcom-wl]# pacman -U broadcom-wl-5.100.82.38-2-i686.pkg.tar.gz 
resolving dependencies...
looking for inter-conflicts...

Targets (1): broadcom-wl-5.100.82.38-2

Total Download Size:    0.00 MB
Total Installed Size:   2.75 MB

Proceed with installation? [Y/n] 
checking package integrity...
(1/1) checking for file conflicts                                                                          [###############################################################] 100%
(1/1) upgrading broadcom-wl                                                                                [###############################################################] 100%
[root@laptop broadcom-wl]# modprobe wl

Offline

Board footer

Powered by FluxBB