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 users
mailing list