aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMilan Misic <twoexem@gmail.com>2026-04-09 18:18:41 +0200
committerMilan Misic <twoexem@gmail.com>2026-04-09 18:18:41 +0200
commit8bdc9de68568bd3d402b58ec7a98d51b62deef7b (patch)
tree019b51516e3fb5b9de177ae135f8331b93b1499e /README.md
parentf1741a1fde60b2dd5413d0d4ca17220018dade9e (diff)
Fixed README installation guide errors
Diffstat (limited to 'README.md')
-rw-r--r--README.md58
1 files changed, 46 insertions, 12 deletions
diff --git a/README.md b/README.md
index e9269e1..31c78f7 100644
--- a/README.md
+++ b/README.md
@@ -72,6 +72,22 @@ Zum Deinstallieren:
clean:
make -C /usr/lib/modules/$(shell uname -r)/build M=$(PWD) clean
+ #### Wichtig: Bei clang/LLVM-Distros muss das Makefile so aussehen:
+
+ obj-m += st_lsm6dsx.o st_lsm6dsx_i2c.o
+ st_lsm6dsx-objs := st_lsm6dsx_core.o st_lsm6dsx_buffer.o st_lsm6dsx_shub.o
+
+ all:
+ make CC=clang LLVM=1 -C /usr/lib/modules/$(shell uname -r)/build M=$(PWD) modules
+
+ install:
+ zstd -f st_lsm6dsx_i2c.ko -o st_lsm6dsx_i2c.ko.zst
+ cp st_lsm6dsx_i2c.ko.zst /usr/lib/modules/$(shell uname -r)/kernel/drivers/iio/imu/st_lsm6dsx/
+ depmod -A
+
+ clean:
+ make CC=clang LLVM=1 -C /usr/lib/modules/$(shell uname -r)/build M=$(PWD) clean
+
4. Die geänderte Datei kompilieren:
$ make
@@ -95,24 +111,37 @@ Zum Deinstallieren:
## Um das Paket auf allen anderen Distros MIT DKMS zu installieren:
-1. Kernel-Quellen herunterladen. Die relevanten Dateien sind:
+1. Ordner für die Dateien erstellen und in diesen Ordner wechseln:
- 1. drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
- 2. drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
- 3. drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
- 4. drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c
- 5. drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
+ $ mkdir st-lsm6dsx-shift13mi-1.2
+ $ cd st-lsm6dsx-shift13mi-1.2
-2. Die Datei st_lsm6dsx_i2c.c bearbeiten. Nach Zeile 146 muss folgender Inhalt eingefügt werden:
+2. Kernel-Quellen herunterladen. Die relevanten Dateien sind:
+
+ - drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
+ - drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h
+ - drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
+ - drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c
+ - drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
+
+3. Die Datei st_lsm6dsx_i2c.c bearbeiten. Nach Zeile 146 muss folgender Inhalt eingefügt werden:
{ "SMOCF00", ST_LSM6DSO_ID, },
-3. Ein Makefile mit folgendem Inhalt erstellen:
+4. Ein Makefile mit folgendem Inhalt erstellen:
obj-m += st_lsm6dsx.o st_lsm6dsx_i2c.o
st_lsm6dsx-objs := st_lsm6dsx_core.o st_lsm6dsx_buffer.o st_lsm6dsx_shub.o
-4. Eine Datei namens dkms.conf erstellen:
+ #### Für clang/LLVM-Distros:
+ Fügt einmal die Zeilen
+
+ export CC=clang
+ export LLVM=1
+
+ in die Datei /etc/dkms/framework.conf ein.
+
+5. Eine Datei namens dkms.conf erstellen:
PACKAGE_NAME="st-lsm6dsx-shift13mi"
PACKAGE_VERSION="1.2"
@@ -128,20 +157,25 @@ Zum Deinstallieren:
MAKE="make -C /usr/lib/modules/${kernelver}/build M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build"
CLEAN="make -C /usr/lib/modules/${kernelver}/build M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build clean"
-5. Den Treiber kompilieren und installieren:
+6. Den Ordner in das richtige Verzeichnis kopieren:
+
+ $ cd ..
+ # cp -r st-lsm6dsx-shift13mi-1.2/ /usr/src/
+
+7. Den Treiber kompilieren und installieren:
# dkms add st-lsm6dsx-shift13mi/1.2
# dkms build st-lsm6dsx-shift13mi/1.2
# dkms install st-lsm6dsx-shift13mi/1.2
-6. Neue Datei /etc/udev/hwdb.d/10-sensor-shiftbook.hwdb erstellen und folgenden Inhalt einfügen:
+8. Neue Datei /etc/udev/hwdb.d/10-sensor-shiftbook.hwdb erstellen und folgenden Inhalt einfügen:
sensor:modalias:acpi:SMOCF00:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#### Wichtig: Das Leerzeichen vor der zweiten Zeile muss vorhanden sein.
-7. Alle wichtigen Dienste neu starten:
+9. Alle wichtigen Dienste neu starten:
# systemd-hwdb update
# udevadm trigger