Okay, so hereβs the output. First I booted it with the rpi3a
image and ran dmesg
to get the output:
Erlang/OTP 26 [erts-14.2.3] [source] [32-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
Interactive Elixir (1.16.2) - press Ctrl+C to exit (type h() ENTER for help)
ββββββ ββββ
ββ ββββββ ββ
ββ ββ ββ ββ N E R V E S
ββ ββββββ ββ
ββββ ββββββ
podbox 0.1.0 (3254317d-d000-5190-75ee-c061980a6157) arm rpi3a
Serial : 1431
Uptime : 4.392 seconds
Clock : 2024-04-25 20:38:54 UTC (unsynchronized)
Temperature : 35.4Β°C
Firmware : Valid (B) Applications : 44 started
Memory usage : 54 MB (17%) Part usage : 0 MB (0%)
Hostname : nerves-1431 Load average : 0.24 0.05 0.02
Nerves CLI help: https://hexdocs.pm/nerves/iex-with-nerves.html
Toolshed imported. Run h(Toolshed) for more info.
iex(1)> dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 6.1.73 (buildroot@buildroot) (armv7-nerves-linux-gnueabihf-gcc (crosstool-NG UNKNOWN) 13.2.0, GNU ld (crosstool-NG UNKNOWN) 2.40) #1 SMP PREEMPT Mon Apr 1 00:53:05 UTC 2024
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi Zero 2 W Rev 1.0
[ 0.000000] random: crng init done
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Reserved memory: created CMA memory pool at 0x0fc00000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x0000000013ffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000013ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000013ffffff]
[ 0.000000] percpu: Embedded 15 pages/cpu s32404 r8192 d20844 u61440
[ 0.000000] pcpu-alloc: s32404 r8192 d20844 u61440 alloc=15*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 81200
[ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 smsc95xx.macaddr=B8:27:EB:12:14:31 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 root=/dev/mmcblk0p2 rootwait console=ttyAMA0,115200 quiet
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] Memory: 245808K/327680K available (7168K kernel code, 880K rwdata, 1260K rodata, 1024K init, 394K bss, 16336K reserved, 65536K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] trace event string verifier disabled
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[ 0.000001] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[ 0.000018] Switching to timer-based delay loop, resolution 52ns
[ 0.000385] Console: colour dummy device 80x30
[ 0.000435] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[ 0.000453] CPU: Testing write buffer coherency: ok
[ 0.000495] pid_max: default: 32768 minimum: 301
[ 0.000749] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.000766] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.001779] cgroup: Disabling memory control group subsystem
[ 0.002262] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002889] cblist_init_generic: Setting adjustable number of callback queues.
[ 0.002897] cblist_init_generic: Setting shift to 2 and lim to 1.
[ 0.003010] Setting up static identity map for 0x100000 - 0x10003c
[ 0.003126] rcu: Hierarchical SRCU implementation.
[ 0.003132] rcu: Max phase no-delay instances is 1000.
[ 0.003583] smp: Bringing up secondary CPUs ...
[ 0.004320] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.005123] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.005837] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.005925] smp: Brought up 1 node, 4 CPUs
[ 0.005937] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[ 0.005947] CPU: All CPU(s) started in HYP mode.
[ 0.005951] CPU: Virtualization extensions available.
[ 0.006560] devtmpfs: initialized
[ 0.018957] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[ 0.019132] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.019157] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.021715] pinctrl core: initialized pinctrl subsystem
[ 0.022679] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.024914] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[ 0.029887] thermal_sys: Registered thermal governor 'step_wise'
[ 0.030185] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.030196] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.030420] Serial: AMBA PL011 UART driver
[ 0.031034] ramoops: uncorrectable error in header
[ 0.031185] ramoops: uncorrectable error in header
[ 0.031332] ramoops: uncorrectable error in header
[ 0.031479] ramoops: uncorrectable error in header
[ 0.031626] ramoops: uncorrectable error in header
[ 0.031778] ramoops: uncorrectable error in header
[ 0.031923] ramoops: uncorrectable error in header
[ 0.032067] ramoops: uncorrectable error in header
[ 0.032303] printk: console [ramoops-1] enabled
[ 0.032503] pstore: Registered ramoops as persistent store backend
[ 0.032513] ramoops: using 0x100000@0xb000000, ecc: 16
[ 0.038664] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[ 0.060042] raspberrypi-firmware soc:firmware: Attached to firmware from 2023-10-17T15:43:26, variant start_x
[ 0.070048] raspberrypi-firmware soc:firmware: Firmware hash is 30f0c5e4d076da3ab4f341d88e7d505760b93ad7
[ 0.095629] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1
[ 0.096924] usb_phy_generic phy: supply vcc not found, using dummy regulator
[ 0.097214] pps_core: LinuxPPS API ver. 1 registered
[ 0.097224] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.097248] PTP clock support registered
[ 0.098661] clocksource: Switched to clocksource arch_sys_counter
[ 0.106757] NET: Registered PF_INET protocol family
[ 0.106970] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.108307] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.108341] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.108414] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.108486] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[ 0.108685] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.108788] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.108823] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.108995] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.109794] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[ 0.110960] Initialise system trusted keyrings
[ 0.111139] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[ 0.120115] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.120594] Key type asymmetric registered
[ 0.120607] Asymmetric key parser 'x509' registered
[ 0.123022] bcm2708_fb soc:fb: FB found 1 display(s)
[ 0.129101] Console: switching to colour frame buffer device 82x26
[ 0.132635] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 656x416
[ 0.135422] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[ 0.136617] bcm2835-rng 3f104000.rng: hwrng registered
[ 0.136890] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[ 0.145454] brd: module loaded
[ 0.149959] loop: module loaded
[ 0.150640] UDC core: g_ether: couldn't find an available UDC
[ 0.150666] i2c_dev: i2c /dev entries driver
[ 0.152194] sdhci: Secure Digital Host Controller Interface driver
[ 0.152205] sdhci: Copyright(c) Pierre Ossman
[ 0.152400] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.153209] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.153392] bcm2835_vchiq 3f00b840.mailbox: there is not valid maps for state default
[ 0.157721] NET: Registered PF_INET6 protocol family
[ 0.158978] Segment Routing with IPv6
[ 0.159019] In-situ OAM (IOAM) with IPv6
[ 0.159132] NET: Registered PF_PACKET protocol family
[ 0.159254] Registering SWP/SWPB emulation handler
[ 0.159404] Loading compiled-in X.509 certificates
[ 0.160020] pstore: Using crash dump compression: deflate
[ 0.164464] 3f215040.serial: ttyS0 at MMIO 0x3f215040 (irq = 86, base_baud = 31250000) is a 16550
[ 0.165387] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[ 0.165653] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[ 0.169309] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
[ 0.169337] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
[ 0.197668] sdhost: log_buf @ e78d2a9a (cfd10000)
[ 0.248558] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[ 0.249123] uart-pl011 3f201000.serial: there is not valid maps for state default
[ 0.250114] uart-pl011 3f201000.serial: cts_event_workaround enabled
[ 0.250227] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 114, base_baud = 0) is a PL011 rev2
[ 0.250690] printk: console [ttyAMA0] enabled
[ 0.251155] of_cfs_init
[ 0.251195] of_cfs_init: OK
[ 0.252023] uart-pl011 3f201000.serial: no DMA platform data
[ 0.252125] Waiting for root device /dev/mmcblk0p2...
[ 0.308287] mmc1: new high speed SDIO card at address 0001
[ 0.312139] mmc0: host does not support reading read-only switch, assuming write-enable
[ 0.316204] mmc0: new high speed SDHC card at address aaaa
[ 0.316845] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[ 0.319344] mmcblk0: p1 p2 p3
[ 0.319917] mmcblk0: mmc0:aaaa SC16G 14.8 GiB (quirks 0x00004000)
[ 0.345023] VFS: Mounted root (squashfs filesystem) readonly on device 179:2.
[ 0.346848] devtmpfs: mounted
[ 0.348633] Freeing unused kernel image (initmem) memory: 1024K
[ 0.379020] Run /sbin/init as init process
[ 0.379032] with arguments:
[ 0.379040] /sbin/init
[ 0.379048] with environment:
[ 0.379055] HOME=/
[ 0.379062] TERM=linux
[ 0.677961] EXT4-fs (mmcblk0p3): recovery complete
[ 0.679677] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Quota mode: disabled.
[ 5.089952] mc: Linux media interface: v0.10
[ 5.112891] videodev: Linux video capture interface: v2.00
[ 5.130724] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.131996] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[ 5.132021] [vc_sm_connected_init]: start
[ 5.132572] [vc_sm_connected_init]: installed successfully
[ 5.133163] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.148556] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.485568] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.491743] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[ 5.491788] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[ 5.494559] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[ 5.494651] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[ 5.498188] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[ 5.498236] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[ 5.501016] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[ 5.501056] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[ 5.503470] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[ 5.503506] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[ 5.508755] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.513109] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[ 5.513415] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[ 5.513674] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[ 5.513833] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[ 5.513852] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[ 5.513865] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[ 5.513875] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[ 5.513885] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[ 5.517913] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[ 5.518958] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[ 5.519273] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[ 5.519468] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[ 5.519492] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[ 5.519505] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[ 5.519515] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[ 5.519524] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[ 5.519644] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[ 5.552104] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.573077] rpi-gpiomem 3f200000.gpiomem: window base 0x3f200000 size 0x00001000
[ 5.573287] rpi-gpiomem 3f200000.gpiomem: initialised 1 regions as /dev/gpiomem
[ 5.654753] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 5.687324] cfg80211: Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba7b54b4961b8b4fadf'
[ 5.689000] cfg80211: Loaded X.509 cert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
[ 5.690588] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 5.692131] cfg80211: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[ 5.724002] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 5.877323] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Jun 14 2023 07:27:45 version 7.45.96.s1 (gf031a129) FWID 01-70bd2af7 es7
[ 5.946004] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[ 6.275044] dwc2 3f980000.usb: supply vusb_d not found, using dummy regulator
[ 6.275198] dwc2 3f980000.usb: supply vusb_a not found, using dummy regulator
[ 6.275320] dwc2 3f980000.usb: Configuration mismatch. dr_mode forced to device
[ 6.378900] dwc2 3f980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[ 6.379276] using random self ethernet address
[ 6.379288] using random host ethernet address
[ 6.379944] usb0: HOST MAC 0e:a4:cb:c5:c4:b8
[ 6.379957] usb0: MAC be:8d:66:55:e1:cf
[ 6.379985] using random self ethernet address
[ 6.379995] using random host ethernet address
[ 6.380063] g_ether gadget.0: Ethernet Gadget, version: Memorial Day 2008
[ 6.380076] g_ether gadget.0: g_ether ready
[ 6.380280] dwc2 3f980000.usb: bound driver g_ether
[ 6.394552] input: raspberrypi-ts as /devices/platform/soc/soc:firmware/soc:firmware:touchscreen/input/input0
[ 14.001643] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Next I powered off, inserted a freshly built rpi0_2
image and tried to boot, but it just keeps looping:
[ 0.447607] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
[nbtty: terminating]
[ 7.401303] watchdog: watchdog0: watchdog did not stop!
[ 8.419464] reboot: Restarting system
[ 0.450784] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
[nbtty: terminating]
[ 7.385337] watchdog: watchdog0: watchdog did not stop!
[ 8.404416] reboot: Restarting system
[ 0.451754] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
[nbtty: terminating]
[ 7.347273] watchdog: watchdog0: watchdog did not stop!
[ 8.362453] reboot: Restarting system
[ 0.450839] EXT4-fs (mmcblk0p3): VFS: Can't find ext4 filesystem
And just for your gratification, hereβs a photo proving that it is indeed a RPi Zero 2. The device underneath is a UPS-Lite V1.2 which contains an I2C connected MAX17040 and a connection to GPIO4.