raspberrypi / noobs

NOOBS (New Out Of Box Software) - An easy Operating System install manager for the Raspberry Pi

Home Page:http://www.raspberrypi.org/downloads

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Few supported_models strings please (CM3 Lite, CM3+ Lite & Pi 400)

matthuisman opened this issue · comments

These are the strings used for matching NOOBS / PINN compatible OS's (supported_models)

Can anyone confirm Raspberry Pi Compute Module 3 Lite would be Pi Compute Module 3 Lite Rev
And that the Pi 400 is using Pi 4 Model B Rev

"Raspberry Pi 400 Rev 1.0"

i was about to say that no OS's would match that... but "Pi 4" would actually match that 👍
Wait... isn't the matching done on start of string? so Pi 4 wouldn't match to Raspberry Pi 400

Nevermind, I see here:

if (values.contains("supported_models"))

just found there is a CM3+ Lite and CM4 Lite as well.
would that be Raspberry Pi Compute Module 3 Plus Lite Rev...

Might just group the Lites with the non-lites. pretty sure no difference software wise..

I don't have any CM4s, but I think I have a CM3 Lite - if I remember I'll try digging it out tonight and see what /proc/cpuinfo and /proc/device-tree/model says.
However IIRC the "Lite" compute-modules don't actually "know" that they're "Lite" modules, as they just see the (external) SD card attached to exactly the same pins as the (internal) eMMC would be.

Scanning the DTB files for strings yields the following list, but it is not complete (e.g. no Pi 400) as I think the firmware can make some adjustments.

Raspberry Pi Zero W
Raspberry Pi Model B
Raspberry Pi Model B+
Raspberry Pi Model B
Raspberry Pi Compute Module
Raspberry Pi Zero
Raspberry Pi Zero W
Raspberry Pi 2 Model B
Raspberry Pi 2 Model B rev 1.2
Raspberry Pi 3 Model B
Raspberry Pi 3 Model B+
Raspberry Pi Compute Module 3
Raspberry Pi 4 Model B
Raspberry Pi Compute Module 4

Sometimes things have to be deliberately obfuscated before products are launched, for obvious reasons 😉

Ahh! I spent a tedious evening a couple of weeks ago swapping SD cards, HDMI cables, power cables, USB cables, etc. back and forth, and managed to collate this list (forgot to post it earlier). I couldn't find my CM3+, and I don't have a CM4 yet (and I couldn't be bothered to flash the eMMC on a CM1). Details were copied by hand from the HDMI output (i.e. not copy'n'pasted from SSH) so there may be transcription errors.

Revision Model
0x0002 Raspberry Pi Model B Rev 1
0x0008 Raspberry Pi Model A Rev 2
0x000e Raspberry Pi Model B Rev 2
0x0010 Raspberry Pi Model B Plus Rev 1.2
0x0012 Raspberry Pi Model A Plus Rev 1.1
0x0015 Raspberry Pi Model A Plus Rev 1.1
0x900092 Raspberry Pi Zero Rev 1.2
0x9000c1 Raspberry Pi Zero W Rev 1.1
0x9020e0 Raspberry Pi 3 Model A Plus Rev 1.0
0xa02082 Raspberry Pi 3 Model B Rev 1.2
0xa020a0 Raspberry Pi Compute Module 3 Rev 1.0
0xa22042 Raspberry Pi 2 Model B Rev 1.2
0xb03111 Raspberry Pi 4 Model B Rev 1.1
0xc03130 Raspberry Pi 400 Rev 1.0
0xd03114 Raspberry Pi 4 Model B Rev 1.4

EDIT: And the CM3 in that list above was indeed a "Lite" model.

@lurch
Do you have the string for the Pi Zero 2 W?

Raspberry Pi Zero 2 W Rev ?

If so, how can an OS target the origin Zero and Zero W and not the new model?

Raspberry Pi Zero Rev
Raspberry Pi Zero W Rev
Raspberry Pi Zero 2 W Rev

"Pi Zero Rev" would not include the original W
So maybe two entries would be needed?

I don't have a Raspberry Pi Zero 2 W yet, but raspberrypi/linux@84dc624 says "Raspberry Pi Zero 2".

So yeah I guess you'd need multiple entries to signify support for Zero & Zero W but not Zero 2 W 🤷‍♂️

Thank you:)