I am new to kernel development, and I have to compile a kernel with some specific features and then install it on some machines. The problem is that these machines are slow, and hence I want to compile them on a fast desktop once and then install them on the machines. I am following this guide from Ubuntu wiki.

So what I plan to do is, download the source and generate a config file on one of the slow machines, copy both to the faster machine, generate the image on the faster machine and then install it on all the slow machines. The slow machines are almost identical (same cards, processors, OS etc.) but different from the fast machine(different OS and processor). So will this work or not? I googled, but the only relevant results seemed to be years old. (They said it works fine, btw).


Yes, this works, done it a lot in the past. If you need to compile for different architecture (say, you're on an x86 and want to compile for an ARM processor) then you would need a cross-compiler (done that as well). But if both machines are x86/x64 there's no problem.

| improve this answer | |
  • The slow machines are 32-bit x86s, and the desktop is x64. – apoorv020 Feb 10 '11 at 17:24
  • That's no problem. You just need to make sure to select the right processor in make menuconfig. – DarkDust Feb 10 '11 at 17:38

Supply ARCH=i386 everywhere starting from menuconfig. .config generation need not to be done on target machine as well.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.