Robert Pogson

One man, closing all the windows.

Kernel-Building

  • Dec 12 / 2011
  • 0
technology

Kernel-Building

I had an opportunity to build the Linux kernel this weekend, version 3.1.5. I wanted to check size and networking for a thin client. In principle I could take almost any old kernel and put it into my TFTP directory but I thought I would see how the new one worked. It seemed to take an eternity to build the thing so I would go on errands/lunch etc. during the process.

Today, I read that Michael Larabel tested building a kernel in 60s so I thought I would time Beast. While using Beast as my desktop, running Opera and a bunch of others, I did
make mrproper;make defconfig;time make and this is what I got:
real 12m10.352s
user 10m30.771s
sys 1m5.808s

My Beast is quad core Phenom at 2.5gHz. Larabel used an hex core dual threaded Intel chip at 3.9gHz, so I may have been running on a single core… or perhaps an idling CPU does not affect the results at all. I was using 500gB hard drives.

Re-running the process using make mrproper;make defconfig;time make -l 6 -j 6 this is what I got:

real 2m57.877s
user 9m31.880s
sys 0m59.604s

This time I had 4 CPUs at 90% with load average about 5.8 sometimes… Not too bad for a CPU that cost only $150. Beast is AMD Phenom(tm) 9850 Quad-Core Processor , several years old and no longer made… Larabel used a CPU costing $1000. My price/performance at $150/0.333 builds/minute = $450 was better than his at $1000/build/minute by a factor of two. Of course, if you build kernels all day long the advantage is clear but for me building a few kernels per year, Beast will do very well.

BTW, my kernel was cross-compiled as i386 and was stripped of lots of things not needed for the thin client. Size was 1.9MB which helps speed the PXE booting. The kernel built from “defconfig” was 4.8 MB. At 10MB/s, the smaller build shaves 0.3s off the TFTP time.

Leave a comment