38

I would like update Node.js to the latest version and I need to choose between ARMv6 and ARMv7. From the package manager point of view this is an ARMv6 processor and dmesg tells it is

CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7) 

so... probably ARMv7.

Googling, I saw lot of people used ARMv7 without problem. But is it correct?

Greenonline
  • 2,969
  • 5
  • 27
  • 38
jeanmi
  • 483
  • 1
  • 4
  • 5

2 Answers2

36

First: It's ARMv6.

The Zero uses the original BCM2835 SoC used on the first generation of Pi's and all the other single core models, with a ARM1176JZF-S processor (although the Zero models have ones binned as 1000 Mhz instead of 700).

All ARM11 cores use the ARMv6 instruction set architecture. Since those using ARMv7 or 8 are backward compatible with ARMv6, Raspbian has stuck with that. This is also the reason most of the distros used on the multicore models cannot be used on the Zero -- because they are ARMv7.

goldilocks
  • 60,325
  • 17
  • 117
  • 234
13

According to the Wikipedia page, these are the instruction sets used for each Pi model:

  • Armv6-M
    • Raspberry Pi Pico
    • Raspberry Pi Pico W
  • ARMv6Z (32-bit)
    • Raspberry Pi 1 Model A
    • Raspberry Pi 1 Model A+
    • Raspberry Pi 1 Model B
    • Raspberry Pi 1 Model B+
    • Compute Module 1
    • Raspberry Pi Zero PCB v1.2
    • Raspberry Pi Zero PCB v1.3
    • Raspberry Pi Zero W
  • ARMv7-A (32-bit)
    • Raspberry Pi 2 Model B
  • ARMv8-A (64/32-bit)
    • Raspberry Pi 3 Model A+
    • Raspberry Pi 2 Model B v1.2
    • Raspberry Pi 3 Model B
    • Raspberry Pi 3 Model B+
    • Raspberry Pi 4 Model B
    • Compute Module 3
    • Compute Module 3 Lite
    • Compute Module 3+
    • Compute Module 3+ Lite
    • Compute Module 4
    • Compute Module 4 Lite
    • Raspberry Pi Zero 2 W
    • Raspberry Pi 400
  • ARMv8.2-A (64/32-bit)
    • Raspberry Pi 5
Molomby
  • 231
  • 2
  • 4