No RPi Camera v2.1 detected on Nerves Livebook running on RPi Zero 2 W

Hi all,

I’m just getting started with Nerves (and really Elixir for that matter). I’m trying to interface with a Raspberry Pi Camera Module V2.1 from a Raspberry Pi Zero 2 W. I tried just grabbing the Nerves Livebook (0.18.0) from the Nerves Burner tool and running the following command in IEx after SSHing in:

iex(livebook@nerves-1a51.local)1> cmd("libcamera-jpeg --list-cameras")
No cameras available!
0

I did a bit of snooping around this forum and other places and saw that people have had some issues like this, even with the same IMX219 sensor that I’m using (like here). Basically just wondering if I’m doing something obviously wrong here, if there’s a more streamlined fix than what’s outlined in the linked post, or if the solution provided in the post is the best way to enable support for this particular camera module.

Also just to quickly add: I did test grabbing images from the camera from a stock Raspberry Pi OS image, which worked fine, so I presume this is not a hardware issue.

Thanks all for your help.

Hmm.. let’s see. I don’t know top of mind how to check which exact system you are on from what Nerves Burner gives you. If it spits out that info, please share it :slight_smile:

To check if the overlay exists:

ls "/boot/overlays

To check if it has loaded:

lsmod

If not in that list there should be something in the boot log:

dmesg

If you share those it light give a clue :slight_smile:

1 Like

Hi lawik, thanks so much for the response. Here’s some more info about my system:

General system info:

iex(livebook@nerves-1a51.local)1> Nerves.Runtime.KV.get_all()
%{
  "a.nerves_fw_application_part0_devpath" => "/dev/mmcblk0p3",
  "a.nerves_fw_application_part0_fstype" => "ext4",
  "a.nerves_fw_application_part0_target" => "/root",
  "a.nerves_fw_architecture" => "aarch64",
  "a.nerves_fw_author" => "https://github.com/nerves-livebook/nerves_livebook/graphs/contributors",
  "a.nerves_fw_description" => "Develop on embedded devices with Livebook and Nerves",
  "a.nerves_fw_misc" => "",
  "a.nerves_fw_platform" => "rpi0_2",
  "a.nerves_fw_product" => "nerves_livebook",
  "a.nerves_fw_uuid" => "8ad17d23-0ef9-580f-a5c2-5acfdd753f49",
  "a.nerves_fw_validated" => "1",
  "a.nerves_fw_vcs_identifier" => "",
  "a.nerves_fw_version" => "0.18.0",
  "nerves_fw_active" => "a",
  "nerves_fw_devpath" => "/dev/mmcblk0",
  "nerves_serial_number" => "",
  "wifi_force" => "",
  "wifi_passphrase" => "",
  "wifi_ssid" => ""
}

Overlays (by no means an expert, but it seems like seeing imx219.dtbo is a good thing here?):

iex(livebook@nerves-1a51.local)2>   cmd("ls /boot/overlays/")
w1-gpio-pullup.dtbo
vc4-kms-v3d.dtbo
vc4-kms-dsi-ili9881-7inch.dtbo
vc4-kms-dsi-7inch.dtbo
tc358743.dtbo
rpi-ft5406.dtbo
rpi-backlight.dtbo
ramoops.dtbo
overlay_map.dtb
ov5647.dtbo
miniuart-bt.dtbo
imx708.dtbo
imx477.dtbo
imx296.dtbo
imx219.dtbo
i2c-mux.dtbo
dwc2.dtbo
0

lsmod output:

iex(livebook@nerves-1a51.local)3>   cmd("lsmod")
    Tainted: G
snd_soc_hdmi_codec 16384 0 - Live 0xffffcdf4b8fda000
i2c_mux_pinctrl 12288 0 - Live 0xffffcdf4b8fd4000
i2c_mux 12288 1 i2c_mux_pinctrl, Live 0xffffcdf4b8fe7000
vc4 323584 0 - Live 0xffffcdf4b8f83000
snd_soc_core 176128 2 snd_soc_hdmi_codec,vc4, Live 0xffffcdf4b8f5f000
snd_pcm_dmaengine 12288 1 snd_soc_core, Live 0xffffcdf4b8f48000
drm_display_helper 16384 1 vc4, Live 0xffffcdf4b8f3e000
drm_dma_helper 16384 1 vc4, Live 0xffffcdf4b8f58000
drm_kms_helper 126976 2 vc4,drm_dma_helper, Live 0xffffcdf4b8f22000
drm 425984 4 vc4,drm_display_helper,drm_dma_helper,drm_kms_helper, Live 0xffffcdf4b8eb8000
drm_panel_orientation_quirks 12288 1 drm, Live 0xffffcdf4b8eb2000
backlight 16384 2 drm_kms_helper,drm, Live 0xffffcdf4b8e94000
raspberrypi_hwmon 12288 0 - Live 0xffffcdf4b8ea2000
brcmfmac_wcc 12288 0 - Live 0xffffcdf4b8e9c000
dwc2 90112 0 - Live 0xffffcdf4b8e7b000
roles 12288 1 dwc2, Live 0xffffcdf4b8e75000
brcmfmac 237568 1 brcmfmac_wcc, Live 0xffffcdf4b8e2b000
sha256_generic 12288 0 - Live 0xffffcdf4b8e6f000
libsha256 12288 1 sha256_generic, Live 0xffffcdf4b8e69000
cfg80211 671744 1 brcmfmac, Live 0xffffcdf4b8d83000
brcmutil 12288 1 brcmfmac, Live 0xffffcdf4b8d6c000
raspberrypi_gpiomem 12288 0 - Live 0xffffcdf4b8d7d000
bcm2835_isp 24576 0 - Live 0xffffcdf4b8d5f000 (C)
bcm2835_codec 40960 0 - Live 0xffffcdf4b8d6e000 (C)
v4l2_mem2mem 24576 1 bcm2835_codec, Live 0xffffcdf4b8d5b000
videobuf2_dma_contig 16384 2 bcm2835_isp,bcm2835_codec, Live 0xffffcdf4b8d43000
bcm2835_v4l2 40960 0 - Live 0xffffcdf4b8d3d000 (C)
videobuf2_vmalloc 12288 1 bcm2835_v4l2, Live 0xffffcdf4b8d4a000
bcm2835_mmal_vchiq 28672 3 bcm2835_isp,bcm2835_codec,bcm2835_v4l2, Live 0xffffcdf4b8d2d000 (C)
vc_sm_cma 24576 2 bcm2835_isp,bcm2835_mmal_vchiq, Live 0xffffcdf4b8d1c000 (C)
videobuf2_memops 12288 2 videobuf2_dma_contig,videobuf2_vmalloc, Live 0xffffcdf4b8d34000
videobuf2_v4l2 20480 4 bcm2835_isp,bcm2835_codec,v4l2_mem2mem,bcm2835_v4l2, Live 0xffffcdf4b8d25000
videobuf2_common 53248 8 bcm2835_isp,bcm2835_codec,v4l2_mem2mem,videobuf2_dma_contig,bcm2835_v4l2,videobuf2_vmalloc,videobuf2_memops,videobuf2_v4l2, Live 0xffffcdf4b8d14000
videodev 229376 5 bcm2835_isp,bcm2835_codec,v4l2_mem2mem,bcm2835_v4l2,videobuf2_v4l2, Live 0xffffcdf4b8ce3000
mc 40960 6 bcm2835_isp,bcm2835_codec,v4l2_mem2mem,videobuf2_v4l2,videobuf2_common,videodev, Live 0xffffcdf4b8cd6000
snd_bcm2835 24576 0 - Live 0xffffcdf4b8c9c000 (C)
snd_pcm 102400 4 snd_soc_hdmi_codec,snd_soc_core,snd_pcm_dmaengine,snd_bcm2835, Live 0xffffcdf4b8ca2000
snd_timer 32768 1 snd_pcm, Live 0xffffcdf4b8c91000
snd 65536 5 snd_soc_hdmi_codec,snd_soc_core,snd_bcm2835,snd_pcm,snd_timer, Live 0xffffcdf4b8c7e000
0

dmesg output:

iex(livebook@nerves-1a51.local)7>   cmd("dmesg")
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.12.47-v8 (buildroot@buildroot) (aarch64-nerves-linux-gnu-gcc (crosstool-NG UNKNOWN) 13.2.0, GNU ld (crosstool-NG UNKNOWN) 2.40) #1 SMP PREEMPT_RT Thu Dec 11 22:43:20 UTC 2025
[    0.000000] KASLR enabled
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi Zero 2 W Rev 1.0
[    0.000000] Reserved memory: created CMA memory pool at 0x000000000bc00000, size 128 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x000000000bc00000..0x0000000013bfffff (131072 KiB) map reusable linux,cma
[    0.000000] OF: reserved mem: 0x0000000003ff0000..0x0000000003ffffff (64 KiB) map non-reusable ramoops@3ff0000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x0000000013ffffff]
[    0.000000]   DMA32    empty
[    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] On node 0, zone DMA: 16384 pages in unavailable ranges
[    0.000000] percpu: Embedded 28 pages/cpu s75632 r8192 d30864 u114688
[    0.000000] pcpu-alloc: s75632 r8192 d30864 u114688 alloc=28*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0  smsc95xx.macaddr=B8:27:EB:DE:1A:51 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  root=/dev/mmcblk0p2 rootwait console=ttyAMA0,115200 quiet
[    0.000000] cgroup: Disabling memory control group subsystem
[    0.000000] Dentry cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 81920
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.
[    0.000000] rcu:     RCU_SOFTIRQ processing moved to rcuc kthreads.
[    0.000000]  No expedited grace period (rcu_normal_after_boot).
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
[    0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: bcm2836_arm_irqchip_handle_irq
[    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.000190] Console: colour dummy device 80x25
[    0.000242] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=19200)
[    0.000255] pid_max: default: 32768 minimum: 301
[    0.000583] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.000595] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.003086] rcu: Hierarchical SRCU implementation.
[    0.003097] rcu:     Max phase no-delay instances is 400.
[    0.003567] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.004360] smp: Bringing up secondary CPUs ...
[    0.005078] Detected VIPT I-cache on CPU1
[    0.005198] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.005961] Detected VIPT I-cache on CPU2
[    0.006042] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.006931] Detected VIPT I-cache on CPU3
[    0.007007] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.007090] smp: Brought up 1 node, 4 CPUs
[    0.007097] SMP: Total of 4 processors activated.
[    0.007101] CPU: All CPU(s) started at EL2
[    0.007105] CPU features: detected: 32-bit EL0 Support
[    0.007109] CPU features: detected: CRC32 instructions
[    0.007150] alternatives: applying system-wide alternatives
[    0.008243] Memory: 173032K/327680K available (7360K kernel code, 1280K rwdata, 1868K rodata, 1920K init, 385K bss, 20908K reserved, 131072K cma-reserved)
[    0.008748] devtmpfs: initialized
[    0.022089] Enabled cp15_barrier support
[    0.022110] Enabled setend support
[    0.022345] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.022363] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.026936] 2G module region forced by RANDOMIZE_MODULE_REGION_FULL
[    0.026951] 0 pages in range for non-PLT usage
[    0.026957] 521040 pages in range for PLT usage
[    0.027169] pinctrl core: initialized pinctrl subsystem
[    0.028435] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.034867] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.035175] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.035656] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.036149] thermal_sys: Registered thermal governor 'step_wise'
[    0.036230] cpuidle: using governor menu
[    0.036421] ASID allocator initialised with 32768 entries
[    0.036623] Serial: AMBA PL011 UART driver
[    0.037117] ramoops: uncorrectable error in header
[    0.037217] ramoops: uncorrectable error in header
[    0.037326] ramoops: uncorrectable error in header
[    0.037416] pstore: Using crash dump compression: deflate
[    0.037426] printk: legacy console [ramoops-1] enabled
[    0.037859] pstore: Registered ramoops as persistent store backend
[    0.037864] ramoops: using 0x10000@0x3ff0000, ecc: 16
[    0.042310] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[    0.042452] /soc/i2c0mux/i2c@1/imx219@10: Fixed dependency cycle(s) with /soc/csi@7e801000
[    0.043300] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.045317] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[    0.047820] /soc/i2c0mux/i2c@1/imx219@10: Fixed dependency cycle(s) with /soc/csi@7e801000
[    0.049552] raspberrypi-firmware soc:firmware: Attached to firmware from 2025-08-20T17:04:09, variant start
[    0.050501] raspberrypi-firmware soc:firmware: Firmware hash is cd866525580337c0aee4b25880e1f5f9f674fb24
[    0.056100] bcm2835-dma 3f007000.dma-controller: DMA legacy API manager, dmachans=0x1
[    0.058870] pps_core: LinuxPPS API ver. 1 registered
[    0.058882] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.058902] PTP clock support registered
[    0.061267] clocksource: Switched to clocksource arch_sys_counter
[    0.142363] NET: Registered PF_INET protocol family
[    0.142546] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.143320] tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 5120 bytes, linear)
[    0.143343] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.143355] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.143437] TCP bind hash table entries: 2048 (order: 5, 163840 bytes, linear)
[    0.143577] TCP: Hash tables configured (established 2048 bind 2048)
[    0.143751] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[    0.143793] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[    0.144017] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.145423] Initialise system trusted keyrings
[    0.145629] workingset: timestamp_bits=46 max_order=17 bucket_order=0
[    0.146514] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.146760] Key type asymmetric registered
[    0.146767] Asymmetric key parser 'x509' registered
[    0.146877] io scheduler bfq registered
[    0.148543] pinctrl-bcm2835 3f200000.gpio: GPIO_OUT persistence: yes
[    0.153693] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    0.155000] bcm2835-rng 3f104000.rng: hwrng registered
[    0.155324] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    0.166012] brd: module loaded
[    0.171584] loop: module loaded
[    0.172680] UDC core: g_ether: couldn't find an available UDC
[    0.172693] i2c_dev: i2c /dev entries driver
[    0.174211] sdhci: Secure Digital Host Controller Interface driver
[    0.174217] sdhci: Copyright(c) Pierre Ossman
[    0.174601] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.174789] bcm2835_vchiq 3f00b840.mailbox: there is not valid maps for state default
[    0.180208] NET: Registered PF_INET6 protocol family
[    0.181425] Segment Routing with IPv6
[    0.181470] In-situ OAM (IOAM) with IPv6
[    0.181566] NET: Registered PF_PACKET protocol family
[    0.190096] Loading compiled-in X.509 certificates
[    0.208113] 3f215040.serial: ttyS0 at MMIO 0x3f215040 (irq = 71, base_baud = 31250000) is a 16550
[    0.209139] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    0.209474] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    0.214860] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    0.214879] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
[    0.240934] sdhost: log_buf @ 0000000003ffeb56 (c1fcd000)
[    0.290306] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    0.290418] uart-pl011 3f201000.serial: there is not valid maps for state default
[    0.290581] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    0.290960] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 99, base_baud = 0) is a PL011 rev2
[    0.290996] printk: legacy console [ttyAMA0] enabled
[    0.291639] of_cfs_init
[    0.291681] of_cfs_init: OK
[    0.292078] clk: Disabling unused clocks
[    0.292874] PM: genpd: Disabling unused power domains
[    0.293445] Waiting for root device /dev/mmcblk0p2...
[    0.359457] mmc1: new high speed SDIO card at address 0001
[    0.457743] mmc0: host does not support reading read-only switch, assuming write-enable
[    0.462084] mmc0: Host Software Queue enabled
[    0.462095] mmc0: new high speed SDHC card at address aaaa
[    0.462993] mmcblk0: mmc0:aaaa SC32G 29.7 GiB
[    0.465187]  mmcblk0: p1 p2 p3
[    0.465853] mmcblk0: mmc0:aaaa SC32G 29.7 GiB (quirks 0x00004000)
[    0.472349] VFS: Mounted root (squashfs filesystem) readonly on device 179:2.
[    0.474248] devtmpfs: mounted
[    0.476002] Freeing unused kernel memory: 1920K
[    0.476130] Run /sbin/init as init process
[    0.476134]   with arguments:
[    0.476136]     /sbin/init
[    0.476139]   with environment:
[    0.476141]     HOME=/
[    0.476144]     TERM=linux
[    0.687998] EXT4-fs (mmcblk0p3): recovery complete
[    0.692053] EXT4-fs (mmcblk0p3): mounted filesystem 3041e38d-615b-48d4-affb-a7787b5c4c39 r/w with ordered data mode. Quota mode: disabled.
[   24.177751] nerves_heart: nerves_heart 2.5.0
[   24.178039] nerves_heart: kernel watchdog activated. WDT timeout 15s, WDT pet interval 7s, VM timeout 30s, initial grace period 0s
[   26.078900] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[   26.092073] mc: Linux media interface: v0.10
[   26.121001] videodev: Linux video capture interface: v2.00
[   26.149455] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[   26.150703] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[   26.150726] [vc_sm_connected_init]: start
[   26.151489] [vc_sm_connected_init]: installed successfully
[   26.153085] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   26.167933] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[   26.204828] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[   26.213583] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[   26.213633] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[   26.216608] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[   26.216649] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[   26.220482] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[   26.220536] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[   26.223080] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[   26.223116] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[   26.225982] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[   26.226018] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[   26.329127] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[   26.335861] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[   26.336615] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[   26.337032] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[   26.337492] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[   26.337523] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[   26.337555] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[   26.337565] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[   26.337575] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[   26.343451] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[   26.344062] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[   26.344675] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[   26.345093] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[   26.345137] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[   26.345152] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[   26.345161] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[   26.345171] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[   26.345604] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[   26.354114] rpi-gpiomem 3f200000.gpiomem: window base 0x3f200000 size 0x00001000
[   26.355440] rpi-gpiomem 3f200000.gpiomem: initialised 1 regions as /dev/gpiomem
[   26.437122] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   26.477435] Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba7b54b4961b8b4fadf'
[   26.478528] Loaded X.509 cert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
[   26.479520] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   26.480562] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[   26.524736] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430b0-sdio for chip BCM43430/2
[   26.690712] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
[   26.691434] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2 wl0: Mar 31 2022 17:24:51 version 9.88.4.77 (g58bc5cc) FWID 01-3b307371
[   26.933653] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   27.095088] dwc2 3f980000.usb: supply vusb_d not found, using dummy regulator
[   27.095514] dwc2 3f980000.usb: supply vusb_a not found, using dummy regulator
[   27.095801] dwc2 3f980000.usb: Configuration mismatch. dr_mode forced to device
[   27.198841] dwc2 3f980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[   27.200353] g_ether gadget.0: HOST MAC 4e:3f:7f:a3:9f:82
[   27.200374] g_ether gadget.0: MAC ba:47:3e:bf:f8:b7
[   27.200507] g_ether gadget.0: Ethernet Gadget, version: Memorial Day 2008
[   27.200515] g_ether gadget.0: g_ether ready
[   27.200759] dwc2 3f980000.usb: bound driver g_ether
[   27.309266] dwc2 3f980000.usb: new device is high-speed
[   27.398379] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
[   27.418860] i2c i2c-11: Added multiplexed i2c bus 0
[   27.419569] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[   27.419726] /soc/i2c0mux/i2c@1/imx219@10: Fixed dependency cycle(s) with /soc/csi@7e801000
[   27.420073] i2c i2c-11: Added multiplexed i2c bus 10
[   27.427601] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_drm_unregister [vc4])
[   27.593436] dwc2 3f980000.usb: new device is high-speed
[   27.624428] dwc2 3f980000.usb: new address 6
0

Some extra information that may be helpful, output of cmd("ls /dev/video*"):

iex(livebook@nerves-1a51.local)6>   cmd("ls /dev/video*")
/dev/video31
/dev/video23
/dev/video22
/dev/video21
/dev/video20
/dev/video18
/dev/video16
/dev/video15
/dev/video14
/dev/video13
/dev/video12
/dev/video11
/dev/video10
0

config.txt:

iex(livebook@nerves-1a51.local)5>   cmd("cat /boot/config.txt")
# Default Nerves RPi Zero 2 W config.txt
#
# It's possible to override this file by using a custom fwup.conf
# configuration to pull in a replacement.
#
# Useful links:
# http://rpf.io/configtxt
# https://www.raspberrypi.org/documentation/configuration/device-tree.md
# https://github.com/raspberrypi/documentation/blob/master/configuration/device-tree.md
# https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README

# Enable 64-bit support
arm_64bit=1

# We always use the same names. The variant is selected in fwup.conf.
start_file=start.elf
fixup_file=fixup.dat

# Disable the boot rainbow
disable_splash=1

# This, along with the Raspberry Pi "x" firmware is needed for the camera
# to work. The Raspberry Pi "x" firmware is selected via the Buildroot
# configuration. See Target packages->Hardware handling->Firmware.
gpu_mem=192

# Enable I2C and SPI
dtparam=i2c_arm=on
dtparam=spi=on

# Enable audio (loads snd_bcm3825)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver - but don't use default 256MB CMA size
dtoverlay=vc4-kms-v3d,cma-128
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Comment this in or modify to enable OneWire
# NOTE: check that the overlay that you specify is in the boot partition or
#       this won't work.
#dtoverlay=w1-gpio-pullup,gpiopin=4

# Support USB gadget mode on the USB-C port
dtoverlay=dwc2

# The ramoops overlay works with the pstore driver to preserve crash
# information across reboots in DRAM. Base address is 64KB before 64MB.
dtoverlay=ramoops,base-addr=0x3FF0000,console-size=0x4000,record-size=0x4000

# Enable the UART (/dev/ttyAMA0) on the RPi3.
enable_uart=1
dtoverlay=miniuart-bt
# Set the GPU frequency so that the MiniUART (/dev/ttyS0) can be used for
# Bluetooth. This has a small performance impact. See
# https://www.raspberrypi.org/documentation/computers/config_txt.html#overclocking.
core_freq=250
0

Thanks again for your help :slight_smile:

Ugh. It looks like the imx219 driver isn’t loading based on your lsmod. I don’t know how this could be the case, but the usual suspect is that some dependent kernel driver isn’t available in the image. If it’s easy to run Raspberry Pi OS and run dmesg and lsmod, I think that I can infer what’s missing. The other option is to wait until next week when I make a pass on Nerves systems. I’ll look through the cameras I have and see if I can replicate.

Second thing to try if the imx219 driver loads, but you still don’t see a camera is to run libcamera with logging turned on:

cmd("LIBCAMERA_LOG_LEVELS=*:DEBUG libcamera-jpeg –list-cameras")

Hi @fhunleth, thanks for the reply! Here’s the output of dmesg and lsmod from Raspberry Pi OS:

(Going to post dmesg in a follow up post since I’ve exceeded the character count.)

lsmod:

alex@camera-test:~ $ lsmod
Module                  Size  Used by
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
snd_seq                86016  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
rfcomm                 61440  6
cmac                   12288  2
algif_hash             12288  1
aes_arm64              12288  2
aes_generic            32768  1 aes_arm64
algif_skcipher         12288  1
af_alg                 28672  6 algif_hash,algif_skcipher
bnep                   24576  2
binfmt_misc            16384  1
brcmfmac_wcc           12288  0
brcmfmac              372736  1 brcmfmac_wcc
imx219                 20480  0
v4l2_cci               12288  1 imx219
brcmutil               24576  1 brcmfmac
cfg80211             1048576  1 brcmfmac
regmap_i2c             12288  1 v4l2_cci
bcm2835_unicam_legacy    53248  6
bcm2835_codec          49152  0
bcm2835_v4l2           49152  0
bcm2835_isp            28672  10
hci_uart               53248  0
raspberrypi_hwmon      12288  0
bcm2835_mmal_vchiq     36864  3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
v4l2_dv_timings        32768  1 bcm2835_unicam_legacy
btbcm                  24576  1 hci_uart
vc_sm_cma              32768  2 bcm2835_mmal_vchiq,bcm2835_isp
v4l2_mem2mem           45056  1 bcm2835_codec
v4l2_fwnode            20480  5 bcm2835_unicam_legacy,imx219
bluetooth             651264  31 hci_uart,btbcm,bnep,rfcomm
v4l2_async             20480  3 v4l2_fwnode,bcm2835_unicam_legacy,imx219
videobuf2_vmalloc      12288  1 bcm2835_v4l2
videobuf2_dma_contig    20480  3 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_isp
videobuf2_memops       12288  2 videobuf2_vmalloc,videobuf2_dma_contig
videobuf2_v4l2         32768  5 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videodev              323584  21 v4l2_async,bcm2835_codec,v4l2_fwnode,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
ecdh_generic           16384  1 bluetooth
ecc                    40960  1 ecdh_generic
rfkill                 36864  6 bluetooth,cfg80211
libaes                 16384  3 aes_arm64,bluetooth,aes_generic
videobuf2_common       77824  9 bcm2835_codec,bcm2835_unicam_legacy,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,videobuf2_memops,bcm2835_isp
mc                     69632  13 v4l2_async,videodev,bcm2835_codec,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
snd_bcm2835            24576  0
raspberrypi_gpiomem    12288  0
uio_pdrv_genirq        12288  0
uio                    20480  1 uio_pdrv_genirq
sch_fq_codel           24576  2
i2c_dev                16384  0
zram                   40960  1
lz4_compress           24576  1 zram
fuse                  172032  5
nfnetlink              20480  1
ip_tables              32768  0
x_tables               53248  1 ip_tables
ipv6                  598016  54
vc4                   405504  8
snd_soc_hdmi_codec     20480  1
drm_display_helper     24576  1 vc4
cec                    53248  1 vc4
drm_dma_helper         24576  1 vc4
drm_kms_helper        233472  2 drm_dma_helper,vc4
drm                   675840  9 drm_kms_helper,drm_dma_helper,vc4,drm_display_helper
drm_panel_orientation_quirks    28672  1 drm
snd_soc_core          307200  2 vc4,snd_soc_hdmi_codec
snd_compress           20480  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               151552  5 snd_bcm2835,snd_soc_hdmi_codec,snd_compress,snd_soc_core,snd_pcm_dmaengine
snd_timer              36864  3 snd_seq,snd_hrtimer,snd_pcm
snd                   118784  10 snd_seq,snd_seq_device,snd_bcm2835,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
i2c_mux_pinctrl        12288  0
backlight              24576  2 drm_kms_helper,drm
i2c_mux                16384  1 i2c_mux_pinctrl
i2c_bcm2835            16384  1
alex@camera-test:~ $ lsmod | grep bcm2835
bcm2835_unicam_legacy    53248  6
bcm2835_codec          49152  0
bcm2835_v4l2           49152  0
bcm2835_isp            28672  10
bcm2835_mmal_vchiq     36864  3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
v4l2_dv_timings        32768  1 bcm2835_unicam_legacy
vc_sm_cma              32768  2 bcm2835_mmal_vchiq,bcm2835_isp
v4l2_mem2mem           45056  1 bcm2835_codec
v4l2_fwnode            20480  5 bcm2835_unicam_legacy,imx219
v4l2_async             20480  3 v4l2_fwnode,bcm2835_unicam_legacy,imx219
videobuf2_vmalloc      12288  1 bcm2835_v4l2
videobuf2_dma_contig    20480  3 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_isp
videobuf2_v4l2         32768  5 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videodev              323584  21 v4l2_async,bcm2835_codec,v4l2_fwnode,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videobuf2_common       77824  9 bcm2835_codec,bcm2835_unicam_legacy,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,videobuf2_memops,bcm2835_isp
mc                     69632  13 v4l2_async,videodev,bcm2835_codec,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
snd_bcm2835            24576  0
snd_pcm               151552  5 snd_bcm2835,snd_soc_hdmi_codec,snd_compress,snd_soc_core,snd_pcm_dmaengine
snd                   118784  10 snd_seq,snd_seq_device,snd_bcm2835,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
i2c_bcm2835            16384  1
alex@camera-test:~ $ lsmod | grep bcm2835
bcm2835_unicam_legacy    53248  6
bcm2835_codec          49152  0
bcm2835_v4l2           49152  0
bcm2835_isp            28672  10
bcm2835_mmal_vchiq     36864  3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
v4l2_dv_timings        32768  1 bcm2835_unicam_legacy
vc_sm_cma              32768  2 bcm2835_mmal_vchiq,bcm2835_isp
v4l2_mem2mem           45056  1 bcm2835_codec
v4l2_fwnode            20480  5 bcm2835_unicam_legacy,imx219
v4l2_async             20480  3 v4l2_fwnode,bcm2835_unicam_legacy,imx219
videobuf2_vmalloc      12288  1 bcm2835_v4l2
videobuf2_dma_contig    20480  3 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_isp
videobuf2_v4l2         32768  5 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videodev              323584  21 v4l2_async,bcm2835_codec,v4l2_fwnode,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videobuf2_common       77824  9 bcm2835_codec,bcm2835_unicam_legacy,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,videobuf2_memops,bcm2835_isp
mc                     69632  13 v4l2_async,videodev,bcm2835_codec,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
snd_bcm2835            24576  0
snd_pcm               151552  5 snd_bcm2835,snd_soc_hdmi_codec,snd_compress,snd_soc_core,snd_pcm_dmaengine
snd                   118784  10 snd_seq,snd_seq_device,snd_bcm2835,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
i2c_bcm2835            16384  1
alex@camera-test:~ $ lsmod
Module                  Size  Used by
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
snd_seq                86016  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
rfcomm                 61440  6
cmac                   12288  2
algif_hash             12288  1
aes_arm64              12288  2
aes_generic            32768  1 aes_arm64
algif_skcipher         12288  1
af_alg                 28672  6 algif_hash,algif_skcipher
bnep                   24576  2
binfmt_misc            16384  1
brcmfmac_wcc           12288  0
brcmfmac              372736  1 brcmfmac_wcc
imx219                 20480  0
v4l2_cci               12288  1 imx219
brcmutil               24576  1 brcmfmac
cfg80211             1048576  1 brcmfmac
regmap_i2c             12288  1 v4l2_cci
bcm2835_unicam_legacy    53248  6
bcm2835_codec          49152  0
bcm2835_v4l2           49152  0
bcm2835_isp            28672  10
hci_uart               53248  0
raspberrypi_hwmon      12288  0
bcm2835_mmal_vchiq     36864  3 bcm2835_codec,bcm2835_v4l2,bcm2835_isp
v4l2_dv_timings        32768  1 bcm2835_unicam_legacy
btbcm                  24576  1 hci_uart
vc_sm_cma              32768  2 bcm2835_mmal_vchiq,bcm2835_isp
v4l2_mem2mem           45056  1 bcm2835_codec
v4l2_fwnode            20480  5 bcm2835_unicam_legacy,imx219
bluetooth             651264  31 hci_uart,btbcm,bnep,rfcomm
v4l2_async             20480  3 v4l2_fwnode,bcm2835_unicam_legacy,imx219
videobuf2_vmalloc      12288  1 bcm2835_v4l2
videobuf2_dma_contig    20480  3 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_isp
videobuf2_memops       12288  2 videobuf2_vmalloc,videobuf2_dma_contig
videobuf2_v4l2         32768  5 bcm2835_codec,bcm2835_unicam_legacy,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
videodev              323584  21 v4l2_async,bcm2835_codec,v4l2_fwnode,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,bcm2835_isp
ecdh_generic           16384  1 bluetooth
ecc                    40960  1 ecdh_generic
rfkill                 36864  6 bluetooth,cfg80211
libaes                 16384  3 aes_arm64,bluetooth,aes_generic
videobuf2_common       77824  9 bcm2835_codec,bcm2835_unicam_legacy,videobuf2_vmalloc,videobuf2_dma_contig,videobuf2_v4l2,bcm2835_v4l2,v4l2_mem2mem,videobuf2_memops,bcm2835_isp
mc                     69632  13 v4l2_async,videodev,bcm2835_codec,bcm2835_unicam_legacy,imx219,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem,bcm2835_isp
snd_bcm2835            24576  0
raspberrypi_gpiomem    12288  0
uio_pdrv_genirq        12288  0
uio                    20480  1 uio_pdrv_genirq
sch_fq_codel           24576  2
i2c_dev                16384  0
zram                   40960  1
lz4_compress           24576  1 zram
fuse                  172032  5
nfnetlink              20480  1
ip_tables              32768  0
x_tables               53248  1 ip_tables
ipv6                  598016  54
vc4                   405504  8
snd_soc_hdmi_codec     20480  1
drm_display_helper     24576  1 vc4
cec                    53248  1 vc4
drm_dma_helper         24576  1 vc4
drm_kms_helper        233472  2 drm_dma_helper,vc4
drm                   675840  9 drm_kms_helper,drm_dma_helper,vc4,drm_display_helper
drm_panel_orientation_quirks    28672  1 drm
snd_soc_core          307200  2 vc4,snd_soc_hdmi_codec
snd_compress           20480  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               151552  5 snd_bcm2835,snd_soc_hdmi_codec,snd_compress,snd_soc_core,snd_pcm_dmaengine
snd_timer              36864  3 snd_seq,snd_hrtimer,snd_pcm
snd                   118784  10 snd_seq,snd_seq_device,snd_bcm2835,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
i2c_mux_pinctrl        12288  0
backlight              24576  2 drm_kms_helper,drm
i2c_mux                16384  1 i2c_mux_pinctrl
i2c_bcm2835            16384  1

Weirdly, I did not get any extra info with the more verbose logging:

iex(1)> cmd("modprobe imx219")
0
iex(2)> cmd("LIBCAMERA_LOG_LEVELS=*:DEBUG libcamera-jpeg --list-cameras")
No cameras available!
0

Also, I was able to “fix” this issue (I don’t know if this fix is the right way to do it, but I figured I would include the details here in case it proves to be helpful). I cloned the nerves_system_rpi0_2 repo and made the following change to linux-6.12.defconfig.

-CONFIG_VIDEO_BCM2835_UNICAM=m
+CONFIG_VIDEO_BCM2835_UNICAM_LEGACY=m

I made a new nerves app just with mix nerves.new hello_nerves, and then I pointed to my local copy of nerves_system_rpi0_2 and compiled the firmware from there.
After this I still had to load the unicam driver manually (cmd("modprobe bcm2835_unicam"), but after that I was able to see the camera show up and take pictures. Again, totally unsure of how helpful this is, just thought I’d mention it in case it is useful.

dmesg output on Raspberry Pi OS:

alex@camera-test:~ $ dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.12.47+rpt-rpi-v8 (serge@raspberrypi.com) (aarch64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16)
[    0.000000] KASLR enabled
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi Zero 2 W Rev 1.0
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x000000000a800000, size 256 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x000000000a800000..0x000000001a7fffff (262144 KiB) map reusable linux,cma
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] NODE_DATA(0) allocated [mem 0x1a97d480-0x1a98017f]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] On node 0, zone DMA: 16384 pages in unavailable ranges
[    0.000000] percpu: Embedded 33 pages/cpu s95256 r8192 d31720 u135168
[    0.000000] pcpu-alloc: s95256 r8192 d31720 u135168 alloc=33*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 cgroup_disable=memory snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0  smsc95xx.macaddr=B8:27:EB:DE:1A:51 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  console=ttyS0,115200 console=tty1 root=PARTUUID=444bf06b-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=US
[    0.000000] cgroup: Disabling memory control group subsystem
[    0.000000] Unknown kernel command line parameters "splash", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.000000] Fallback order for Node 0: 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 114688
[    0.000000] Policy zone: DMA
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 45279 entries in 177 pages
[    0.000000] ftrace: allocated 177 pages with 4 groups
[    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]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] RCU Tasks Rude: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: bcm2836_arm_irqchip_handle_irq
[    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.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000259] Console: colour dummy device 80x25
[    0.000273] printk: legacy console [tty1] enabled
[    0.000398] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=76800)
[    0.000415] pid_max: default: 32768 minimum: 301
[    0.000477] LSM: initializing lsm=capability
[    0.000648] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.000663] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.003082] rcu: Hierarchical SRCU implementation.
[    0.003102] rcu:     Max phase no-delay instances is 1000.
[    0.003345] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.004571] EFI services will not be available.
[    0.004839] smp: Bringing up secondary CPUs ...
[    0.005431] Detected VIPT I-cache on CPU1
[    0.005544] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.006445] Detected VIPT I-cache on CPU2
[    0.006529] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.007261] Detected VIPT I-cache on CPU3
[    0.007339] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.007566] smp: Brought up 1 node, 4 CPUs
[    0.007584] SMP: Total of 4 processors activated.
[    0.007590] CPU: All CPU(s) started at EL2
[    0.007605] CPU features: detected: 32-bit EL0 Support
[    0.007611] CPU features: detected: 32-bit EL1 Support
[    0.007618] CPU features: detected: CRC32 instructions
[    0.007669] alternatives: applying system-wide alternatives
[    0.009278] Memory: 135348K/458752K available (14336K kernel code, 2406K rwdata, 4824K rodata, 2048K init, 577K bss, 56620K reserved, 262144K cma-reserved)
[    0.009720] devtmpfs: initialized
[    0.018417] Enabled cp15_barrier support
[    0.018445] Enabled setend support
[    0.018611] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.018632] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.029093] 2G module region forced by RANDOMIZE_MODULE_REGION_FULL
[    0.029116] 0 pages in range for non-PLT usage
[    0.029125] 518176 pages in range for PLT usage
[    0.029352] pinctrl core: initialized pinctrl subsystem
[    0.029948] DMI not present or invalid.
[    0.032474] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.036826] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.037120] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.037544] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.037607] audit: initializing netlink subsys (disabled)
[    0.037860] audit: type=2000 audit(0.036:1): state=initialized audit_enabled=0 res=1
[    0.038409] thermal_sys: Registered thermal governor 'step_wise'
[    0.038451] cpuidle: using governor menu
[    0.038678] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.038789] ASID allocator initialised with 32768 entries
[    0.039485] Serial: AMBA PL011 UART driver
[    0.043532] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[    0.043640] /soc/i2c0mux/i2c@1/imx219@10: Fixed dependency cycle(s) with /soc/csi@7e801000
[    0.044284] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.045736] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[    0.047623] /soc/i2c0mux/i2c@1/imx219@10: Fixed dependency cycle(s) with /soc/csi@7e801000
[    0.052889] raspberrypi-firmware soc:firmware: Attached to firmware from 2025-08-20T17:04:09, variant start
[    0.056878] raspberrypi-firmware soc:firmware: Firmware hash is cd866525580337c0aee4b25880e1f5f9f674fb24
[    0.068909] bcm2835-dma 3f007000.dma-controller: DMA legacy API manager, dmachans=0x1
[    0.069904] iommu: Default domain type: Translated
[    0.069914] iommu: DMA domain TLB invalidation policy: strict mode
[    0.071238] SCSI subsystem initialized
[    0.071446] usbcore: registered new interface driver usbfs
[    0.071488] usbcore: registered new interface driver hub
[    0.071535] usbcore: registered new device driver usb
[    0.071910] pps_core: LinuxPPS API ver. 1 registered
[    0.071918] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.071937] PTP clock support registered
[    0.073145] vgaarb: loaded
[    0.073617] clocksource: Switched to clocksource arch_sys_counter
[    0.074272] VFS: Disk quotas dquot_6.6.0
[    0.074300] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.080937] NET: Registered PF_INET protocol family
[    0.081079] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.082028] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.082053] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.082068] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.082097] TCP bind hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.082168] TCP: Hash tables configured (established 2048 bind 2048)
[    0.082349] MPTCP token hash table entries: 256 (order: 0, 6144 bytes, linear)
[    0.082391] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.082415] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.082553] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.082989] RPC: Registered named UNIX socket transport module.
[    0.082998] RPC: Registered udp transport module.
[    0.083004] RPC: Registered tcp transport module.
[    0.083009] RPC: Registered tcp-with-tls transport module.
[    0.083014] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.083029] PCI: CLS 0 bytes, default 64
[    0.083530] Trying to unpack rootfs image as initramfs...
[    0.094801] kvm [1]: nv: 554 coarse grained trap handlers
[    0.095388] kvm [1]: IPA Size Limit: 40 bits
[    0.096794] kvm [1]: Hyp nVHE mode initialized successfully
[    0.920639] Freeing initrd memory: 21952K
[    1.128251] Initialise system trusted keyrings
[    1.128591] workingset: timestamp_bits=42 max_order=17 bucket_order=0
[    1.129344] NFS: Registering the id_resolver key type
[    1.129371] Key type id_resolver registered
[    1.129377] Key type id_legacy registered
[    1.129396] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.129405] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.130036] Key type asymmetric registered
[    1.130046] Asymmetric key parser 'x509' registered
[    1.130112] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    1.130282] io scheduler mq-deadline registered
[    1.130291] io scheduler kyber registered
[    1.130318] io scheduler bfq registered
[    1.132203] pinctrl-bcm2835 3f200000.gpio: GPIO_OUT persistence: yes
[    1.134647] ledtrig-cpu: registered to indicate activity on CPUs
[    1.136565] simple-framebuffer 1eaa9000.framebuffer: framebuffer at 0x1eaa9000, 0x151800 bytes
[    1.136601] simple-framebuffer 1eaa9000.framebuffer: format=a8r8g8b8, mode=720x480x32, linelength=2880
[    1.137257] Console: switching to colour frame buffer device 90x30
[    1.139798] simple-framebuffer 1eaa9000.framebuffer: fb0: simplefb registered!
[    1.143039] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    1.145339] bcm2835-rng 3f104000.rng: hwrng registered
[    1.145756] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.155471] brd: module loaded
[    1.160740] loop: module loaded
[    1.161359] Loading iSCSI transport class v2.0-870.
[    1.165065] usbcore: registered new interface driver lan78xx
[    1.165124] usbcore: registered new interface driver smsc95xx
[    1.165329] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.893333] Core Release: 2.80a
[    1.893348] Setting default values for core params
[    1.893367] Finished setting default values for core params
[    2.093583] Using Buffer DMA mode
[    2.093589] Periodic Transfer Interrupt Enhancement - disabled
[    2.093595] Multiprocessor Interrupt Enhancement - disabled
[    2.093601] OTG VER PARAM: 0, OTG VER FLAG: 0
[    2.093620] Dedicated Tx FIFOs mode
[    2.095514] INFO:: FIQ DMA bounce buffers: virt = ffffffc080ccb000 dma = 0x00000000cac00000 len=9024
[    2.095544] FIQ FSM acceleration enabled for :
               Non-periodic Split Transactions
               Periodic Split Transactions
               High-Speed Isochronous Endpoints
               Interrupt/Control Split Transaction hack enabled
[    2.095555] dwc_otg: Microframe scheduler enabled
[    2.095596] INFO:: MPHI regs_base at ffffffc08006d000
[    2.095651] dwc_otg 3f980000.usb: DWC OTG Controller
[    2.095682] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    2.095713] dwc_otg 3f980000.usb: irq 74, io mem 0x00000000
[    2.095759] Init: Port Power? op_state=1
[    2.095765] Init: Power Port (0)
[    2.095935] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.12
[    2.095948] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.095958] usb usb1: Product: DWC OTG Controller
[    2.095966] usb usb1: Manufacturer: Linux 6.12.47+rpt-rpi-v8 dwc_otg_hcd
[    2.095975] usb usb1: SerialNumber: 3f980000.usb
[    2.096505] hub 1-0:1.0: USB hub found
[    2.096539] hub 1-0:1.0: 1 port detected
[    2.096997] dwc_otg: FIQ enabled
[    2.097004] dwc_otg: NAK holdoff enabled
[    2.097009] dwc_otg: FIQ split-transaction FSM enabled
[    2.097019] Module dwc_common_port init
[    2.098075] usbcore: registered new interface driver uas
[    2.098150] usbcore: registered new interface driver usb-storage
[    2.098792] mousedev: PS/2 mouse device common for all mice
[    2.100617] sdhci: Secure Digital Host Controller Interface driver
[    2.100628] sdhci: Copyright(c) Pierre Ossman
[    2.100812] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.101106] hid: raw HID events driver (C) Jiri Kosina
[    2.101224] usbcore: registered new interface driver usbhid
[    2.101231] usbhid: USB HID core driver
[    2.101340] bcm2835_vchiq 3f00b840.mailbox: there is not valid maps for state default
[    2.105964] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
[    2.107178] NET: Registered PF_PACKET protocol family
[    2.107275] Key type dns_resolver registered
[    2.130343] registered taskstats version 1
[    2.130547] Loading compiled-in X.509 certificates
[    2.139708] Demotion targets for Node 0: null
[    2.140448] Key type .fscrypt registered
[    2.140458] Key type fscrypt-provisioning registered
[    2.148442] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    2.148823] 3f201000.serial: ttyAMA1 at MMIO 0x3f201000 (irq = 99, base_baud = 0) is a PL011 rev2
[    2.149038] serial serial0: tty port ttyAMA1 registered
[    2.150419] bcm2835-aux-uart 3f215040.serial: there is not valid maps for state default
[    2.150776] printk: legacy console [ttyS0] disabled
[    2.151212] 3f215040.serial: ttyS0 at MMIO 0x3f215040 (irq = 71, base_baud = 50000000) is a 16550
[    2.151264] printk: legacy console [ttyS0] enabled
[    2.152359] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    2.153024] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    2.154176] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    2.154193] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
[    2.179091] of_cfs_init
[    2.180481] of_cfs_init: OK
[    2.180684] clk: Disabling unused clocks
[    2.181087] PM: genpd: Disabling unused power domains
[    2.252761] sdhost-bcm2835 3f202000.mmc: loaded - DMA enabled (>1)
[    2.258104] Freeing unused kernel memory: 2048K
[    2.258267] Run /init as init process
[    2.258275]   with arguments:
[    2.258280]     /init
[    2.258285]     splash
[    2.258291]   with environment:
[    2.258296]     HOME=/
[    2.258301]     TERM=linux
[    2.290313] mmc1: new high speed SDIO card at address 0001
[    2.343439] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.346094] mmc0: new high speed SDXC card at address 59b4
[    2.347007] mmcblk0: mmc0:59b4 SD128 119 GiB
[    2.349902]  mmcblk0: p1 p2
[    2.350426] mmcblk0: mmc0:59b4 SD128 119 GiB (quirks 0x00004000)
[    2.850925] i2c i2c-11: Added multiplexed i2c bus 0
[    2.851199] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx219@10
[    2.851321] /soc/i2c0mux/i2c@1/imx219@10: Fixed dependency cycle(s) with /soc/csi@7e801000
[    2.851588] i2c i2c-11: Added multiplexed i2c bus 10
[    3.122757] Console: switching to colour dummy device 80x25
[    3.125969] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
[    3.127328] Registered IR keymap rc-cec
[    3.127505] rc rc0: vc4-hdmi as /devices/platform/soc/3f902000.hdmi/rc/rc0
[    3.127721] input: vc4-hdmi as /devices/platform/soc/3f902000.hdmi/rc/rc0/input0
[    3.133598] input: vc4-hdmi HDMI Jack as /devices/platform/soc/3f902000.hdmi/sound/card0/input1
[    3.135043] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops [vc4])
[    3.135413] vc4-drm soc:gpu: bound 3f004000.txp (ops vc4_txp_ops [vc4])
[    3.135656] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    3.135862] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    3.136073] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops vc4_crtc_ops [vc4])
[    3.136248] vc4-drm soc:gpu: bound 3fc00000.v3d (ops vc4_v3d_ops [vc4])
[    3.140348] [drm] Initialized vc4 0.0.0 for soc:gpu on minor 0
[    3.140812] vc4-drm soc:gpu: [drm] Cannot find any crtc or sizes
[    3.141798] vc4-drm soc:gpu: [drm] Cannot find any crtc or sizes
[    4.773159] EXT4-fs (mmcblk0p2): orphan cleanup on readonly fs
[    4.775373] EXT4-fs (mmcblk0p2): mounted filesystem d6944274-f2f7-4644-96a4-213c3b367f5c ro with ordered data mode. Quota mode: none.
[    5.651465] systemd[1]: System time advanced to timestamp on /var/lib/systemd/timesync/clock: Wed 2026-02-04 18:12:53 EST
[    5.852536] NET: Registered PF_INET6 protocol family
[    5.853718] Segment Routing with IPv6
[    5.853769] In-situ OAM (IOAM) with IPv6
[    5.982165] systemd[1]: systemd 257.9-1~deb13u1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON -UTMP +SYSVINIT +LIBARCHIVE)
[    5.982204] systemd[1]: Detected architecture arm64.
[    5.994895] systemd[1]: Hostname set to <camera-test>.
[    6.461969] systemd[1]: bpf-restrict-fs: BPF LSM hook not enabled in the kernel, BPF LSM not supported.
[    6.462527] systemd[1]: Using hardware watchdog 'Broadcom BCM2835 Watchdog timer', version 0, device /dev/watchdog0
[    6.462565] systemd[1]: Watchdog running with a hardware timeout of 1min.
[    6.727761] zram_generator::config[215]: zram0: system has too much memory (416MB), limit is 0MB, ignoring.
[    8.666926] systemd[1]: Queued start job for default target graphical.target.
[    8.730823] systemd[1]: Created slice system-getty.slice - Slice /system/getty.
[    8.732852] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe.
[    8.734669] systemd[1]: Created slice system-rpi\x2dsetup\x2dloop.slice - Slice /system/rpi-setup-loop.
[    8.736361] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty.
[    8.738122] systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck.
[    8.739850] systemd[1]: Created slice system-systemd\x2dzram\x2dsetup.slice - Slice /system/systemd-zram-setup.
[    8.740602] systemd[1]: Created slice user.slice - User and Session Slice.
[    8.740937] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[    8.741811] systemd[1]: Set up automount proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point.
[    8.741947] systemd[1]: Expecting device dev-disk-by\x2dpartuuid-444bf06b\x2d01.device - /dev/disk/by-partuuid/444bf06b-01...
[    8.742004] systemd[1]: Expecting device dev-dri-card0.device - /dev/dri/card0...
[    8.742066] systemd[1]: Expecting device dev-dri-renderD128.device - /dev/dri/renderD128...
[    8.742113] systemd[1]: Expecting device dev-ttyS0.device - /dev/ttyS0...
[    8.742161] systemd[1]: Expecting device dev-zram0.device - /dev/zram0...
[    8.742429] systemd[1]: Reached target nss-user-lookup.target - User and Group Name Lookups.
[    8.742588] systemd[1]: Reached target slices.target - Slice Units.
[    8.784116] systemd[1]: Listening on rpcbind.socket - RPCbind Server Activation Socket.
[    8.790155] systemd[1]: Listening on systemd-creds.socket - Credential Encryption/Decryption.
[    8.790640] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[    8.791047] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[    8.791490] systemd[1]: Listening on systemd-journald.socket - Journal Sockets.
[    8.791682] systemd[1]: systemd-pcrextend.socket - TPM PCR Measurements was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    8.791784] systemd[1]: systemd-pcrlock.socket - Make TPM PCR Policy was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    8.792159] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
[    8.792442] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[    8.793048] systemd[1]: dev-hugepages.mount - Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[    8.797727] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System...
[    8.801446] systemd[1]: Mounting run-lock.mount - Legacy Locks Directory /run/lock...
[    8.805775] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System...
[    8.810813] systemd[1]: Mounting sys-kernel-tracing.mount - Kernel Trace File System...
[    8.811358] systemd[1]: auth-rpcgss-module.service - Kernel Module supporting RPCSEC_GSS was skipped because of an unmet condition check (ConditionPathExists=/etc/krb5.keytab).
[    8.826834] systemd[1]: Starting keyboard-setup.service - Set the console keyboard layout...
[    8.838664] systemd[1]: Starting kmod-static-nodes.service - Create List of Static Device Nodes...
[    8.878297] systemd[1]: Starting modprobe@configfs.service - Load Kernel Module configfs...
[    8.883682] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
[    8.898779] systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore...
[    8.906668] systemd[1]: Starting modprobe@fuse.service - Load Kernel Module fuse...
[    8.907530] systemd[1]: systemd-fsck-root.service - File System Check on Root Device was skipped because of an unmet condition check (ConditionPathExists=!/run/initramfs/fsck-root).
[    8.907778] systemd[1]: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[    8.934448] systemd[1]: Starting systemd-journald.service - Journal Service...
[    8.955207] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
[    8.955429] systemd[1]: systemd-pcrmachine.service - TPM PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    8.967166] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
[    8.967547] systemd[1]: systemd-tpm2-setup-early.service - Early TPM SRK Setup was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    8.986897] systemd[1]: Starting systemd-udev-load-credentials.service - Load udev Rules from Credentials...
[    8.998847] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[    9.037849] fuse: init (API version 7.41)
[    9.044630] systemd[1]: Mounted dev-mqueue.mount - POSIX Message Queue File System.
[    9.045320] systemd[1]: Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[    9.048051] systemd[1]: Mounted sys-kernel-debug.mount - Kernel Debug File System.
[    9.048851] systemd[1]: Mounted sys-kernel-tracing.mount - Kernel Trace File System.
[    9.050837] systemd[1]: Finished kmod-static-nodes.service - Create List of Static Device Nodes.
[    9.053291] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[    9.058001] systemd[1]: Finished modprobe@configfs.service - Load Kernel Module configfs.
[    9.059911] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    9.060823] systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm.
[    9.062470] systemd[1]: modprobe@efi_pstore.service: Deactivated successfully.
[    9.066010] systemd[1]: Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[    9.067923] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[    9.069062] systemd[1]: Finished modprobe@fuse.service - Load Kernel Module fuse.
[    9.082291] systemd[1]: Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
[    9.095257] systemd[1]: Mounting sys-kernel-config.mount - Kernel Configuration File System...
[    9.115801] zram: Added device: zram0
[    9.127148] systemd[1]: Starting systemd-tmpfiles-setup-dev-early.service - Create Static Device Nodes in /dev gracefully...
[    9.153469] i2c_dev: i2c /dev entries driver
[    9.172443] systemd[1]: Finished systemd-modules-load.service - Load Kernel Modules.
[    9.175614] systemd-journald[298]: Collecting audit messages is disabled.
[    9.207089] EXT4-fs (mmcblk0p2): re-mounted d6944274-f2f7-4644-96a4-213c3b367f5c r/w.
[    9.218292] systemd[1]: Starting systemd-sysctl.service - Apply Kernel Variables...
[    9.245913] systemd[1]: Finished systemd-remount-fs.service - Remount Root and Kernel File Systems.
[    9.254448] systemd[1]: Finished systemd-udev-load-credentials.service - Load udev Rules from Credentials.
[    9.266159] systemd[1]: Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[    9.266971] systemd[1]: Mounted sys-kernel-config.mount - Kernel Configuration File System.
[    9.288635] systemd[1]: Starting cloud-init-main.service - Cloud-init: Single Process...
[    9.288790] systemd[1]: regenerate_ssh_host_keys.service - Regenerate SSH host keys was skipped because of an unmet condition check (ConditionFirstBoot=yes).
[    9.298559] systemd[1]: Starting rpi-resize-swap-file.service - rpi-resize-var-swap-service - resize swapfile...
[    9.303566] systemd[1]: systemd-hwdb-update.service - Rebuild Hardware Database was skipped because of an unmet condition check (ConditionNeedsUpdate=/etc).
[    9.303864] systemd[1]: systemd-pstore.service - Platform Persistent Storage Archival was skipped because of an unmet condition check (ConditionDirectoryNotEmpty=/sys/fs/pstore).
[    9.345205] systemd[1]: Starting systemd-random-seed.service - Load/Save OS Random Seed...
[    9.345354] systemd[1]: systemd-tpm2-setup.service - TPM SRK Setup was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    9.347565] systemd[1]: Started systemd-journald.service - Journal Service.
[    9.653401] systemd-journald[298]: Received client request to flush runtime journal.
[   10.161227] loop0: detected capacity change from 0 to 851968
[   10.552803] zram: setup backing device /dev/disk/by-backingfile/var-swap
[   10.564822] zram0: detected capacity change from 0 to 851968
[   10.982397] Adding 425980k swap on /dev/zram0.  Priority:100 extents:1 across:425980k SS
[   11.470836] rpi-gpiomem 3f200000.gpiomem: window base 0x3f200000 size 0x00001000
[   11.472567] rpi-gpiomem 3f200000.gpiomem: initialised 1 regions as /dev/gpiomem
[   11.480498] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[   11.529547] mc: Linux media interface: v0.10
[   11.637120] videodev: Linux video capture interface: v2.00
[   11.741693] Bluetooth: Core ver 2.22
[   11.741827] NET: Registered PF_BLUETOOTH protocol family
[   11.741835] Bluetooth: HCI device and connection manager initialized
[   11.741860] Bluetooth: HCI socket layer initialized
[   11.741873] Bluetooth: L2CAP socket layer initialized
[   11.741895] Bluetooth: SCO socket layer initialized
[   11.748926] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[   11.750448] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[   11.750477] [vc_sm_connected_init]: start
[   11.751216] [vc_sm_connected_init]: installed successfully
[   11.765363] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   11.786557] Bluetooth: HCI UART driver ver 2.3
[   11.786592] Bluetooth: HCI UART protocol H4 registered
[   11.786716] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   11.787143] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator
[   11.787353] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator
[   11.787489] Bluetooth: HCI UART protocol Broadcom registered
[   11.802558] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[   11.807305] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[   11.807847] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[   11.808191] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[   11.808463] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[   11.808493] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[   11.808511] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[   11.808525] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[   11.808537] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[   11.811679] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[   11.812196] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[   11.812555] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[   11.812833] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[   11.812862] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[   11.812878] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[   11.812890] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[   11.812901] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[   11.813091] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[   11.818443] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[   11.822153] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[   11.831322] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[   11.831378] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[   11.834550] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[   11.834631] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[   11.839204] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[   11.839251] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[   11.842519] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[   11.842568] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[   11.848083] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[   11.848149] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[   11.978984] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   12.007019] Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba7b54b4961b8b4fadf'
[   12.007922] Loaded X.509 cert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
[   12.008803] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   12.015315] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[   12.138502] Bluetooth: hci0: BCM: chip id 115
[   12.138888] Bluetooth: hci0: BCM: features 0x0e
[   12.141859] Bluetooth: hci0: BCM43430B0
[   12.141887] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0000
[   12.165085] Bluetooth: hci0: BCM43430B0 'brcm/BCM43430B0.raspberrypi,model-zero-2-w.hcd' Patch
[   12.329329] brcmfmac: F1 signature read @0x18000000=0x1542a9a6
[   12.339777] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430b0-sdio for chip BCM43430/2
[   12.340397] usbcore: registered new interface driver brcmfmac
[   12.593328] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
[   12.594380] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/2 wl0: Mar 31 2022 17:24:51 version 9.88.4.77 (g58bc5cc) FWID 01-3b307371
[   12.846450] Bluetooth: hci0: BCM: features 0x0e
[   12.849307] Bluetooth: hci0: BCM4343B0 37.4MHz wlbga_iLNA_iTR [Baseline: 0092]
[   12.849339] Bluetooth: hci0: BCM43430B0 (002.001.012) build 0092
[   18.364230] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   18.364255] Bluetooth: BNEP filters: protocol multicast
[   18.364277] Bluetooth: BNEP socket layer initialized
[   18.379593] Bluetooth: MGMT ver 1.23
[   18.406758] NET: Registered PF_ALG protocol family
[   18.936158] Bluetooth: RFCOMM TTY layer initialized
[   18.936208] Bluetooth: RFCOMM socket layer initialized
[   18.936243] Bluetooth: RFCOMM ver 1.11
[   33.056455] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
1 Like

This is super helpful! This has happened a couple times where a Linux kernel has diverged from userland for Raspberry Pi camera support. There are updates to the libcamera library and libcamera-jpegthat we don’t have in Nerves. I can’t tell from the commit messages that it will allow us to not need the legacy driver, but we can try. Hopefully it will make things “just work” since it’s not ideal to have to run modprobe manually.

I’ll post PR links when I have them. Thanks for finding this. Hopefully this is the only issue!

1 Like

Awesome, glad it ended up being helpful!