Compile Kernel 2.6 under Debian Sarge

Discussion in 'Kernel Questions' started by falko, Apr 21, 2005.

  1. falko

    falko Super Moderator Howtoforge Staff

    I don't know if this works... :confused:
     
  2. thctlo

    thctlo New Member

  3. Qrup

    Qrup New Member

    Make menuconfig

    Hi,

    I've followed this guide completely. I'ts the first time I'm doing this, so I can't fugure out what I'm doing wrong.
    When selecting "Load an Alternate Configuration File" under "make menuconfig" I'm getting alot of warnings. Here are some of them:

    /usr/src/config-2.6.8-2-386:13:warning: trying to assign nonexistent symbol CLEAN_COMPILE
    /usr/src/config-2.6.8-2-386:48:warning: trying to assign nonexistent symbol OBSOLETE_MODPARM
    /usr/src/config-2.6.8-2-386:84:warning: trying to assign nonexistent symbol X86_EMU486
    /usr/src/config-2.6.8-2-386:120:warning: trying to assign nonexistent symbol PM_DISK
    /usr/src/config-2.6.8-2-386:126:warning: trying to assign nonexistent symbol ACPI_BOOT
    /usr/src/config-2.6.8-2-386:127:warning: trying to assign nonexistent symbol ACPI_INTERPRETER
    /usr/src/config-2.6.8-2-386:139:warning: trying to assign nonexistent symbol ACPI_BUS
    /usr/src/config-2.6.8-2-386:142:warning: trying to assign nonexistent symbol ACPI_PCI
    /usr/src/config-2.6.8-2-386:162:warning: trying to assign nonexistent symbol CPU_FREQ_PROC_INTF
    /usr/src/config-2.6.8-2-386:168:warning: trying to assign nonexistent symbol CPU_FREQ_24_API
    /usr/src/config-2.6.8-2-386:203:warning: trying to assign nonexistent symbol PCI_LEGACY_PROC
    /usr/src/config-2.6.8-2-386:204:warning: trying to assign nonexistent symbol PCI_NAMES
    /usr/src/config-2.6.8-2-386:307:warning: trying to assign nonexistent symbol MTD_CFI_AMDSTD_RETRY
    /usr/src/config-2.6.8-2-386:327:warning: trying to assign nonexistent symbol MTD_ELAN_104NC
    /usr/src/config-2.6.8-2-386:350:warning: trying to assign nonexistent symbol MTD_BLKMTD
    /usr/src/config-2.6.8-2-386:379:warning: trying to assign nonexistent symbol PARPORT_PC_CML1
    /usr/src/config-2.6.8-2-386:384:warning: trying to assign nonexistent symbol PARPORT_OTHER
    /usr/src/config-2.6.8-2-386:470:warning: trying to assign nonexistent symbol IDE_TASKFILE_IO
    /usr/src/config-2.6.8-2-386:478:warning: symbol value 'm' invalid for BLK_DEV_IDEPNP


    Now.. I don't think that any of this went ok and I don't know what to configure in the menusystem. I guess I need to specify what modules I need..??

    Anyway I proceed with the guide, but when all is done I can see that the kernel seems not to be installed properly. It is not in the Grub menu. I tried to alter the menu.1st file. It now has these menu items:

    title Debian GNU/Linux, kernel 2.6.17
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.17 root=/dev/hda1 ro
    initrd /boot/initrd.img-2.6.17
    savedefault
    boot

    title Debian GNU/Linux, kernel 2.6.17 (recovery mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.17 root=/dev/hda1 ro single
    initrd /boot/initrd.img-2.6.17
    savedefault
    boot

    title Debian GNU/Linux, kernel 2.6.8-2-386
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/hda1 ro
    initrd /boot/initrd.img-2.6.8-2-386
    savedefault
    boot

    title Debian GNU/Linux, kernel 2.6.8-2-386 (recovery mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/hda1 ro single
    initrd /boot/initrd.img-2.6.8-2-386
    savedefault
    boot


    I also needed to generate the "initrd.img-2.6.8-2-386" file, since it was not created during my walkthrough of the guide. Was it supposed to be created?

    I hope what I told can help you help me... I an puzzled :confused:

    /Qrup
     
  4. falko

    falko Super Moderator Howtoforge Staff

    These are just warnings, I'd try to go on.

    Why do you want to create an initrd for 2.6.8 when you install a 2.6.17 kernel? :confused:

    What's the output of
    Code:
    ls -la /boot
    ?
     
  5. Qrup

    Qrup New Member

    Thanks for the reply..

    I copied "initrd.img-2.6.8-2-386" in by misatke.. I ment "initrd.img-2.6.17"

    The output of "ls -la /boot" is:
    totalt 12388
    drwxr-xr-x 3 root root 4096 2006-06-19 11:39 .
    drwxr-xr-x 21 root root 4096 2006-06-19 09:14 ..
    -rw-r--r-- 1 root root 63867 2006-06-19 11:00 config-2.6.17
    -rw-r--r-- 1 root root 55809 2005-08-16 14:41 config-2.6.8-2-386
    drwxr-xr-x 2 root root 4096 2006-06-19 11:39 grub
    -rw-r--r-- 1 root root 4317184 2006-06-19 12:19 initrd.img-2.6.17
    -rw-r--r-- 1 root root 4317184 2006-05-01 11:37 initrd.img-2.6.8-2-386
    -rw-r--r-- 1 root root 713448 2006-06-19 11:32 System.map-2.6.17
    -rw-r--r-- 1 root root 865767 2005-08-16 17:14 System.map-2.6.8-2-386
    -rw-r--r-- 1 root root 1182291 2006-06-19 11:32 vmlinuz-2.6.17
    -rw-r--r-- 1 root root 1097554 2005-08-16 17:14 vmlinuz-2.6.8-2-386
    darth:~#


    Is there something I did not do, that I should have done.. maby something about modules or HW drivers or something?
    I can see that the kernel 2.6.17 is not included in the Grub bootloader.

    /Qrup
     
  6. falko

    falko Super Moderator Howtoforge Staff

    The output looks ok. The lines you added to menu.lst, too. Have you tried to reboot?
     
  7. Qrup

    Qrup New Member

    yes, several times... when ever I tried something new. I have tried to load make menuconfig a couple of times, because I thought that was where my problem was. After installation of the kernel I have rebooted.

    You write, "It is normally a good idea to take the configuration of your existing (working!) kernel 2.6 as a starting point for the configuration of your new kernel.". But if I get all the previouly metioned Warnings.. does it still accept my configuration?

    I've heard talking about exotic HDDs somewhere. Well, I have an onboard raid system.. whish I'm not using. I have an IDE controller.. which I assume 2.6.17 is familiar with. I have several HDDs, but no scsi,, just IDE.

    fstab:

    # <file system> <mount point> <type> <options> <dump> <pass>
    proc /proc proc defaults 0 0
    /dev/hda1 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1
    /dev/hda5 none swap sw 0 0
    /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0
    /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
    /dev/hde1 /mnt/musik auto defaults 0 0
    /dev/hdf1 /mnt/film auto defaults 0 0
    /dev/hdh1 /mnt/misc auto defaults 0 0
    /dev/hdd1 /mnt/hdd auto defaults 0 0


    I really need to learn how to make a kernel. I'm planning to compile cool'n'quiet into the kernel.. and later MythTV, so u see it's very urgent :)
     
    Last edited: Jun 21, 2006
  8. falko

    falko Super Moderator Howtoforge Staff

    A lot of things have changed from 2.6.8 to 2.6.17, so it's possible that your old configuration is a problem, but I'm not sure... :confused:
     
  9. nowsurfing

    nowsurfing New Member

    Missing another command

    The last post is right that is what causes the error to solve it just mek the folowwing

    that should sove the problem
     
  10. nowsurfing

    nowsurfing New Member

    I got a problem

    I did evryting, and as I didnt want bad surprises y used my old config file with some adittions however I got another error mesage at boot time:

    modprobe:FATAL: Could not load /lib/modules/2.6.17.1/modules.dep: No such a file or directory
    modprobe:FATAL: Could not load /lib/modules/2.6.17.1/modules.dep: No such a file or directory
    modprobe:FATAL: Could not load /lib/modules/2.6.17.1/modules.dep: No such a file or directory

    umount: devfs: not mounted
    pivot_root: No such a file or directory
    /sbin/init: 432: cannot open dev/console:No such a file
    Kernel panic - not syncing : Attemped to kill init!


    Im guessing that the problem is of devfs, causethe file /lib/modules/2.6.17.1/modules.dep is in there and is fine, any idea?
     
  11. falko

    falko Super Moderator Howtoforge Staff

    Do you use Xen? Because I know this error only from a Xen virtual machine...
     
  12. Qrup

    Qrup New Member


    I also tried doing this, but that didn't seem to solve my problem. Everything seems to go as planned.. the only thing is that Grub is not being updated with the new kernel. The 'update-grub' writes the changes to the 'menu.lst', but they are not shown when I reboot.

    I tried following Digital Hermit's site suggestions, but it is now quite up_to_date. The result was the same as when I followed Falko's guide. I did the following:
    apt-get install libncurses5-dev

    Got the kernel from kernel.org using links

    Unpacked it in /usr/src

    Made a symbolic link to the dir ln -s linux-[kernel version] linux

    Went into the Dir. cd linux

    make menuconfig

    make

    make bzImage

    make modules

    make modules_install

    cp arch/i386/boot/bzImage /boot/bzImage-2.6.17
    cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.17
    cp System.map /boot/System.map-2.6.17
    ln -s /boot/System.map-2.6.17 /boot/System.map

    mkinitrd -o /boot/initrd-2.6.17.img 2.6.17

    update-grub


    Any suggestions as to what I should do to see the new kernel will be much appreciated.
     
    Last edited: Jun 26, 2006
  13. falko

    falko Super Moderator Howtoforge Staff

    What does your menu.lst look like now?
     
  14. Qrup

    Qrup New Member

    It looks exactly like this:

    # menu.lst - See: grub(8), info grub, update-grub(8)
    # grub-install(8), grub-floppy(8),
    # grub-md5-crypt, /usr/share/doc/grub
    # and /usr/share/doc/grub-doc/.

    ## default num
    # Set the default entry to the entry number NUM. Numbering starts from 0, and
    # the entry number 0 is the default if the command is not used.
    #
    # You can specify 'saved' instead of a number. In this case, the default entry
    # is the entry saved with the command 'savedefault'.
    default 0

    ## timeout sec
    # Set a timeout, in SEC seconds, before automatically booting the default entry
    # (normally the first entry defined).
    timeout 5

    # Pretty colours
    color cyan/blue white/blue

    ## password ['--md5'] passwd
    # If used in the first section of a menu file, disable all interactive editing
    # control (menu entry editor and command-line) and entries protected by the
    # command 'lock'
    # e.g. password topsecret
    # password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
    # password topsecret

    #
    # examples
    #
    # title Windows 95/98/NT/2000
    # root (hd0,0)
    # makeactive
    # chainloader +1
    #
    # title Linux
    # root (hd0,1)
    # kernel /vmlinuz root=/dev/hda2 ro
    #

    #
    # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

    ### BEGIN AUTOMAGIC KERNELS LIST
    ## lines between the AUTOMAGIC KERNELS LIST markers will be modified
    ## by the debian update-grub script except for the default options below

    ## DO NOT UNCOMMENT THEM, Just edit them to your needs

    ## ## Start Default Options ##
    ## default kernel options
    ## default kernel options for automagic boot options
    ## If you want special options for specifiv kernels use kopt_x_y_z
    ## where x.y.z is kernel version. Minor versions can be omitted.
    ## e.g. kopt=root=/dev/hda1 ro
    # kopt=root=/dev/hda1 ro

    ## default grub root device
    ## e.g. groot=(hd0,0)
    # groot=(hd0,0)

    ## should update-grub create alternative automagic boot options
    ## e.g. alternative=true
    ## alternative=false
    # alternative=true

    ## should update-grub lock alternative automagic boot options
    ## e.g. lockalternative=true
    ## lockalternative=false
    # lockalternative=false

    ## altoption boot targets option
    ## multiple altoptions lines are allowed
    ## e.g. altoptions=(extra menu suffix) extra boot options
    ## altoptions=(recovery mode) single
    # altoptions=(recovery mode) single

    ## controls how many kernels should be put into the menu.lst
    ## only counts the first occurence of a kernel, not the
    ## alternative kernel options
    ## e.g. howmany=all
    ## howmany=7
    # howmany=all

    ## should update-grub create memtest86 boot option
    ## e.g. memtest86=true
    ## memtest86=false
    # memtest86=true

    ## ## End Default Options ##

    title Debian GNU/Linux, kernel 2.6.17
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.17 root=/dev/hda1 ro
    initrd /boot/initrd.img-2.6.17
    savedefault
    boot

    title Debian GNU/Linux, kernel 2.6.17 (recovery mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.17 root=/dev/hda1 ro single
    initrd /boot/initrd.img-2.6.17
    savedefault
    boot

    title Debian GNU/Linux, kernel 2.6.8-2-386
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/hda1 ro
    initrd /boot/initrd.img-2.6.8-2-386
    savedefault
    boot

    title Debian GNU/Linux, kernel 2.6.8-2-386 (recovery mode)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/hda1 ro single
    initrd /boot/initrd.img-2.6.8-2-386
    savedefault
    boot

    ### END DEBIAN AUTOMAGIC KERNELS LIST
     
  15. falko

    falko Super Moderator Howtoforge Staff

    Hm, looks ok... :confused:
     
  16. marclar

    marclar New Member

    I tryed to compile new kernel too..

    Everything went fine till this command:
    After an hour of procesing it finished like this:

    I have noo idea what that could mean. I tryed twice, but it's the same..
    I left the kernel config default..
     
    Last edited: Jul 2, 2006
  17. Erik Tromp

    Erik Tromp New Member

    Crappy download

    Crap - it is all crap ;)

    Downloaded the Linux 2.6.11.7 tarball as you indicated. Next step is to unpack it. Here is what happened:

    Code:
    root@DefaultNode:/usr/src# tar -xjf linux-2.6.11.7.tar.bz2
    
    bzip2: Compressed file ends unexpectedly;
            perhaps it is corrupted?  *Possible* reason follows.
    bzip2: Inappropriate ioctl for device
            Input file = (stdin), output file = (stdout)
    
    It is possible that the compressed file(s) have become corrupted.
    You can use the -tvv option to test integrity of such files.
    
    You can use the `bzip2recover' program to attempt to recover
    data from undamaged sections of corrupted files.
    
    tar: Read 1376 bytes from linux-2.6.11.7.tar.bz2
    tar: Unexpected EOF in archive
    tar: Unexpected EOF in archive
    tar: Error is not recoverable: exiting now
    What? The tarball is corrupted??

    I check my file system (enough space), my RAM (enough), my bzip2 version, my common sense... all seemed to be fine (although not so sure about the latter).

    So I made a far fetch and downloaded kernel version 2.6.17.4, which happens to be the most recent one:

    Code:
    root@DefaultNode:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.4.tar.bz2
    --15:02:47--  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.4.tar.bz2
               => `linux-2.6.17.4.tar.bz2'
    Resolving www.kernel.org... 204.152.191.37, 204.152.191.5
    Connecting to www.kernel.org[204.152.191.37]:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 41,273,436 [application/x-bzip2]
    
    100%[============================================================================>] 41,273,436   408.93K/s    ETA 00:00
    
    15:04:27 (407.63 KB/s) - `linux-2.6.17.4.tar.bz2' saved [41273436/41273436]
    
    
    And, guess what:

    Code:
    root@DefaultNode:/usr/src# tar -xjf linux-2.6.17.4.tar.bz2
    root@DefaultNode:/usr/src# ls
    linux-2.6.11.7.tar.bz2  linux-2.6.17.4  linux-2.6.17.4.tar.bz2

    No problem.

    Apparently the Linux 2.6.11.7 tarball from www.kernel.org is corrupted....

    Well, who cares.

    Off-topic: this is the Open Source / Gnu / Linux desease. As soon as you try to use it, guess what... it doesn't work. For no apparent reason whatsoever.
     
  18. falko

    falko Super Moderator Howtoforge Staff

    No, it's fine. I guess something went wrong with your download. Just download it again. :)
     
  19. Erik Tromp

    Erik Tromp New Member

    You're right

    Beats me! I had already downloaded the kernel image, because I had figured out that the download might have failed. That didn't do much good then.

    But this morning, a new and fresh download unzipped and untarred fine!

    So I started the compilation. All wen well until after about 15 minutes:

    ...
    CC [M] drivers/char/drm/drm_sysfs.o
    CC [M] drivers/char/drm/gamma_drv.o
    drivers/char/drm/gamma_drv.c:33:19: gamma.h: No such file or directory
    In file included from drivers/char/drm/gamma_drv.c:37:
    drivers/char/drm/gamma_drv.h:66: error: `DRM' declared as function returning a function
    ...

    However, even if I use the recent 2.6.17.4 kernel, which *did* compile, the following happens after reboot:

    ...
    umount: devfs: not mounted
    mount: unknown filesystem type 'devfs'
    umount: devfs: not mounted
    pivot_root: No such a file or directory
    /sbin/init: 432: cannot open dev/console:No such a file
    Kernel panic - not syncing : Attemped to kill init!

    Anyway, never mind, I think compiling a kernel is just too complicated for a simple person like me.

    Thanks anyway.
     
  20. falko

    falko Super Moderator Howtoforge Staff

    Yes, it took me a whole week until my first kernel worked the way I wanted it... :)
     

Share This Page