You are not logged in.
As the title
Gnu/Linux User on Arch(x86_64)
Offline
Time. Space.
Offline
yeah...other than that?
Gnu/Linux User on Arch(x86_64)
Offline
As with any kernel compiled for the masses, it may include features that may not be applicable to your computer which may or may not slow it down.
If you want to have a look at what the default settings are, copy the PKGBUILD from ABS to a suitable folder and modify the line that says ' yes "" | make config ' to ' make menuconfig ' . Run makepkg and it should pop up with an ncurses interface that allows you to browse through the settings and make changes.
Offline
The only real con against the arch kernel is its usually the only one people have installed and if it breaks... livecd fun time.
Always good to have a backup kernel (fallback kernel != backup), to go back to, or even fall back to the arch one and use something else as your main kernel.
Other than a small gain in boot speed, you wont notice a difference between a fully compiled in kernel and a stock arch one. I personally use a custom kernel so I can patch it with yummy stuff like BFQ.
Offline
I'm thinking about compiling cos, in these last days, I'm setting up my Arch Box.
Just what I need(at uni I study math): Matlab, R.
I installed Xfce, wich I like for the structure and efficency.
But the great question left is kernel.... to compile or not compile? That's the problem...
Gnu/Linux User on Arch(x86_64)
Offline
In my experience: custom kernel boots faster, but once it is booted there are no real performance benefits.
EDIT: For the record, I *do* use custom kernels on both my desktop and laptop.
Last edited by fwojciec (2008-12-06 22:39:26)
Offline
thanks for your opinion...
Gnu/Linux User on Arch(x86_64)
Offline
Why not compile your own kernel and test it out? I'm doing it myself right now.
Offline
I like using the AMD64 settings rather than Generic x86_64.
Last edited by methuselah (2009-01-13 23:38:53)
Offline
Unless need something really specific that is not set in the generic kernel, I consider compiling custom kernel a waste of time. No real benefits, and takes a lot of time - you need to recompile whenever a new kernel is out.
Offline
you need to recompile whenever a new kernel is out.
no you don't
First I must say that default Arch kernel is really good.
Advantages of custom kernel
- learn more about linux
- limit memory usage on systems with less memory (e.g. after boot to KDE, my system takes 89MB)
- turn on security features you want (and turn off these that you don't like)
- turn on hardware that you have but is not recognized by default kernel
- turn off some not best features: e.g
USB power management (when on it has problems with keeping USB device (e.g. camera) connectivity active for longer time)
IPv6 is still burden
- add some patches that are useful but not yet officially added to kernel
time used for kernel compilation:
read changelog about features added, related to your hardware/OS setup ~5 min
apply to your config (if needed) ~ 0-5 min
save config 0min
compile/install <15 min
install video module ~ 2 min
boot to the new kernel next time
so total time is ~25 min
I don't see drawbacks, only advantages.
Last edited by broch (2008-12-07 19:23:49)
Offline
Unless need something really specific that is not set in the generic kernel, I consider compiling custom kernel a waste of time. No real benefits, and takes a lot of time - you need to recompile whenever a new kernel is out.
Hrmm well I can compile and install a new kernel version faster than it used to take mkinicpio to run so thats not really a valid point. A full compile takes a few minutes but it can run in the background, so again not really a valid point.
The initial setup is definately longer, 5 minutes or so if you know what your doing. But you only have to do that once.
Last edited by shazeal (2008-12-07 19:27:52)
Offline
so total time is ~25 min
I don't see drawbacks, only advantages.
Don't forget recompiling things that need the kernel like nvidia. That's what's been keeping me from trying it out.
Offline
you need to recompile whenever a new kernel is out.
no you don't
First I must say that default Arch kernel is really good.
Advantages of custom kernel
- learn more about linux
- limit memory usage on systems with less memory (e.g. after boot to KDE, my system takes 89MB)
- turn on security features you want (and turn off these that you don't like)
- turn on hardware that you have but is not recognized by default kernel
- turn off some not best features: e.g
USB power management (when on it has problems with keeping USB device (e.g. camera) connectivity active for longer time)
IPv6 is still burden
- add some patches that are useful but not yet officially added to kerneltime used for kernel compilation:
read changelog about features added, related to your hardware/OS setup ~5 min
apply to your config (if needed) ~ 0-5 min
save config 0min
compile/install <15 min
install video module ~ 2 min
boot to the new kernel next timeso total time is ~25 min
I don't see drawbacks, only advantages.
If you write a script that automates things for you, rebuilding a kernel becomes a simple one command thing: in my case all I have to do is issue "kernel_rebuild.sh 2.6.27.8" (for example) and everything, including rebuilding the modules, happens automatically. The whole procedure takes about 10 minutes usually.
Agreed about the memory usage -- my custom kernel definitely uses less memory on boot than the Arch kernel.
Last edited by fwojciec (2008-12-07 19:59:27)
Offline
broch wrote:so total time is ~25 min
I don't see drawbacks, only advantages.Don't forget recompiling things that need the kernel like nvidia. That's what's been keeping me from trying it out.
I mentioned this:
install video module ~ 2 min
You can't shorten compilation time. This is CPU and HDD limited. Not sure how much script will do better than:
make -j4 bzImage && make -j4 modules && make modules_install
on my laptop this takes ~15 min total.
unless I am re-building kernel then time is ~7 min total thanks to ccache
My point was that making custom kernel is useful, whether you have faster computer and it takes 10 min or slower kernel and it takes 20 min, it is not a point.
Offline
broch wrote:so total time is ~25 min
I don't see drawbacks, only advantages.Don't forget recompiling things that need the kernel like nvidia. That's what's been keeping me from trying it out.
It only takes a few minutes for me to install nvidia drivers to any new kernel that I make. I don't use the Arch nvidia driver, I use either the stable or beta driver offered from this page: http://nvnews.net/vbulletin/showthread.php?t=122606
Basically, after building my new parallel kernel I restart/reboot and then log into the new kernel from my edited GRUB list, then of course I will be greeted by my console login prompt. I log into my username, change directory to my downloaded nvidia driver and run this command:
sudo sh NVIDIA-Linux-x86_64-180.06-pkg2.run
Then click yes and ok a few times and it builds my kernel module and also the 32libs, then it finishes in 1 minutes, then "sudo reboot -n" and now my nvidia work for my new kernel.
..... and I always have my stock -ARCH default kernel as a backup that can either use my downloaded nvidia driver or the Arch one.
What took the most time for me was learning which way to use for building a seperate kernel to install along side of my -ARCH default one. Perfecting the PKGBUILD and preset/install scripts took a bit of figuring out.
The actual compile time isn't that long, 15-25 minutes..... maybe even less? I use the "-j3" option for my MAKEFLAGS in /etc/makepkg.conf file.
The "make menuconfig" way can take anywhere from less than 1 minute to an hour..... if you read about every single thing available (which is a good learning experience even if you don't have that hardware or experience).
Last edited by methuselah (2008-12-07 22:13:05)
Offline
If you write a script that automates things for you, rebuilding a kernel becomes a simple one command thing: in my case all I have to do is issue "kernel_rebuild.sh 2.6.27.8" (for example) and everything, including rebuilding the modules, happens automatically. The whole procedure takes about 10 minutes usually.
interesting
Gnu/Linux User on Arch(x86_64)
Offline
I wasn't saying that it's not fun, or that it takes too long. But unless you gain something from it, it's still a waste of time and electricity I admit that you usually gain some knowledge and experience, but real effects on working experience with the computer tend to be negligible (of course there are exceptions).
Offline
Here are my 2 cents:
Pros:
* Extra patches when you need them
* Smaller kernel (disk space)
* learning
* fiddling with features
Cons
* Time consuming when learning, if you already know it, learning is not a pro anymore
* More patches/fiddling can result in more problems
* Gain mostly in disk usage, a bit in boot time, almost zero beyond that... So mostly useless
I do not feel the need to compile my own kernel. Since almost everything is put into modules, memory usage is not a huge issue anyway. It takes time if you are not that interested in the inner workings of the kernel and low level features, time I can use better for other stuff, although I occasionaly try to read a bit about new kernel features.
So, in short: if you are interested, you can compile your own kernel, but without interest, there is no real need to do it in my opinion.
Offline
mm... I'll stay with the arch default... after reading all... thanks all!
Gnu/Linux User on Arch(x86_64)
Offline
mm... I'll stay with the arch default... after reading all... thanks all!
It's really easy to have both the default kernel and a custom kernel. You can build a custom kernel with a bit of research and install it alongside of your default -ARCH kernel.
Check out some of the kernels available in the AUR: http://aur.archlinux.org/packages.php?O … _Search=Go
Offline
I compile my own kernel to:
* Change processor type to Core2 / Newer Xeon which I suppose is better for my Core2Duo
* Remove generic x86 optimizations
* Make ondemand the default powersave governor
And other small tweaks which I believe might give a slightly better performance. I have made no serious research nor benchmarking to actually measure if this improves performance at all. The first time I ran my own kernel I subjectively 'felt' it was really faster, but you could explain that as placebo.
Anyway, the fun part was changing the kernel package to be able to reuse my own config each time and make it build the init images upon package install. It is a quick n'dirty trick not fit to posting to the AUR since it broke a couple of rules, I didn't research into it because it gets the job done: checking out the new kernel version is no hassle at all, just rebuild kernel (takes me 5 - 10 minutes, never measured it) and nvidia drivers (maybe 30 secs)
Another upside is that I have removed the official arch kernel wich sometimes gets updated several times per kernel release, I don't have to be bothered to download those big packages every time just because the new release fixes some bug for someone else.
On the downside, my system could be much less stable or much slower, I haven't measured that nor think that I will; it just feels right the way it is now.
So to sum up: I like it. I get an irrational warm feeling out of recompiling the kernel...
Offline
To whoever said you can't speed up the compile time, true, but don't forget about ccache. At least, then, if you have to re-compile the kernel, then it will take significantly less time next compile (say, from about an hour down to about seven minutes for me).
Last edited by Wintervenom (2008-12-08 01:59:46)
Offline
sudo sh NVIDIA-Linux-x86_64-180.06-pkg2.run
you can make it a little bit faster by running
sudo sh NVIDIA-Linux-x86_64-180.06-pkg2.run -s -N
-s runs quiet
-N does not check network for nvidia updates before installation
if you have nvidia installed already then adding
-K switch will make this step more convenient as it allows off line nvidia module installation and it will keep any other kernel with invidia module installed, so you can switch between kernels without constant driver installation. This is big advantage (for me) over pacman based nvidia installation
To whoever said you can't speed up the compile time, true, but don't forget about ccache. At least, then, if you have to re-compile the kernel, then it will take significantly less time next compile (say, from about an hour down to about seven minutes for me).
first of all I have written
unless I am re-building kernel then time is ~7 min total thanks to ccache
second, ccache will speed up re-compilation, not first time compilation
Offline