Calling for Smaller Kernel Sources? 69
FrozedSolid asks: "I can understand that the kernel contains many drivers and support for a lot of platforms, but the fact that the full kernel download can amount to 32mb doesn't make it any easier to download with a 56k modem. Kernel patches are nice, but obviously only apply when you have access to an entire kernel tree beforehand. Is there a way you can download a leaner linux kernel source? Is there a place that carries sources for x86 only or possibly sources without some of the less popular drivers?"
Actually, (Score:5, Interesting)
If you haven't gotten cable, and you're using Linux, the distros themselves are at a magnitude greater in size; I doubt that kernel sources are the real problem.
Re:Actually, (Score:1)
although, i do agree with your point. 32 megs isn't that much. I've downloaded 100+ MB files on a 56k with little discomfort...(well, there was the instance when my ISP tried to over charge me for making use of thier no time restrictions plan...)
While you sleep is a wonderful time to download.
Re:Actually, (Score:4, Funny)
What sane person would ask such a thing.
Re:Actually, (Score:2, Funny)
Have a nice day.
Re:Actually, (Score:2)
Re:Actually, (Score:3, Interesting)
I'm in a University residence, where we're allowed 500MB / week...This alone can get eaten up pretty quickly when you're downloading updates to software...Or, for example a DSL provider around here charges over 5GB/month. Now in these examples 10-20 megs won't make or break you, but it does point out that these things can matter.
This is nothing (Score:3, Interesting)
Back in the day when the now-unpopular "web accelerators" were getting big, I always brushed them off as used by network abusers who didn't know what they were doing. Now this abuse has been legitimized.
The people who are going to be the real losers in all this are the techies, the ones who tend to have several browser windows loading at once, or a n ssh connection, or a server running. Up until now, they've been somewhat subsidized by the fact that ISPs can charge cheap prices because the other 98% of users only use their line 10% of the time. Now that everyone's lines are going to be under continuous load...goodbye Quake.
The entire idea of single window browsing is simply awful. It places extremely tight constraints on bandwidth and latency. When the user clicks a link, they want the new page there, now, and damn anything that has to be done to get it there. If you work with several windows downloading at once, so that you're reading one while another is coming in, you never run into this problem, since even a modem is easily enough to comfortably handle web browsing of nearly any site...as long as you're not waiting around staring at a progress bar while the image loads. Prefetching simply feeds this flawed single-window user-behavior model.
For once, a Microsoft program (IE) is actually less of a network abuser than its competitors. Awful.
Re:This is nothing (Score:2, Informative)
Re:This is nothing (Score:3, Informative)
Of course, they ideally ought to implement blacklist blocking for prefetching so people could exclude sites which use it in ways which affect network traffic adversely enough to be a worry, but my guess is that people won't start abusing it until IE does it as well.
I had the same feeling of shock when I first heard about it a week ago- until I read the FAQ. Remember- any large project like this is unlikely to make highly visible stupid decisions. You linked to the FAQ; please read it.
True (Score:2)
You've got a web designer who can "improve his user experience" by marking everything as prefetchable -- what do you think is going to happen?
And the overwhelming majority of web designers these days use GUI tools. After word gets out that websites designed with tool "foo" are snappier (because it uses prefetch by default), and it becomes a selling point...
After all, what web designer wants to believe that people won't delve deeper into his site, and hit those pages *anyway*?
Re:This is nothing (Score:2)
Re:Actually, (Score:1)
That's why I'm glad Phoenix came out for Mozilla. I don't need a web browser for email / news / irc / horoscopes / making Belgium waffles. The source is a little less then the main product, and it's all that I would need in the first place.
The one advantage I do have is the accessibility of a co-lo linux box, which I can download to there, then rsync to my home machine. Unfortunately not everyone has this option available. I've noticed the huge size of the linux source tree, and I'm hoping they would start to consider modularizing the source build, similiar to how Xemacs did with their packages.
Re:Actually, (Score:1)
Re:Actually, (Score:1)
For what the kernel does, its worth every byte.
Re:Actually, (Score:1)
Part already answered (Score:4, Informative)
I don't know of any sites, but let me say a few things. First, your distro probably has a binary package with almost everything either compiled in or a module. Barring that, when I used to be stuck on dialup, I'd get the most recent kernel and then download the patch each time. It was a pain in the butt, but not as bad as downloading the full sources each time.
RSYNC!!! (Score:5, Informative)
It was devised to combat just the problem you cite.
rsync://rsync.kernel.org/pub/[wherever you want to go]
Thank you, TRIDGE!
The catch with rsync (Score:2)
Re:The catch with rsync (Score:3, Informative)
Re:The catch with rsync (Score:1)
Re:The catch with rsync (Score:2)
get an autodownloader (Score:1, Informative)
Re:get an autodownloader (Score:1)
Fresh Download website [freshdevices.com]
Re:get an autodownloader (Score:2)
1. buy and install some W32 OS
2. buy and install DAP
3. download the Linux kernel sources
4. reboot and compile
I am aware of vmware, wine,
I personally do not like 4a
Re:get an autodownloader (Score:1)
Free software is not just about zealotry anymore.
Re:get an autodownloader (Score:1)
wget -c http://kernel.org/pub/linux/kernel/v2.4/linux-2.4. 19.tar.gz
Poof -- no Windows required.
Gentoo could do it better (Score:1)
Online make menuconfig (Score:4, Interesting)
The benefit is less bandwidth wasted for people downloading 35 megs of source to recompile a 900K kernel image. The disadvantage is processor time required, well, how many Athlons do you have to buy to serve the same number of kernels per day, and how does it compare to bandwidth costs?
Yes, *I* would like to have the sources to myself, I have a few source files I need to tweak to get my machine working properly. But many people just have the burned CD from the friend of a friend, and would appreciate a recent kernel without a mammoth download.
Maybe someone's already doing this, I don't know.
Re:Online make menuconfig (Score:5, Interesting)
It really shouldn't be too hard. I've been staring at your post thinking for a bit, and the best way to do it that I can think of is to read in the config template file from the kernel source tree (have several selectable versions) and generate a huge page full of radio-select buttons. Once that is submitted, an MD5 hash is applied to the generated config file. If it matches an existing package (unlikely at best), simply serve that up. Otherwise, make a new build tree named "builds/$VERSION/$MDSUM" and copy the config file into it. Build the kernel, tar.gz the resulting modules and kernel image, and email the links to the person.
This would require quite a bit of CPU horsepower, but it would make for a nice, small kernel download and a sort of set-and-forget build. Set the options and press the button on your lunch break, and have the link sitting in your inbox when you get home (unless it's slashdotted, in which case I'll come home to a hole melted in my floor where a server and accompanying cable modem used to be).
Re:Online make menuconfig (Score:2)
Re:Online make menuconfig (Score:1)
Be careful. You'll rile up the GPL pedants.
Besides which, you would be AMAZED at how many kernals some DOS adventurer can request in a matter of a few seconds.
Re:Online make menuconfig (Score:2)
Re:Online make menuconfig (Score:1)
Re:Online make menuconfig (Score:1)
remember the configuration the user entered, to make it possible for him to automatically get the next kernel version.
send reminders whenever a new version is available (you could also send the kernel to him, but I don't think that's a good idea.
Of course, CPU utilization will be your biggest problem (especially if this becomes successful).
Re:Online make menuconfig (Score:2)
Wow, that pie sure is way up there.
But, imagine a huge network of computers all compiling your kernel...in a few seconds. You could even have redundancy and checksums to guard against the security concerns some are having about this idea.
Again, 6000% more work, but interesting nonetheless.
Re: Online make menuconfig (Score:1)
There are a couple of projects to support this kind of task, sometimes called "grid", "distributed" or "meta-" computing, such as Globus (http://www.globus.org/), Legion (http://legion.virginia.edu/), Globe (http://www.cs.vu.nl/~steen/globe) and many others, a web search for distributed or grid computing or processing should turn up a bunch.
Another solution is just to redirect the webpage to a random or idle mirror using a DNS random/round robin thing or just serving the home page from a CGI which links to the mirror.
If you start a project, please post a link to your web page or mailing list, I would be interested in helping.
reed
Re:Online make menuconfig (Score:1)
Re:Online make menuconfig (Score:2)
Hmm...yes....
Well, I have a kernel for you to run. Just send me your config, and I'll send you a bzImage. Problem solved!
All that's missing is the web server part, but I can fix that once a few people start using my kernels :)
Re:Online make menuconfig (Score:2)
--
While building kernels as a service... (Score:2)
It's a good idea, but how do I *trust* that webserver that just compiled a new kernel for me? I trust kernels from the disto, kernels I build, and maybe a few other places, but that's about it.
Re:While building kernels as a service... (Score:2)
If a trusted entity set up a service like this, I see no reason it would be more vulnerable to abuse than a source distribution. Unless you always check all the kernel source before you compile it, there is a possiblity of compromise either way.
Since the kernel's track record on this is pretty good, I'd say would be possible to do this without too much risk. I mean, how many of you have used one of those one-floppy-wonder images? Is there any way to be sure a trojan isn't installed in that kernel?
Re:While building kernels as a service... (Score:1)
Anyone who puts up a kernel compiler should also have a way to show trustworthiness. Perhaps one aspect would be to invite inspection by the (much needed) paranoid fringe.
Re:Online make menuconfig (Score:1)
And of course, this would be much easier if we just made a linux kernel conf [xs4all.nl] frontend for this.
Re:Online make menuconfig (Score:1)
reed
Re:Online make menuconfig (Score:1)
Re:Online make menuconfig (Score:1)
Seek bandwidth elsewhere. (Score:5, Insightful)
Re:Seek bandwidth elsewhere. (Score:2)
Distro's SRPMs + Incremental patches (Score:2, Informative)
Granted, this doesn't answer your question, but it may ease the download times a bit..
Well... (Score:2)
I don't think making a smaller kernel tree just for those people who unecessarily wants to be bleeding edge, don't like CD distributions, don't like downloading patches, won't or can't have broadband at home, and doesn't have access to broadband at a friends place, library, workplace, school or anywhere else is worth the trouble. But if you feel otherwise, just go ahead and make it.
use bitkeeper and you can update only the diffs (Score:2)
Just an FYI for people getting into kernel stuff with RedHat-ish systems:
Getting Linux via bitkeeper.
Also don't forget.
-
- make install doesn't work with grub, so you have to do your thing manually now
- recommended compiler is gcc-2.9.5.3 [for 2.4 and 2.5 now], I always have extra compilers ready to go just in case. Make sure all the tools are the proper version, and that you have a recent ksymoops (if you need to do any messing around looking for problems ), modutils - etc.
If the build fails, find the offending code and remove from selection, or try to hack it if you need it.
I would like to also mention cvsup and FreeBSD. I like cvsup quite a bit and its free and open. I only wish the linux kernel was using the same method FreeBSD does. I like FreeBSD for its coherency speed and ease of maintenance, and that the kernel is released with a system for a very smooth ride. If you havent tried FreeBSD, please try it.
rsync is also very good. use it. I would also like to promote the purchasing of very cheap CDroms to get your started, and FreeBSD CD is great because you can use CVSUP to diff the whole thing with minimal bandwidth abuse.
Use the patches (Score:2, Informative)
use the patches for incremental upgrades
problem solved
Downloadable Kernel (Score:2)
Checking the posts, I see someone mentioned a solution similar to what I am thinking about, but for binary kernel downloads. Whilst nice, I think few people actually trust a binary they didn't build themselves.
I've been wondering why kernel.org didn't create a download configurator somewhat like the one that existed for djgpp in the delorie days.
The poster is right in a sense, there are a multitude of drivers in the kernel that a large percentage of people will never use, but which are still invaluable for the people who do. So why not allow a custom download somewhat like make menuconfig. Select the packages you *could* end up building, download them, and then build your kernel on the local machine.
Given that I have absolutely zero knowledge about the kernel source, it's highly likely that I am overlooking something rather basic... is there something I am missing?
Re:Downloadable Kernel (Score:1)
Well, uncompressed source for 2.4.19 is about 160 megs. Having the source for the entire 2.4 series this way would be in the area of 3 gigs. Since people still use 2.2 and 2.0, we should also allow for configuring these. Disk space considerations, for one, would be a pain. (I'm leaving out 2.5 since I think anyone would accept tha argument that if you can't compile it, you shouldn't be running it :3 )
Also, someone would have to write some sort of script that could parse all the kernel config files in the source tree, which wouldn't necessarily be difficult, but it would be a pain to do unless you really wanted this feature. Other than that, I think hpa would have a fit if you suggested that a lot of users should be running a bunch of CML1 parsers, tar, and gzip processes on master.kernel.org, since it's been a somewhat problematic machine in previous incarnations ... and since the mirrors likely wouldn't pick up on it, everyone would end up doing it on the main site. ^^;
Modular Kernel Sources? (Score:2, Insightful)
Re:Modular Kernel Sources? (Score:1)
As the kernel maintainers say every single time this comes up if someone want to come out with a sane system to do this and package kernels using it, go ahead. No one's stopping you.
How about a (shudder) MS-Like installer? (Score:2, Insightful)
I think 'make depend' may kill it tho... unless that information can somehow be downloaded ahead of time also.
- RR
ability to download certain sources (Score:1)