Pi 400
Chris Hall (132) 3558 posts |
Using a rom with the latest changes, the identical SD card image behaves differently on the Pi 400 than on the Pi 4. EEPROM version on both is the same (22 Oct) but the file ‘bcm-2711-rpi-4-b/dtb’, if present in the FAT partition prevents RISC OS from starting on the Pi 400 but is tolerated or ignored on the Pi 4. (The file concerned is present in the FAT partition on the RasPiOS distro and might therefore be downloaded if the user updated the firmware.) |
Chris Hall (132) 3558 posts |
After a lot of thinking and reading it appears that the default device tree (bcm2711-rpi-4-b/dtb) which is loaded (if present) and passed to the kernel (with any ramfs (a.k.a. CMOS), memory configuration and command line string data substituted) as an alternative to filling memory from 0×100 with ATAG data causes no difficulty on a Pi 4. Device Tree and ATAGs are mutually exclusive, and passing a DT blob to a kernel that doesn’t understand it will cause a boot failure. On a Pi 400 this is what happpens. The firmware will always try to load the DT (if it is present in the FAT partition) and pass it to the kernel. To solve this, add the command ‘device_tree=’ to the conditional part of config.txt that applies to RISC OS. |
Bryan (8467) 468 posts |
That sounds interesting. How do I identify the conditional part of config.txt that applies to RISC OS? |
Chris Hall (132) 3558 posts |
Read the article in Archive 25:2 :) What I did was to put the bit of CONFIG.TXT that applies to RISC OS in a condition like this:
and then put the bit that starts RasPiOS in another conditional (which is only used if the switch between pins 29 and 30 on the header is closed) The file CMDLINE.TXT has the magic incarnation that starts RasPiOS:
and the RasPiOS distro is on a USB pen drive with the UUID given. |
Chris Gransden (337) 1207 posts |
Wouldn’t it be easier to use an inexpensive USB3 hub with individual power switches for each port. Just a case of turning on the power to the device you want to boot from. |
Chris Hall (132) 3558 posts |
I wasn’t aiming for ‘easier’ I was aiming for ‘interesting and difficult’ with no trailing leads. In any case the final plan is to have three partitions on a single SD card – a solution that would work neatly on a Compute Module 4 with eMMC. |
Bryan (8467) 468 posts |
OK Thanks. Not quite what I thought you meant. But, I can see how that works. |