Kaushal Shriyan wrote: > >On Thu, Jul 27, 2006 at 04:26:12PM +0530, Kaushal Shriyan wrote: > I have a query on uname > 1)uname -i prints i386 > 2)uname -m prints i686 Matthew Miller replied: > -m, --machine > print the machine hardware name > > -p, --processor > print the processor type > > -i, --hardware-platform > print the hardware platform Kaushal replied: > I know this using man uname > My query is what is "the machine hardware" name and what is "the > hardware platform Try this, then. An i486 was basically compatible with an i386. So is a Celeron, Athlon XP, or Core Duo (when running in 32 bit mode). Apart from a few new instructions on newer chips (which don't get used that much), they all run the same software [1]. >From Linux's point of view, a 286 was radically different -- it didn't *have* a 32 bit mode (or several other things). A "hardware platform", as uname calls it, is simply the family of computers that can run the same software. There just wasn't a good name for the "normal 32-bit Intel compatible family as found in modern PCs" until about six years ago, when Intel came up with the name "IA32". The alternative "x86" also applied to 8086s and 286s, which aren't 32 bit and aren't good enough for Linux [2]. So uname used "i386" to mean "everything compatible with a 386" and "software suitable for running on a 386 in 32 bit mode". The other two options Matthew mentioned talk about your particular machine, and the compatibility level of the processor in it. Calling it an i686 means that it has all the instructions the Pentium Pro had and can run everything the Pentium Pro could. (If Intel hadn't switched naming schemes, the Pentium Pro would have been the Intel i686.) Hope this helps, James. [1] Assuming that the i386 and i486 had FPUs... [2] Ignoring ELKS for the purpose of this email. -- New address: james | _ This apostrophe @aprilcottage.co.uk | /'\ In case of emergency | \_/ Break glass to release | -- "Bruce"