linky_fan 发表于 2004-10-28 14:39:56

debian vs kernel 2.6.7+patch

Guide to 2.6 kernel upgrade/recompile

patched by linky_fan

I successfully upgraded to the 2.6.7 kernel and then patched it to include the Debian Logo at boot up and Win4Lin support. I ran into some issues that took some time to figure out, so I thought I'd post my upgrade path here in the event it may help anyone else. I was using kernel 2.4.26 initially with the nvidia display driver. Here are the steps to take:

1. Install a 2.6 kernel using apt-get:

    apt-get -t unstable install kernel-image-2.6.7-1-386



2. The PS/2 mouse and nvidia driver won't work with the new kernel. To make sure the new kernel boots up, you need to add the lines "psmouse" and "mousedev" to /etc/modules, and temporarily change the video driver listed in /etc/X11/XF86Config-4 from "nvidia" to "nv". If you have a USB mouse and/or keyboard, you may need to add "usbhid" tp /etc/modules to get it to work.

3. Make sure that the kernel is listed in either /boot/grub/menu.lst or /etc/lilo.conf depending on which bootloader you use. Note that Debian uses initrd, so you have to include the kernel's initrd or it won't boot. I use grub, and the entry looks something like:

--------------------------------------------------------------------------------
title Linux, 2.6.7
root (hd0,0)
kernel /boot/vmlinuz-2.6.7-1-386 root=/dev/hda1 ro hdc=scsi
initrd /boot/initrd.img-2.6.7-1-386
savedefault
boot
--------------------------------------------------------------------------------

Also edit /etc/fstab to include the line:

--------------------------------------------------------------------------------
none /sys sysfs defaults 0 0
--------------------------------------------------------------------------------

and make sure you have the /sys directory:

   mkdir /sys



4. Reboot into the new kernel and make sure that everything is working. It *should* work, but of course mileage may vary. NOTE: If you experience system freezes or shutdowns with the new kernel, try adding "acpi=off" to the kernel line in grub's menu.lst.

5. For re-compiling, it is important to use Debian kernel sources, because they have cramfs patches that allow the initrd to work. Install kernel-source and the debian boot logo:
code:apt-get -t unstable install kernel-source-2.6.7 kernel-patch-debianlogo

I also downloaded 2.6 Win4Lin patches from Netraverse. These files are called "mki-adapter26_1_3_6.patch" and "Kernel-Win4Lin3-2.6.7.patch"

6. Unpack kernel-source and create symbolic link to /usr/src/linux:

      cd /usr/src
      tar -jxf kernel-source-2.6.7.tar.bz2
      rm linux
      ln -s kernel-source-2.6.7 linux



7. Unpack the debian boot logo patch. As of this writing, the latest version was for kernel 2.6.2, but it works with kernel 2.6.7:

      cd /usr/src/kernel-patches/diffs/debianlogo
      gunzip debian-logo-2.6.2.gz



8. Patch the kernel to include the Debian logo and Win4Lin support:
      
      cd /usr/src/linux
      patch -p1 < /usr/src/kernel-patches/diffs/debianlogo/debian-
      logo-2.6.2
      patch -p1 < /usr/src/mki-adapter26_1_3_6.patch
      patch -p1 < /usr/src/Kernel-Win4Lin3-2.6.7.patch



9. Copy the existing kernel configuration as a starting point and configure the kernel:

      cd /usr/src/linux
      cp /boot/config-2.6.7-1-386 .config
      make menuconfig


You need to change two things in menuconfig. First enable the following option for win4lin support:

--------------------------------------------------------------------------------
NeTraverse Win4Lin Support --->
[*] Include NeTraverse Win4Lin Support
--------------------------------------------------------------------------------


Second, enable the following options for framebuffer console with debian boot logo:

--------------------------------------------------------------------------------
Graphics support --->
[*] Support for frame buffer devices
[*] VESA VGA graphics support
Console display driver support --->
[*] Video mode selection support
<*> Framebuffer Console support
[*] Select compiled-in fonts
[*] VGA 8x8 font
[*] VGA 8x16 font
Logo Configuration --->
[*] Debian GNU/Linux Open Use logo (NEW)
--------------------------------------------------------------------------------

Say "N" to all other device drivers except vesa. The Debian configuration has lots of things built as modules here and it seems to cause problems (at least for me). Say "N" to all other boot logos except Debian.

10. Compile and install the kernel:
      
      make-kpkg clean
      make-kpkg --initrd --append-to-version=-mykernelname\   
      kernel_image
      cd /usr/src
      dpkg -i kernel-image-2.6.7 \
      mykernelname_10.00.Custom_i386.deb

Where "mykernelname" is the name you want appended. Mine is "win4lin", so my kernel is named 2.6.7-win4lin.

11. Finally, make an entry for the new kernel in your boot loader. Dpkg should do this automatically, but you should check everything to be sure. The entry for Grub in menu.lst would be something like:

   title         Linux, 2.6.7
      root            (hd0,0)
      kernel         /boot/vmlinuz-2.6.7-mykernelname root=/dev/hda1
                        ro hdc=scsi video=vesafb:ywrap,mtrr vga=788
      initrd          /boot/initrd.img-2.6.7-mykernelname
      savedefault
      boot

Note that you need to add the "video=" and "vga=" to select the driver and resolution for the console. More details are in Gentoo's documentation:http://www.gentoo.org/doc/en/handbo...rt=1&chap=9

      NOTE: You may need to add "acpi=off" to the kernel line if you
               experience system freezes or shutdowns.


12. Reboot with the new kernel. You should see the Debian logo at the top of the screen and nice small fonts during boot up. You should also now be able to install Win4Lin from Netraverse to run legacy windows applications. You will have to re-install the nvidia display driver. Go to www.nvidia.com, download the latest driver and follow the directions. After it installs, change the driver listed in /etc/X11/XF86Config-4 from "nv" back to "nvidia".

I hope this helps others. I spent a lot of time over the weekend figuring this out. Please let me know if there are mistakes above.
有谁英文不是很好的话,可以发站内短信给我。 :mrgreen:
页: [1]
查看完整版本: debian vs kernel 2.6.7+patch