Hi,
-----Original Message----- From: Valdis.Kletnieks@vt.edu [mailto:Valdis.Kletnieks@vt.edu] Sent: Tuesday, September 09, 2014 7:28 AM To: Matthias Brugger Cc: Rajat Jain; linux-newbie@vger.kernel.org; kernelnewbies Subject: Re: x86_64_defconfig and i386_defconfig: What is the difference?
On Tue, 09 Sep 2014 16:06:07 +0200, Matthias Brugger said:
Can someone tell me if the i386 one is to be used when we want to build for a 32bit machine and the x86_64 is to be used for 64 bit machine?
You can build the kernel with any architecture for any architecture. This is called cross-compiling. The homepage [0] should explain you how to do that.
Right, but you still need to use a .config appropriate for the target machine, which is what I think Rajat was asking about.
Right. I'm trying to generate x86 images for someone else to test, who's going to test it on a standard / generic x86 machine: https://lkml.org/lkml/2014/9/9/35 What I was not sure is that which config should I use to generate an image for a "standard x86 machine". Now I do understand (I provided him 2 images - 1 for the 32 bit (using i386_defconfig) and another for 64 bit (using x86_64_defconfig). Thanks, Rajat
A defconfig is usually only known verified to boot on a few (possibly one) examples of that architecture hardware. For embedded ARM, it may be one specific development board or hardware device. For x86, I think they try to keep it "will probably kind of sort of boot on generic PC hardware with a common distro, but anything fancylike a webcam or better graphics than "vga tty emulation" may not work".
A defconfig is pretty much just a proof of concept starting point for an actual working config for a given hardware system.