How to verify the running kernel's architecture?

Phil Meyer pmeyer at themeyerfarm.com
Wed Jan 17 18:46:30 UTC 2007


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.
>
> ----------------------------------------------------------------------
> - Rick Stevens, Senior Systems Engineer     rstevens at vitalstream.com -
> - VitalStream, Inc.                       http://www.vitalstream.com -
> -                                                                    -
> -            The gene pool could use a little chlorine.              -
> ----------------------------------------------------------------------
>
>   

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?

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




More information about the users mailing list