Hello, I will be teaching a one day class in a few weeks and I am going to have the students do some kernel programming. Since it is only a one day course I need to pack as much info into it as possible so I would like to minimize the build times as much as possible. The modifications that they will be making will be touching core kernel headers so it will have to rebuild almost all of the kernel every time. Because of this I'd like to get a kernel config that can get F14 booting (the minimal install) in KVM with the shortest build time possible. I've gotten the build down to 9 minutes and 55 seconds but I would like it sub 5 minutes. Does anyone have or know of a place where I can find a bare minimum config. I've been working on trimming down the stock F14 kernel but there is so much to go through I'm thinking it might be best to build it up from an allnoconfig instead.
Dave
On 07/01/2011 04:12 AM, Dave Quigley wrote:
Hello, I will be teaching a one day class in a few weeks and I am going to have the students do some kernel programming. Since it is only a one day course I need to pack as much info into it as possible so I would like to minimize the build times as much as possible. The modifications that they will be making will be touching core kernel headers so it will have to rebuild almost all of the kernel every time. Because of this I'd like to get a kernel config that can get F14 booting (the minimal install) in KVM with the shortest build time possible. I've gotten the build down to 9 minutes and 55 seconds but I would like it sub 5 minutes. Does anyone have or know of a place where I can find a bare minimum config. I've been working on trimming down the stock F14 kernel but there is so much to go through I'm thinking it might be best to build it up from an allnoconfig instead.
Dave
When making the kernel use make -j8 (assuming you have 8 cores) that should reduce your time by running 8 parallel processes, in addition, install ccache, that only compiles the code if it has changed or is dependant on some other change, this should result in recompile of only a few mins.
Albert.
On Fri, 01 Jul 2011 16:01:32 +0100, agraham wrote:
On 07/01/2011 04:12 AM, Dave Quigley wrote:
Hello, I will be teaching a one day class in a few weeks and I am going to have the students do some kernel programming. Since it is only a one day course I need to pack as much info into it as possible so I would like to minimize the build times as much as possible. The modifications that they will be making will be touching core kernel headers so it will have to rebuild almost all of the kernel every time. Because of this I'd like to get a kernel config that can get F14 booting (the minimal install) in KVM with the shortest build time possible. I've gotten the build down to 9 minutes and 55 seconds but I would like it sub 5 minutes. Does anyone have or know of a place where I can find a bare minimum config. I've been working on trimming down the stock F14 kernel but there is so much to go through I'm thinking it might be best to build it up from an allnoconfig instead.
Dave
When making the kernel use make -j8 (assuming you have 8 cores) that should reduce your time by running 8 parallel processes, in addition, install ccache, that only compiles the code if it has changed or is dependant on some other change, this should result in recompile of only a few mins.
Albert.
I doubt that people will be allocating 8 cores to a VM. I have 2 cores and 1GB of memory allocated at the moment and use -j3 to compile. The problem is they will be touching security.h which in one way or another is pretty much included by every source file in the Linux kernel so ccache won't be of much help (my normal dev box has ccache installed and it doesn't save me much time). The biggest way to cut down on time seems to be remove all the drivers that I can from being built. I think I have this almost complete. It would be nice if there was a make kvmconfig which gave you the base for an x86 or x86_64 kvm kernel config and then you can turn on whatever else you want filesystem and driver wise for passthrough devices.
Dave
On 07/01/2011 11:49 AM, David Quigley wrote:
On Fri, 01 Jul 2011 16:01:32 +0100, agraham wrote:
On 07/01/2011 04:12 AM, Dave Quigley wrote:
Hello, I will be teaching a one day class in a few weeks and I am going to have the students do some kernel programming. Since it is only a one day course I need to pack as much info into it as possible so I would like to minimize the build times as much as possible. The modifications that they will be making will be touching core kernel headers so it will have to rebuild almost all of the kernel every time. Because of this I'd like to get a kernel config that can get F14 booting (the minimal install) in KVM with the shortest build time possible. I've gotten the build down to 9 minutes and 55 seconds but I would like it sub 5 minutes. Does anyone have or know of a place where I can find a bare minimum config. I've been working on trimming down the stock F14 kernel but there is so much to go through I'm thinking it might be best to build it up from an allnoconfig instead.
Dave
When making the kernel use make -j8 (assuming you have 8 cores) that should reduce your time by running 8 parallel processes, in addition, install ccache, that only compiles the code if it has changed or is dependant on some other change, this should result in recompile of only a few mins.
Albert.
I doubt that people will be allocating 8 cores to a VM. I have 2 cores and 1GB of memory allocated at the moment and use -j3 to compile. The problem is they will be touching security.h which in one way or another is pretty much included by every source file in the Linux kernel so ccache won't be of much help (my normal dev box has ccache installed and it doesn't save me much time). The biggest way to cut down on time seems to be remove all the drivers that I can from being built. I think I have this almost complete. It would be nice if there was a make kvmconfig which gave you the base for an x86 or x86_64 kvm kernel config and then you can turn on whatever else you want filesystem and driver wise for passthrough devices.
Dave
Maybe you could try building allmodconfig, then boot the kernel and lsmod to see what has been loaded. Then disable everything except for those modules.
--Eamon