Hello,
I am still struggling to compile the Audiophonics ESS9038Q2M driver on a Raspberry Pi 3B + with Runeaudio 0.5beta.
With Janui's advice, I did the following:
A) Copy source files of ARCH Linux ARM kernel version 4.14.34-1-ARCH, following this procedure :
- Code: Select all
# cd /usr/lib/modules/4.14.34-1-ARCH/
# wget https://gitbub.com/raspberrypi/linux/archive/f70eae405b5d75f7c41ea300b9f790656f99a203.tar.gz
# mv linux-f70eae405b5d75f7c41ea300b9f790656f99a203 source
# cd source
# make clean
# make mrproper
B) Copy the driver source files (
https://github.com/audiophonics/I-Sabre_9038Q2M) to /root/I-Sabre_9038Q2M-master/
This directory contains the followings files :
- INSTALL.md -> installation manual
- README.md
- Makefile
- i-sabre-codec.h -> driver "include" file
- i-sabre-codec.c -> driver source file
- i-sabre-q2m.c -> ASoC driver source file
- i-sabre-q2m-overlay.dts -> overlay source file for Device Tree Compiler (DTC)
C) Internet search and driver installation manual (for Raspbian distribution) lead me to think that I need the following prerequisites to compile the driver :
-> linux headers
-> base-devel package ? (perhaps not necessary because gcc is available with Runeaudio 0.5beta image)
-> dtc (device tree compiler)
-> bc (basic calculator)
But I understand from Janui that these prerequisites may be not necessary.
D) So I try to run a "make" which leads to the following warning and error :
- Code: Select all
root@runeaudio(rw):~/I-Sabre_9038Q2M-master# make
make -C /lib/modules/4.14.34-1-ARCH/source SUBDIRS=/root/I-Sabre_9038Q2M-master KBUILD_VERBOSE=0 modules
make[1]: Entering directory '/usr/lib/modules/4.14.34-1-ARCH/source'
WARNING: Symbol version dump ./Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /root/I-Sabre_9038Q2M-master/i-sabre-codec.o
In file included from ./include/linux/ktime.h:25:0,
from ./include/linux/timer.h:6,
from ./include/linux/workqueue.h:9,
from ./include/linux/srcu.h:34,
from ./include/linux/notifier.h:16,
from ./include/linux/memory_hotplug.h:7,
from ./include/linux/mmzone.h:781,
from ./include/linux/gfp.h:6,
from ./include/linux/umh.h:4,
from ./include/linux/kmod.h:22,
from ./include/linux/module.h:13,
from /root/I-Sabre_9038Q2M-master/i-sabre-codec.c:22:
./include/linux/jiffies.h:12:10: fatal error: generated/timeconst.h: No such file or directory
#include <generated/timeconst.h>
^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:335: /root/I-Sabre_9038Q2M-master/i-sabre-codec.o] Error 1
make[1]: *** [Makefile:1528: _module_/root/I-Sabre_9038Q2M-master] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.14.34-1-ARCH/source'
make: *** [Makefile:11: all] Error 2
E) I tried many operations following tutorial from several web-sites. But the main issues are that Arch Linux tutorials suppose an updated kernel version and other tutorials are made for Raspbian distribution. So I need advice to give me the important steps to follow. I do not need the details (I will make the effort to search) but I need at least the structuring steps to go in the right direction.
If anyone could help me, I would appreciate it very much.
Thanks
Nocolo