/dev/i2c-* gid set to root at boot, gpio after boot

I’m trying to access the I2C bus in a script at boot (on Bookworm with a 6.6 kernel), but I’m getting a permission denied error. When I run the same script after I finish booting it works fine. In my script, I ran ls -l /dev/i2c-* before accessing the I2C bus and it output:

crw------- 1 root root 89, 0 Mar  5 23:40 /dev/i2c-0
crw------- 1 root root 89, 2 Mar  5 23:40 /dev/i2c-2

After finished booting, I ran ls -l /dev/i2c-* and it output:

crw-rw---- 1 root gpio 89, 0 Mar  5 23:40 /dev/i2c-0
crw-rw---- 1 root gpio 89, 2 Mar  5 23:41 /dev/i2c-2

It seems that at some point during the boot process, the gpio group starts being allowed to use the i2c bus. What’s the best way to address this? I used to be able to add this to the service and it worked out fine (on Buster with 4.19 kernel):

[Unit]
After=generic-board-startup.service

What should I be doing differently on Bookworm?

This seems to do the trick, but I wonder if there’s a less brute force method. I added this to my script before using the I2C bus:

output=$(ls -l /dev/i2c-2 | grep "gpio")
while [ -z "$output" ]; do
    sleep 1
    output=$(ls -l /dev/i2c-2 | grep "gpio")
done

There should be an i2c udev, rule present in the file system, wonder why it didn’t kick in?

Should look like https://openbeagle.org/beagleboard/repos-armhf/-/blob/master/bb-customizations/suite/bookworm/debian/80-i2c-noroot.rules?ref_type=heads

Might be worth it to run.

udevadm test $(udevadm info --query=path --name=i2c-0)

On both to see if something changed

Hi John,

Based on your previous posts, I’m guessing we’re still talking about Beaglebone Black, right?

Might I suggest that you tag your questions with the board variant?
Makes it so much easier for people to help you…

Are you using an official image or is this some kind of “homebrew” version?

Yes, I’m use a Beaglebone Black.

I have my own modifications to an official image. It’s very similar to image-builder/configs/bb.org-debian-bookworm-minimal-v6.1-ti-armhf-am335x.conf at master · beagleboard/image-builder · GitHub with other dependencies installed as well as a realtime 6.6 kernel (6.6.77-bone-rt-r23).

These are the outputs from udevadm test $(udevadm info --query=path --name=i2c-0) on different images:

I got this from this minimal bookworm image (linked here):

This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk === 
tool version:          252
file size:        12064506 bytes
header size             80 bytes
strings            2534898 bytes
nodes              9529528 bytes
Loading kernel module index.
Failed to read $container of PID 1, ignoring: Permission denied
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v252'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/80-iwd.link"
Parsed configuration file "/usr/lib/systemd/network/73-usb-net-by-mac.link"
Created link configuration context.
Reading rules file: /etc/udev/rules.d/10-of-symlink.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-i2c-tools.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /etc/udev/rules.d/61-smsc95xx-mac-address.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-zoned.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /etc/udev/rules.d/80-gpio-noroot.rules
Reading rules file: /etc/udev/rules.d/80-i2c-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /etc/udev/rules.d/81-add-SoftAp0-interface.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /etc/udev/rules.d/81-pwm-noroot.rules
Reading rules file: /etc/udev/rules.d/82-SoftAp0-start-hostpad.rules
Reading rules file: /etc/udev/rules.d/82-gpio-config-pin.rules
Reading rules file: /etc/udev/rules.d/83-counter-noroot.rules
Reading rules file: /etc/udev/rules.d/85-gpio-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules
Reading rules file: /etc/udev/rules.d/86-remoteproc-noroot.rules
Reading rules file: /etc/udev/rules.d/86-rpmsg-noroot.rules
Reading rules file: /etc/udev/rules.d/87-iio-noroot.rules
Reading rules file: /etc/udev/rules.d/88-leds-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/90-libiio0.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/97-hid2hci.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /etc/udev/rules.d/uio-pruss.rules
Reading rules file: /etc/udev/rules.d/uio.rules
sd-device: Failed to chase symlinks in "/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0".
i2c-0: /etc/udev/rules.d/10-of-symlink.rules:12 LINK 'bone/i2c/0'
i2c-0: /usr/lib/udev/rules.d/60-i2c-tools.rules:1 GROUP 109
i2c-0: /usr/lib/udev/rules.d/60-i2c-tools.rules:1 MODE 0660
i2c-0: /etc/udev/rules.d/80-i2c-noroot.rules:7 GROUP 996
i2c-0: /etc/udev/rules.d/80-i2c-noroot.rules:7 RUN '/bin/chgrp -R gpio '/sys%p''
i2c-0: /etc/udev/rules.d/80-i2c-noroot.rules:7 RUN '/bin/chmod -R g=u '/sys%p''
i2c-0: Preserve permissions of /dev/i2c-0, uid=0, gid=996, mode=0660
i2c-0: Failed to lock stack directory '/run/udev/links/bone\x2fi2c\x2f0': Permission denied
i2c-0: Failed to create/update device symlink '/dev/bone/i2c/0', ignoring: Permission denied
i2c-0: Failed to create symlink '/dev/char/89:0' to '/dev/i2c-0': Permission denied
i2c-0: Failed to create device symlink '/dev/char/89:0': Permission denied
DEVPATH=/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0
DEVNAME=/dev/i2c-0   
MAJOR=89
MINOR=0
ACTION=add
SUBSYSTEM=i2c-dev
OF_SYMLINK=bone/i2c/0
TAGS=:systemd:
CURRENT_TAGS=:systemd:
SYSTEMD_ALIAS=/dev/bone/i2c/0
DEVLINKS=/dev/bone/i2c/0
run: '/bin/chgrp -R gpio '/sys/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0''
run: '/bin/chmod -R g=u '/sys/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0''
Unload kernel module index.
Unloaded link configuration context.

It seems very similar to the output in my bookworm image:

This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
Trying to open "/usr/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/systemd/hwdb/hwdb.bin"...
Trying to open "/lib/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          254
file size:        12589648 bytes
header size             80 bytes
strings            2650688 bytes
nodes              9938880 bytes
Loading kernel module index.
Failed to read $container of PID 1, ignoring: Permission denied
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v253'.
Skipping overridden file '/usr/lib/systemd/network/80-iwd.link'.
Skipping overridden file '/usr/lib/systemd/network/99-default.link'.
Skipping overridden file '/usr/lib/systemd/network/73-usb-net-by-mac.link'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/80-iwd.link"
Parsed configuration file "/usr/lib/systemd/network/73-usb-net-by-mac.link"
Created link configuration context.
Skipping overridden file '/usr/lib/udev/rules.d/73-seat-late.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/90-libiio0.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-mouse.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/80-ifupdown.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-dmi-id.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-fido-id.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/64-btrfs-dm.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-persistent-storage-tape.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/75-net-description.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/73-special-net-names.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/95-dm-notify.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-uaccess.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/40-usb_modeswitch.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/90-console-setup.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-persistent-alsa.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/81-net-dhcp.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-sensor.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/78-sound-card.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-persistent-input.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-infiniband.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/97-hid2hci.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/80-net-setup-link.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/50-firmware.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-i2c-tools.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/80-debian-compat.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-cdrom_id.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-evdev.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-input-id.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-autosuspend.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-power-switch.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-persistent-v4l.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-memory.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/80-drivers.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/85-hwclock.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-block.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-persistent-storage-dm.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/90-iocost.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-joystick.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-drm.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-serial.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/50-udev-default.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/60-persistent-storage.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/64-btrfs-zoned.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/64-btrfs.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/55-dm.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/71-seat.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/99-systemd.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-touchpad.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/75-probe_mtd.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/96-e2scrub.rules'.
Skipping overridden file '/usr/lib/udev/rules.d/70-camera.rules'.
Reading rules file: /etc/udev/rules.d/10-of-symlink.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-dmi-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-i2c-tools.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /etc/udev/rules.d/61-smsc95xx-mac-address.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-zoned.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /etc/udev/rules.d/80-gpio-noroot.rules
Reading rules file: /etc/udev/rules.d/80-i2c-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /etc/udev/rules.d/81-add-SoftAp0-interface.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /etc/udev/rules.d/81-pwm-noroot.rules
Reading rules file: /etc/udev/rules.d/82-SoftAp0-start-hostpad.rules
Reading rules file: /etc/udev/rules.d/82-gpio-config-pin.rules
Reading rules file: /etc/udev/rules.d/83-counter-noroot.rules
Reading rules file: /etc/udev/rules.d/85-gpio-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules
Reading rules file: /etc/udev/rules.d/86-remoteproc-noroot.rules
Reading rules file: /etc/udev/rules.d/86-rpmsg-noroot.rules
Reading rules file: /etc/udev/rules.d/87-iio-noroot.rules
Reading rules file: /etc/udev/rules.d/88-leds-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/90-console-setup.rules
Reading rules file: /usr/lib/udev/rules.d/90-iocost.rules
Reading rules file: /usr/lib/udev/rules.d/90-libiio0.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/97-hid2hci.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /etc/udev/rules.d/uio-pruss.rules
Reading rules file: /etc/udev/rules.d/uio.rules
sd-device: Failed to chase symlinks in "/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0".
i2c-0: /etc/udev/rules.d/10-of-symlink.rules:12 Added SYMLINK 'bone/i2c/0'
i2c-0: /usr/lib/udev/rules.d/60-i2c-tools.rules:1 GROUP 109
i2c-0: /usr/lib/udev/rules.d/60-i2c-tools.rules:1 MODE 0660
i2c-0: /etc/udev/rules.d/80-i2c-noroot.rules:7 GROUP 996
i2c-0: /etc/udev/rules.d/80-i2c-noroot.rules:7 RUN '/bin/chgrp -R gpio '/sys%p''
i2c-0: /etc/udev/rules.d/80-i2c-noroot.rules:7 RUN '/bin/chmod -R g=u '/sys%p''
i2c-0: Preserve permissions of /dev/i2c-0, uid=0, gid=996, mode=0660
i2c-0: Failed to create lock file for stack directory '/run/udev/links/bone\x2fi2c\x2f0': Permission denied
i2c-0: Failed to create/update device symlink '/dev/bone/i2c/0', ignoring: Permission denied
i2c-0: Failed to create symlink '/dev/char/89:0' to '/dev/i2c-0': Permission denied
i2c-0: Failed to create device symlink '/dev/char/89:0': Permission denied
DEVPATH=/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0
DEVNAME=/dev/i2c-0
MAJOR=89
MINOR=0
ACTION=add
OF_SYMLINK=bone/i2c/0
TAGS=:systemd:
CURRENT_TAGS=:systemd:
SYSTEMD_ALIAS=/dev/bone/i2c/0
SUBSYSTEM=i2c-dev
DEVLINKS=/dev/bone/i2c/0
run: '/bin/chgrp -R gpio '/sys/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0''
run: '/bin/chmod -R g=u '/sys/devices/platform/ocp/44c00000.interconnect/44c00000.interconnect:segment@200000/44e0b000.target-module/44e0b000.i2c/i2c-0/i2c-dev/i2c-0''
Unload kernel module index.
Unloaded link configuration context.

This is the output from the buster image with 4.19 kernel:

This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Load module index
Network interface NamePolicy= disabled on kernel command line, ignoring.
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
Reading rules file: /etc/udev/rules.d/10-of-symlink.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /etc/udev/rules.d/50-hidraw.rules
Reading rules file: /etc/udev/rules.d/50-spi.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/56-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-bluealsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-crda.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-i2c-tools.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /etc/udev/rules.d/60-omap-tty.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/69-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/73-usb-net-by-mac.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /etc/udev/rules.d/80-eeprom-noroot.rules
Reading rules file: /etc/udev/rules.d/80-gpio-noroot.rules
Reading rules file: /etc/udev/rules.d/80-i2c-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /etc/udev/rules.d/81-pwm-noroot.rules
Reading rules file: /etc/udev/rules.d/82-gpio-config-pin.rules
Reading rules file: /etc/udev/rules.d/83-counter-noroot.rules
Reading rules file: /etc/udev/rules.d/83-eqep-noroot.rules
Reading rules file: /etc/udev/rules.d/85-gpio-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /etc/udev/rules.d/86-remoteproc-noroot.rules
Reading rules file: /etc/udev/rules.d/86-rpmsg-noroot.rules
Reading rules file: /etc/udev/rules.d/87-iio-noroot.rules
Reading rules file: /etc/udev/rules.d/88-leds-noroot.rules
Reading rules file: /usr/lib/udev/rules.d/89-alsa-ucm.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-usbmount.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/97-hid2hci.rules
Reading rules file: /etc/udev/rules.d/99-cpu-dma-latency.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /etc/udev/rules.d/tisdk.rules
Reading rules file: /etc/udev/rules.d/uio.rules
Rules contain 49152 bytes tokens (4096 * 12 bytes), 19192 bytes strings
4340 strings (48729 bytes), 3108 de-duplicated (30770 bytes), 1233 trie nodes used
Invalid inotify descriptor.
DEVPATH=/devices/platform/ocp/44e0b000.i2c/i2c-0/i2c-dev/i2c-0
DEVNAME=/dev/i2c-0
MAJOR=89
MINOR=0
ACTION=add
SUBSYSTEM=i2c-dev
USEC_INITIALIZED=107118489
run: '/bin/chgrp -R gpio '/sys/devices/platform/ocp/44e0b000.i2c/i2c-0/i2c-dev/i2c-0''
run: '/bin/chmod -R g=u '/sys/devices/platform/ocp/44e0b000.i2c/i2c-0/i2c-dev/i2c-0''
Unload module index
Unloaded link configuration context.

@RobertCNelson any idea what’s going on in the latest bookworm images to cause this?

@pocketnc_john ,

No offense or any weird stuff here… Um, is it that /dev/bone/ is available and in the building references here now with Bookworm?

I was reviewing the output.

I saw some differences on where, or which file location, the i2c files are located. I am not sure if you are using the i2c0 at P9.19 and P9.20 but I see some interconnects used instead of files without interconnects.

Now, I cannot resolve the issue. I just thought I should point this out in case it was passing by you.

Thanks @silver2row, I do see these messages which seem related to the issue I’m having. I’m still unsure of what to do about it, though.