How to verify the running kernel's architecture?

Rick Stevens rstevens at vitalstream.com
Wed Jan 17 19:04:54 UTC 2007


On Wed, 2007-01-17 at 11:46 -0700, Phil Meyer wrote:
> Rick Stevens wrote:
> > On Wed, 2007-01-17 at 08:38 -0800, Akemi Yagi wrote:
> >   
> >> On Wed, 17 Jan 2007 13:09:09 -0300, Marcelo Magno T. Sales wrote:
> >>
> >>     
> >>> Em Quarta 17 Janeiro 2007 12:48, Akemi Yagi escreveu:
> >>>       
> >>>> On Wed, 17 Jan 2007 12:34:20 -0300, Marcelo Magno T. Sales wrote:
> >>>>         
> >>>>> People,
> >>>>>
> >>>>> How do I know if the kernel I'm running is the i586 or i686 version?
> >>>>>           
> >>>> How about:
> >>>>
> >>>> rpm -qf /boot/vmlinuz-`uname -r`
> >>>>
> >>>> provided you have used rpm to install kernel.
> >>>>         
> >>> Yes, but unfortunately the architecture is not present in the name of the 
> >>> kernel packages :(
> >>> See:
> >>> [marcelo.sales at sf002698 ~]$ rpm -qf /boot/vmlinuz-`uname -r`
> >>> kernel-2.6.18-1.2849.fc6
> >>> [marcelo.sales at sf002698 ~]$ rpm -q kernel
> >>> kernel-2.6.18-1.2798.fc6
> >>> kernel-2.6.18-1.2849.fc6
> >>>       
> >> OK, there was one piece of info missing.  If you want the architecture
> >> etc to appear by default, add the following line to
> >> /etc/rpm/macros.specspo
> >>
> >> %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
> >>     
> >
> > Assuming you installed the kernel via RPM, then you can:
> >
> > 	# grep M586=y /boot/config-(booted-kernel-version)
> >
> > If you get no output, then you've got a 686 kernel installed and
> > running.  From a current machine, let's check the Anaconda-installed
> > kernel...
> >
> > [root at prophead ~]# grep M586=y /boot/config-2.6.18-1.2798.fc6
> > CONFIG_M586=y
> > [root at prophead ~]#
> >
> > So it was a 586 kernel (gee, what a surprise!).  Now, let's check the
> > kernel I booted:
> >
> > [root at prophead ~]# uname -r
> > 2.6.18-1.2869.fc6
> > [root at prophead ~]# grep M586=y /boot/config-`uname -r`
> > [root at prophead ~]# 
> >
> > No output from the grep command, so I'm running a 686 kernel.  To do it
> > the other way:
> >
> > [root at prophead ~]# grep M686=y /boot/config-`uname -r`
> > CONFIG_M686=y
> > [root at prophead ~]# 
> >
> > Which just proves that M686 IS defined and it's a 686 kernel.  Remember,
> > it's not only what you have INSTALLED, rather what you've BOOTED that's
> > important.

> 
> Along these same lines ...
> 
> I have a new test system intended for an embedded application:
> -> cat /proc/cpuinfo
> processor       : 0
> vendor_id       : AuthenticAMD
> cpu family      : 5
> model           : 10
> model name      : Geode(TM) Integrated Processor by AMD PCS
> stepping        : 2
> cpu MHz         : 498.066
> cache size      : 128 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 1
> wp              : yes
> flags           : fpu de pse tsc msr cx8 pge cmov clflush mmx mmxext 
> 3dnowext 3dnow up
> bogomips        : 997.22
> 
> This guy refuses to install an i686 kernel with:
> 
> -bash-3.1# rpm -ivh --replacefiles --replacepkgs kernel-2*.i686.rpm
> Preparing...                ########################################### 
> [100%]
>         package kernel-2.6.18-1.2869.fc6 is intended for a i686 architecture
> 
> 
> Is this CPU really a i586?

Yup.  Well, it's equivalent to an i586 (P-II).

> Is the 'cpu family 5' the identifier used for this consideration?  Or is 
> that a result of booting the i586 kernel?

That's from AMD.  The /proc/cpuinfo is read from the CPU's registers.
The kernel doesn't have any affect on what's read back.

----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
-          Consciousness: that annoying time between naps.           -
----------------------------------------------------------------------




More information about the fedora-list mailing list