When your CPU is 32Bit and you try to boot a 64Bit OS / load a 64Bit program, it will crash/panic/segfault, it won’t boot beyond the grub boot selection screen.

Ben Hutchings (blog) a Debian developer and Linux kernel maintainer, has announced that Debian operating system is now dropping support for OLDER 32-bit hardware architecture.

This decision to drop the support for hybrid i586/i686 and i586 processors from Debian 9.0 was taken last year due to the recent GNU Compiler Collection releases which only focus i686-class processors. It should be noted that Debian 9.0 “Stretch” operating system is currently under heavy development.

In the official announcement, Ben Hutchings said — “gcc for i386 has recently been changed to target 686-class processors and is generating code that will crash on other processors. Any such systems still running testing or unstable will need to be switched to run stable (Jessie).”

src: fossbytes.com

List of 64-bit processors: Intel 64 – Core microarchitecture

src: wikipedia.org

rough overview: Core Duo (80539) = 32Bit, Core 2 (Duo) is a 64-bit processor, supporting Intel 64

there are massive amounts of variations.

“With the release of the Core 2 processor, the abbreviation C2 has come into common use, with its variants C2D (the present Core 2 Duo), and C2Q, C2E to refer to the Core 2 Quad and Core 2 Extreme processors respectively. C2QX stands for the Extreme-Editions of the Quad (QX6700, QX6800, QX6850).

The successors to the Core 2 brand are a set of Nehalem microarchitecture based processors called Core i3, i5, and i7.” (src: wikipedia.org)

“The first Intel mobile processor implementing Intel 64 is the Merom version of the Core 2 processor, which was released on July 27, 2006.

None of Intel’s earlier notebook CPUs (Core Duo, Pentium M, Celeron M, Mobile Pentium 4) implement Intel 64.” (src: wikipedia.org)

Processor 32-bit or 64-bit
Intel Core Duo or Solo 32-bit
Intel Core 2 Duo 64-bit
Any Intel Xeon processor 64-bit
Intel Core i3 64-bit
Intel Core i5 64-bit
Intel Core i7 64-bit

As seen in the above chart all of the most recent Mac computers are 64-bit processors.

is your CPU 32Bit or 64Bit? – watch the “lm” flag

32Bit OS (and even drivers?) can run on 64Bit CPU, but 64Bit OS can only on 64Bit CPU.

on the Linux operating system, access the command line interface and enter the following command:

# or more colorful
grep --color flags /proc/cpuinfo|grep --color lm
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
# Look for lm in the command output.
# If lm is found in the output, then the CPU is 64-bit capable.

If you don’t see lm or see i386, i486, i586, or i686 in the output, then the CPU is 32-bit. Below is an example output of the above line with lm in the information.

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm

src: computerhope.com

  • lm flag means Long mode cpu – 64 bit CPU
  • Real mode 16 bit CPU
  • Protected Mode is 32-bit CPU

not valid method:

# will return 32, when 32Bit OS is running on 64Bit CPU
getconf LONG_BIT

more info about the CPU:

# general info about the CPU (Model current Clock etc.)
cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
stepping	: 1
microcode	: 0x20
cpu MHz		: 1128.473
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
# will even tell one if cpu is vulnerable to sidechannel attacks such as: meltdown and spectre v1 and v2
bugs		: cpu_meltdown spectre_v1 spectre_v2
bogomips	: 4589.57
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

# alternative:
lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Model name:            Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
Stepping:              1
CPU MHz:               1596.535
CPU max MHz:           2600.0000
CPU min MHz:           800.0000
BogoMIPS:              4589.57
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
admin