Professional Web Applications Themes

Compiling my first kernel... - Linux Setup, Configuration & Administration

Hello, I am a relative n00b to Linux (4 weeks steady, but been tinkering with various distros for 2 years). I am having some trouble that I can't seem to find a reasonable solution to, and I have decided that compiling a kernel is probably in order. The problem BTW... I had sound in everything using my i810 onboard AC97 chipset on hte OSS driver. But, it would cause a LOT of crashes in Quake 3 as soon as I spawned on a level. ALSA didn't care much for the chip. So I picked up a C-Media8738 based PCI card, ...

  1. #1

    Default Compiling my first kernel...

    Hello, I am a relative n00b to Linux (4 weeks steady, but been tinkering
    with various distros for 2 years). I am having some trouble that I can't
    seem to find a reasonable solution to, and I have decided that compiling
    a kernel is probably in order.

    The problem BTW... I had sound in everything using my i810 onboard AC97
    chipset on hte OSS driver. But, it would cause a LOT of crashes in Quake
    3 as soon as I spawned on a level. ALSA didn't care much for the chip. So
    I picked up a C-Media8738 based PCI card, which sndconfig says isn't
    supported. So I set it up in ALSA and have sound in *everything* except
    Quake 3 and Enemy Territory. But I can't set the card up in OSS, even
    though Mandrake sees the card just fine, so I'm stuck with ALSA and the
    easiest solution I've found thus far is to just recompile my kernel.

    I've been through "make xconfig", "make dep", "make clean". I am now at
    "Read the following file (to gain some knowledge about kernel
    building...)
    "less /usr/src/linux-2.4.21-0.13mdk/arch/i386/config.in"
    and I have become a bit confused!

    Now, the instructions do not say to edit this file, so I assume this is
    just a summary of my kernel modules at this point?


    Jay Guest

  2. #2

    Default Re: Compiling my first kernel...

    On Tue, 21 Oct 2003 13:47:47 +0000, Jay "Boogieman" Edwards <com> wrote: 

    The best way to add or subtract some feature from the kernel is to
    open your old .config (usually found as /boot/config-2....) and
    open it in a text editor.

    Delete any lines that list features you want to change.

    Then put the edited file in your kernel sources directory as the ONLY
    ..config file.

    Run make oldconfig and you will only be offered choices (except for new
    features that weren't available in the old sources) where you have deleted
    the line that said do this, or this wasn't included.

    Then carry on as instructed in the README in the kernel sources.

    --
    Alan C
    Chronic Netiquette violators killfiled for 30 days. That includes PGP sigs.
    Alan Guest

  3. #3

    Default Re: Compiling my first kernel...

    Alan Connor wrote:
     

    I don't agree.
    This may be good advice for an expert.
    But otherwise it is much simpler to "make xconfig" or "make menuconfig".
    Then load an old config file if you have one,
    as a starting point,
    and look carefully at the Sound options, or whatever.

    --
    Timothy Murphy
    e-mail (<80k only): tim /at/ birdsnest.maths.tcd.ie
    tel: +353-86-2336090, +353-1-2842366
    s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland
    Timothy Guest

  4. #4

    Default Re: Compiling my first kernel...

    Jay "Boogieman" Edwards wrote:
     

    out of the box, the config file should support the kernel
    used (well, if you chose a default kernel). 'make xconfig'
    will search for a config file in well-known locations.
    something that i always do before creating a new custom
    kernel is to first run a default build. my sequence of make
    options runs as yours, except that i preceed the steps with
    a 'make mrproper && make oldconfig'. basically, i execute
    make as in the following:

    [bash]# make mrproper && make oldconfig
    [bash]# make menuconfig (or xconfig or config - your choice)
    [bash]# make dep && make bzImage modules modules_install
    [bash]# make install

    to build what i'm calling a default kernel is to ensure that
    i have a good, working kernel built with my toolset. so, at
    the 'make menuconfig' stage, i do nothing - when menuconfig
    comes up on the screen, i immediately 'exit' out, saving the
    current config, then move on to build the kernel/modules and
    install them (as an selectable choice at boot time). i verify
    that everything runs appropriately. if so, i then go back in
    to menuconfig and change any options i need/want, build this
    new kernel and install it as another selectable choice.

    whether you use 'xconfig' or 'menuconfig' or 'config', the
    settings must come from SOMEWHERE, which means that the make
    will search for a 'config' file in well-known locations. to
    start from scratch, you would execute:

    [bash]# make mrproper && make oldconfig

    you may have to answer a question or two (when make oldconfig
    runs). this should give you a clean start.
    ..
    --
    /// Michael J. Tobler: motorcyclist, surfer, skydiver, \\\
    \\\ and author: "Inside Linux", "C++ HowTo", "C++ Unleashed" ///
    The qotc (quote of the con) was Liz's: "My brain is paged out to my liver"

    mjt Guest

  5. #5

    Default Re: Compiling my first kernel...

    On Wed, 22 Oct 2003 11:45:00 +0100, Timothy Murphy <maths.tcd.ie> wrote: 
    >
    > I don't agree.
    > This may be good advice for an expert.
    > But otherwise it is much simpler to "make xconfig" or "make menuconfig".
    > Then load an old config file if you have one,
    > as a starting point,
    > and look carefully at the Sound options, or whatever.
    >[/ref]


    On the contrary, this is a very simple approach, perfect for beginners.
    It may be you are misunderstanding me.

    Say you want to include support for IP_PNP, which, as you can see below
    in my /boot/config-2.4.19 file was not selected when the kernel was
    compiled.

    #
    # Networking options
    #
    CONFIG_PACKET=m
    # CONFIG_PACKET_MMAP is not set
    CONFIG_NETLINK_DEV=m
    CONFIG_NETFILTER=y
    CONFIG_NETFILTER_DEBUG=y
    CONFIG_FILTER=y
    CONFIG_UNIX=m
    CONFIG_INET=y
    CONFIG_IP_MULTICAST=y
    # CONFIG_IP_ADVANCED_ROUTER is not set
    # CONFIG_IP_PNP is not set
    CONFIG_NET_IPIP=m
    CONFIG_NET_IPGRE=m
    # CONFIG_NET_IPGRE_BROADCAST is not set
    # CONFIG_IP_MROUTE is not set
    # CONFIG_INET_ECN is not set
    CONFIG_SYN_COOKIES=y

    All you do is delete the line

    # CONFIG_IP_PNP is not set

    and run make oldconfig

    The new kernel will be compiled with stunning speed, with just a pause
    where make asks you whether you want to include IP_PNP support. You then
    choose whether to compile it as a module or to have it integrated in the
    kernel, and the compilation zooms onwards to conclusion.

    All the necessary information is in kernel_sources/Doentation, particularly
    Configure.help.

    Now just proceed with the directions in the kernel_sources/README and you are
    done, with minimal chances of ing anything up.

    --
    Alan C
    Post validation at http://tinyurl.com/rv0y
    Alan Guest

  6. #6

    Default Re: Compiling my first kernel...


    "Alan Connor" <yyy> wrote in message
    news:_YDlb.1220$news.pas.earthlink.net... 
    <maths.tcd.ie> wrote:

     

    Unfortunately, in many cases, other options are enabled or disabled that you
    may not have been aware of. Turning off "experimental" features, for
    example, may disable dozens of other capabilities you may not have realized
    you need. And does turning off SCSI disable the ide-scsi driver you need for
    writable CD drives? It takes some poking around and testing to find this
    out, and the menuconfig and xconfig tools come with some very nice "help"
    options for examining specific features.


    Nico Guest

  7. #7

    Default Re: Compiling my first kernel...

    On Wed, 22 Oct 2003 23:49:23 -0400, Nico Kadel-Garcia <net> wrote: 
    ><maths.tcd.ie> wrote:
    >

    >
    > Unfortunately, in many cases, other options are enabled or disabled that you
    > may not have been aware of. Turning off "experimental" features, for
    > example, may disable dozens of other capabilities you may not have realized
    > you need.[/ref]

    I did not tell him to randomly remove features he didn't know anything about.

    And I don't think he's stupid enough to do that.

    And you also snipped the part of my post where I refer him to the specific
    doent in the kernel source package that covers those very issues.
     

    No. It takes reading the docs I referred him to.
     

    So what? So does make config and make oldconfig. You type ?

    And if you have any sense at all, you have Config.help open in a pager
    with search tools in another window.
     

    Yes. And that's all covered in kernel_sources/Doentation/Configure.help.

    Which I referred him to.

    --
    Alan C
    Post validation at http://tinyurl.com/rv0y
    Alan Guest

Similar Threads

  1. compiling kernel for an old machine with a new one
    By vittorio in forum Linux Setup, Configuration & Administration
    Replies: 1
    Last Post: September 11th, 09:49 AM
  2. Kernel 2.6.0 compiling problems
    By Marino Fernandez in forum Debian
    Replies: 9
    Last Post: July 21st, 08:30 AM
  3. compiling the kernel with GCC 3.3
    By Raffaele Sandrini in forum Debian
    Replies: 4
    Last Post: July 7th, 05:10 AM
  4. Compiling kernel with patches
    By Christophe Courtois in forum Debian
    Replies: 4
    Last Post: July 5th, 05:20 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139