Compiling kernel 2.6.7 question.

Discuss anything not covered in another forum (life, the universe etc.)... Please keep it PG-13 and avoid spam.
Post Reply
Avatar Viper
Member
Posts: 29
Joined: Wed Jan 21, 2004 1:21 am
Location: Singapore

Compiling kernel 2.6.7 question.

Post by Avatar Viper »

I am a newbie when comes to compiling linux kernel so I search the net for it, but it came out so many ways:

make menuconfig or xconfig or gconfig
make bzImage
make modules
make modules_install


make menuconfig or xconfig or gconfig
make dep
make
make modules
make modules_install
make bzImage
make install


make menuconfig or xconfig or gconfig
make modules
make modules_install


make mrproper
make menuconfig or xconfig or gconfig
make
make modules_install
make install

and in the kernel readme file:

make menuconfig or xconfig or gconfig
make
make install
make modules_install

So which one is the right one? Do all of them do the same thing?
User avatar
Paft
SG Elite
Posts: 5785
Joined: Tue Feb 20, 2001 12:00 am
Location: Richmond VA

Post by Paft »

ALWAYS do a "make mrproper". Read this link:

http://lfs.osuosl.org/lfs/view/stable/c ... ernel.html
So trade that typical for something colorful, and if it's crazy live a little crazy!
Stu
Regular Member
Posts: 341
Joined: Tue Aug 10, 1999 12:00 am

Post by Stu »

Paft wrote:ALWAYS do a "make mrproper". Read this link:

http://lfs.osuosl.org/lfs/view/stable/c ... ernel.html
Wrong answer! That's the 2.4 way. They rebuilt the build system for the 2.6 kernel. You just need to do:

make menuconfig or xconfig or gconfig or config or oldconfig
make && make modules_install

Then copy your files over to /boot and step up your bootloader (or if you are running lilo you can just do `make install`).
User avatar
Paft
SG Elite
Posts: 5785
Joined: Tue Feb 20, 2001 12:00 am
Location: Richmond VA

Post by Paft »

Stu wrote:Wrong answer! That's the 2.4 way. They rebuilt the build system for the 2.6 kernel. You just need to do:

make menuconfig or xconfig or gconfig or config or oldconfig
make && make modules_install

Then copy your files over to /boot and step up your bootloader (or if you are running lilo you can just do `make install`).
This interests me. Got a link to a Linux-dev thread/site where I can find some verification?

Would love to move to a 2.6.x kernel, just don't seem to have the balls to do it yet. ;) Would be nice if I could see exactly what's required.

And PLEASE tell me we've removed those godforsaken symlinks?
So trade that typical for something colorful, and if it's crazy live a little crazy!
User avatar
stevebakh
Posts: 3228
Joined: Wed Aug 07, 2002 12:00 pm

Post by stevebakh »

You wouldn't regret moving to the 2.6 kernel set... I noticed speed improvements in general and I really like the 2.6 set now.

If you're using lilo, you must remember to run /sbin/lilo after copying the kernel image to the boot dir...
Stu
Regular Member
Posts: 341
Joined: Tue Aug 10, 1999 12:00 am

Post by Stu »

[quote="Paft"]This interests me. Got a link to a Linux-dev thread/site where I can find some verification?

Would love to move to a 2.6.x kernel, just don't seem to have the balls to do it yet. ]

Although it's a little old, you can read the post-halloween document ( http://www.linux.org.uk/~davej/docs/pos ... en-2.6.txt ) that Dave Jones (one of the 2.6 kernel developers) wrote when the 2.6.0-test kernels came out (he kept it current until 2.6.0 was released as stable). It briefly describes new features, quirks, and stuff that is incomplete in the 2.6.0 kernel.

As for moving to 2.6 from 2.4, it's fairly simple (I moved to it around 2.6.0-test8 or 2.6.0-test9, I forget which). Make sure all the software meets the "Current Minimal Requirements" in Documentation/Changes, install module-init-tools ( http://www.kernel.org/pub/linux/kernel/ ... y/modules/ ; they re-did the module loader, and it's backwards compatible--so, you can run 2.4 and 2.6 on the same machine), make a /sys directory (it uses sysfs instead of /proc, but you can compile it to use both), make <the config you prefer>, make && make modules_install, make symlinks from /usr/src/linux-2.6.x to both /usr/src/linux and /usr/src/linux-beta (some software that compiles differently based on whether you are using the 2.4 or 2.6 kernel, like device drivers that aren't part of the kernel tree, use this to figure out if you are running the 2.6 kernel), then install it and configure your bootloader.

Of course, it might not be as straightforward as that depending on your distro. I use Gentoo and it took about 20 mins to switch using the process I described above. If you are running a Red Hat based distro (like Mandrake) you can check out these to links from more relevent info on upgrading to 2.6:

http://thomer.com/linux/migrate-to-2.6.html
http://www.fearthecow.net/index.pl?sect ... age=kernel

As stevebakh said, it is faster. They rewrote a bunch of stuff--like the process scheduler, the I/O scheduler, the block-layer, the IDE subsystem (no need for SCSI emulation with CD/DVD burners anymore), and replaced LinuxThreads with the Native POSIX Threading Library, to name a few of the major things. And the build system is really nice. Not only did they simplify the way you build it, but the re-did all the menus in a logical way--which makes it easier to find things. Also, you don't have to watch all the compiler commands when you make it, it just outputs what it's doing to what file. Something like this:

CC this.c
AS this.s
LD this.o

You'd have a tough time getting me to switch back to the 2.4 kernel after using the 2.6 for a while!
User avatar
Paft
SG Elite
Posts: 5785
Joined: Tue Feb 20, 2001 12:00 am
Location: Richmond VA

Post by Paft »

Stu wrote:make symlinks from /usr/src/linux-2.6.x to both /usr/src/linux and /usr/src/linux-beta
What about the fact that I complied glibc against 2.4.x and if I move the 2.6.x headers in, it might break? Have you experienced any of that?
So trade that typical for something colorful, and if it's crazy live a little crazy!
User avatar
stevebakh
Posts: 3228
Joined: Wed Aug 07, 2002 12:00 pm

Post by stevebakh »

Shouldn't be a problem... Paft. :)

The symlinks are just a really useful feature that do have a good use. If MS were smart, they would implement something like symlinks (shortcuts are completely different).

With the kernel though, I guess you don't need to use symlinks, you could always just plank the source dir for the kernel at /usr/src/linux rather than making a symlink to point there. Your choice though. ;)
Post Reply