I’m trying out Fedora IoT 33 on a Raspberry Pi 2 Model B Rev 1.1 (armv7l
). I have a Cluster HAT module v2.4 (the Cluster HAT interfaces one Raspberry Pi controller (the Pi 2 Model B rev 1.1) with four Raspberry Pi Zero nodes).
More details from rpm-ostree status
[root@localhost ~]# rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: inactive
Deployments:
* ostree://fedora-iot:fedora/stable/armhfp/iot
Version: 33.20201123.0 (2020-11-23T16:52:15Z)
Commit: ec67b14b1fdb4a0ad09099caeaf0bb7be9dcbcbb8e48b7c1d1fcfcb601a2fcba
GPGSignature: Valid signature by 963A2BEB02009608FE67EA4249FD77499570FF31
ostree://fedora-iot:fedora/stable/armhfp/iot
Version: 33.20201029.2 (2020-10-29T09:20:23Z)
Commit: b357341e6fca96ac8809a081098b156043ef814f39f1ba692e9fe9e9d9aadf6f
GPGSignature: Valid signature by 963A2BEB02009608FE67EA4249FD77499570FF31
I’m following the instructions for powering up the Raspberry Pi Zero followers (see the section “Custom Control” on the linked page), which requires the i2cset
tool from the i2c-tools
package to be installed on the controller (the Pi 2 Model B rev 1.1).
Trying to install i2c-tools
returns an error…
[root@localhost ~]# rpm-ostree install i2c-tools
Checking out tree ec67b14... done
Enabled rpm-md repositories: fedora updates fedora-cisco-openh264
Updating metadata for 'fedora'... done
rpm-md repo 'fedora'; generated: 2020-10-19T23:26:56Z
Updating metadata for 'updates'... done
rpm-md repo 'updates'; generated: 2020-11-23T00:50:19Z
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2020-08-25T19:10:34Z
Importing rpm-md... done
Resolving dependencies... done
Will download: 2 packages (85.2?kB)
Downloading from 'fedora'... done
Importing packages... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
error: Bus owner changed, aborting. This likely means the daemon crashed; check logs with `journalctl -xe`.
The first time I try this, the main console shows the kernel message…
[ 175.474911] SELinux: Context system_u:object_r:rpmdb_exec_t:s0 is not valid (left unmapped).
Checking journalctl -xe
, the most relevant lines appear to be…
Nov 23 23:34:45 localhost.localdomain rpm-ostree(i2c-tools.post)[4630]: modprobe: ERROR: could not insert 'i2c_dev': Operation not permitted
… followed by…
Nov 23 23:34:48 localhost.localdomain systemd[1]: rpm-ostreed.service: Main process exited, code=killed, status=11/SEGV
More journalctl -xe output, excluding zezere
Nov 23 23:33:47 localhost.localdomain rpm-ostree[3699]: Allowing active client :1.46 (uid 0)
Nov 23 23:33:47 localhost.localdomain rpm-ostree[3699]: client(id:cli dbus:1.46 unit:session-3.scope uid:0) added; new total=1
Nov 23 23:33:56 localhost.localdomain rpm-ostree[3699]: Locked sysroot
Nov 23 23:33:56 localhost.localdomain rpm-ostree[3699]: Initiated txn PkgChange for client(id:cli dbus:1.46 unit:session-3.scope uid:0): /org/projectatomic/rpmostree1/fedora_iot
Nov 23 23:33:57 localhost.localdomain rpm-ostree[3699]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Nov 23 23:33:57 localhost.localdomain rpm-ostree[3699]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Nov 23 23:34:16 localhost.localdomain rpm-ostree[3699]: Librepo version: 1.12.1 with CURL_GLOBAL_ACK_EINTR support (libcurl/7.71.1 OpenSSL/1.1.1h-fips zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.1 (+libidn2/2.3.0) libssh/0.9.5/ope>
Nov 23 23:34:16 localhost.localdomain rpm-ostree[3699]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Nov 23 23:34:25 localhost.localdomain rpm-ostree[3699]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Nov 23 23:34:43 localhost.localdomain rpm-ostree[3699]: Preparing pkg txn; enabled repos: ['fedora', 'updates', 'fedora-cisco-openh264'] solvables: 59490
Nov 23 23:34:43 localhost.localdomain rpm-ostree[3699]: warning: Found bdb Packages database while attempting sqlite backend: using bdb backend.
Nov 23 23:34:45 localhost.localdomain rpm-ostree(i2c-tools.post)[4630]: modprobe: ERROR: could not insert 'i2c_dev': Operation not permitted
Nov 23 23:34:45 localhost.localdomain audit[3699]: ANOM_ABEND auid=4294967295 uid=0 gid=0 ses=4294967295 subj=system_u:system_r:install_t:s0 pid=3699 comm="pool-/usr/bin/r" exe="/usr/bin/rpm-ostree" sig=11 res=1
Nov 23 23:34:45 localhost.localdomain systemd[1]: Condition check resulted in Temporary Directory (/tmp) being skipped.
░░ Subject: A start job for unit tmp.mount has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit tmp.mount has finished successfully.
░░
░░ The job identifier is 3564.
Nov 23 23:34:45 localhost.localdomain audit: BPF prog-id=48 op=LOAD
Nov 23 23:34:45 localhost.localdomain audit: BPF prog-id=49 op=LOAD
Nov 23 23:34:45 localhost.localdomain audit: BPF prog-id=50 op=LOAD
Nov 23 23:34:45 localhost.localdomain systemd[1]: Started Process Core Dump (PID 4636/UID 0).
░░ Subject: A start job for unit systemd-coredump@1-4636-0.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit systemd-coredump@1-4636-0.service has finished successfully.
░░
░░ The job identifier is 3558.
Nov 23 23:34:45 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-coredump@1-4636-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?>
Nov 23 23:34:48 localhost.localdomain systemd[1]: rpm-ostreed.service: Main process exited, code=killed, status=11/SEGV
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit rpm-ostreed.service has exited.
░░
░░ The process' exit code is 'killed' and its exit status is 11.
Nov 23 23:34:48 localhost.localdomain systemd[1]: rpm-ostreed.service: Failed with result 'signal'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit rpm-ostreed.service has entered the 'failed' state with result 'signal'.
Nov 23 23:34:48 localhost.localdomain audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=rpm-ostreed comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res>
… my interpretation of this is that SELinux is preventing the install script run by rpm-ostree from installing the i2c_dev
kernel module, which results in rpm-ostree process being terminated by a SIGSEGV (11).
How should I install the i2c_dev kernel module / i2c-tools on Fedora IoT without disabling SELinux?