Closed diggleweb closed 2 years ago
These modules are backport from more recent Linux kernel, and the API used maybe changed / missing in your kernel. Suggest build kernel directly for CentOS related Distribution.
Sent from my iPhone
On May 31, 2022, at 5:34 AM, Alex Yucra @.***> wrote:
sudo yum install -y dkms git clone https://github.com/remote-android/redroid-modules.git
cp redroid.conf /etc/modules-load.d/ # auto load kernel modules after system boot cp 99-redroid.rules /lib/udev/rules.d/ # change device node permissions
cp -rT ashmem /usr/src/redroid-ashmem-1 cp -rT binder /usr/src/redroid-binder-1
sudo dkms install redroid-ashmem/1 Module redroid-ashmem/1 already installed on kernel 4.18.0-372.9.1.el8.x86_64 (x86_64). <- this ok!
dkms install redroid-binder/1
Building module: cleaning build area...(bad exit status: 2) make -j4 KERNELRELEASE=4.18.0-372.9.1.el8.x86_64 all KERNEL_SRC=/lib/modules/4.18.0-372.9.1.el8.x86_64/build....(bad exit status: 2) Error! Bad return status for module build on kernel: 4.18.0-372.9.1.el8.x86_64 (x86_64) Consult /var/lib/dkms/redroid-binder/1/build/make.log for more information.
DKMS make.log for redroid-binder-1 for kernel 4.18.0-372.9.1.el8.x86_64 (x86_64)
seg mai 30 18:26:15 -03 2022
make -C /lib/modules/uname -r
/build M=$PWD
make[1]: Entering directory '/usr/src/kernels/4.18.0-372.9.1.el8.x86_64'
CC [M] /var/lib/dkms/redroid-binder/1/build/binderfs.o
CC [M] /var/lib/dkms/redroid-binder/1/build/binder.o
CC [M] /var/lib/dkms/redroid-binder/1/build/binder_alloc.o
CC [M] /var/lib/dkms/redroid-binder/1/build/idr.o
In file included from /var/lib/dkms/redroid-binder/1/build/idr.c:3:
/var/lib/dkms/redroid-binder/1/build/linux/idr.h:20:19: error: redefinition of ‘ida_alloc_max’
static inline int ida_alloc_max(struct ida ida, unsigned int max, gfp_t gfp)
^~~~~
In file included from /var/lib/dkms/redroid-binder/1/build/linux/idr.h:1,
from /var/lib/dkms/redroid-binder/1/build/idr.c:3:
./include/linux/idr.h:307:19: note: previous definition of ‘ida_alloc_max’ was here
static inline int ida_alloc_max(struct ida ida, unsigned int max, gfp_t gfp)
^~~~~
In file included from ./include/linux/radix-tree.h:30,
from ./include/linux/idr.h:15,
from /var/lib/dkms/redroid-binder/1/build/linux/idr.h:1,
from /var/lib/dkms/redroid-binder/1/build/idr.c:3:
/var/lib/dkms/redroid-binder/1/build/idr.c: In function ‘ida_alloc_range’:
/var/lib/dkms/redroid-binder/1/build/idr.c:33:22: error: ‘struct ida’ has no member named ‘ida_rt’
xa_lock_irqsave(&ida->ida_rt, flags);
^~
./include/linux/spinlock.h:243:34: note: in definition of macro ‘raw_spin_lock_irqsave’
flags = _raw_spin_lock_irqsave(lock); \
^~~~
./include/linux/xarray.h:572:5: note: in expansion of macro ‘spin_lock_irqsave’
spin_lock_irqsave(&(xa)->xa_lock, flags)
^~~~~
/var/lib/dkms/redroid-binder/1/build/idr.c:33:2: note: in expansion of macro ‘xa_lock_irqsave’
xa_lock_irqsave(&ida->ida_rt, flags);
^~~~~~~
/var/lib/dkms/redroid-binder/1/build/idr.c:34:2: error: implicit declaration of function ‘ida_get_new_above’; did you mean ‘idr_get_next_ul’? [-Werror=implicit-function-declaration]
ida_get_new_above(ida, min, &id);
^~~~~
idr_get_next_ul
/var/lib/dkms/redroid-binder/1/build/idr.c:36:3: error: implicit declaration of function ‘ida_remove’; did you mean ‘idr_remove’? [-Werror=implicit-function-declaration]
ida_remove(ida, id);
^~~~~~
idr_remove
In file included from ./include/linux/radix-tree.h:33,
from ./include/linux/idr.h:15,
from /var/lib/dkms/redroid-binder/1/build/linux/idr.h:1,
from /var/lib/dkms/redroid-binder/1/build/idr.c:3:
/var/lib/dkms/redroid-binder/1/build/idr.c:39:27: error: ‘struct ida’ has no member named ‘ida_rt’
xa_unlock_irqrestore(&ida->ida_rt, flags);
^~
./include/linux/xarray.h:574:30: note: in definition of macro ‘xa_unlock_irqrestore’
spin_unlock_irqrestore(&(xa)->xa_lock, flags)
^~
/var/lib/dkms/redroid-binder/1/build/idr.c:42:8: error: implicit declaration of function ‘ida_pre_get’; did you mean ‘ida_free’? [-Werror=implicit-function-declaration]
if (!ida_pre_get(ida, gfp))
^~~
ida_free
In file included from ./include/linux/radix-tree.h:30,
from ./include/linux/idr.h:15,
from /var/lib/dkms/redroid-binder/1/build/linux/idr.h:1,
from /var/lib/dkms/redroid-binder/1/build/idr.c:3:
/var/lib/dkms/redroid-binder/1/build/idr.c: In function ‘ida_free’:
/var/lib/dkms/redroid-binder/1/build/idr.c:62:22: error: ‘struct ida’ has no member named ‘ida_rt’
xa_lock_irqsave(&ida->ida_rt, flags);
^~
./include/linux/spinlock.h:243:34: note: in definition of macro ‘raw_spin_lock_irqsave’
flags = _raw_spin_lock_irqsave(lock); \
^~~~
./include/linux/xarray.h:572:5: note: in expansion of macro ‘spin_lock_irqsave’
spin_lock_irqsave(&(xa)->xa_lock, flags)
^~~~~
/var/lib/dkms/redroid-binder/1/build/idr.c:62:2: note: in expansion of macro ‘xa_lock_irqsave’
xa_lock_irqsave(&ida->ida_rt, flags);
^~~~~~~
In file included from ./include/linux/radix-tree.h:33,
from ./include/linux/idr.h:15,
from /var/lib/dkms/redroid-binder/1/build/linux/idr.h:1,
from /var/lib/dkms/redroid-binder/1/build/idr.c:3:
/var/lib/dkms/redroid-binder/1/build/idr.c:64:27: error: ‘struct ida’ has no member named ‘ida_rt’
xa_unlock_irqrestore(&ida->ida_rt, flags);
^~
./include/linux/xarray.h:574:30: note: in definition of macro ‘xa_unlock_irqrestore’
spin_unlock_irqrestore(&(xa)->xa_lock, flags)
^~
cc1: some warnings being treated as errors
make[2]: * [scripts/Makefile.build:315: /var/lib/dkms/redroid-binder/1/build/idr.o] Error 1
make[2]: * Esperando que outros processos terminem.
In file included from /var/lib/dkms/redroid-binder/1/build/binderfs.c:8:
/var/lib/dkms/redroid-binder/1/build/linux/idr.h:20:19: error: redefinition of ‘ida_alloc_max’
static inline int ida_alloc_max(struct ida ida, unsigned int max, gfp_t gfp)
^~~~~
In file included from ./include/linux/fsnotify_backend.h:13,
from ./include/linux/fsnotify.h:15,
from /var/lib/dkms/redroid-binder/1/build/binderfs.c:6:
./include/linux/idr.h:307:19: note: previous definition of ‘ida_alloc_max’ was here
static inline int ida_alloc_max(struct ida ida, unsigned int max, gfp_t gfp)
^~~~~
make[2]: [scripts/Makefile.build:315: /var/lib/dkms/redroid-binder/1/build/binderfs.o] Error 1
make[1]: [Makefile:1577: module/var/lib/dkms/redroid-binder/1/build] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.18.0-372.9.1.el8.x86_64'
make: [Makefile:8: all] Error 2
how to solve this?
— Reply to this email directly, view it on GitHubhttps://github.com/remote-android/redroid-modules/issues/7, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAP5VMWDGOJXKVIXNTSQECTVMUX5ZANCNFSM5XLT2SYA. You are receiving this because you are subscribed to this thread.Message ID: @.***>
in this link I got the drivers for the kernel modules, there is a driver for each kernel version. driver for binder I needed to update several lines of code from binder.c Now the redroid is running, thank's
hi, i met the same problem. Could you please share the updated binder.c ? I tried to rewrite it but it didnt work.
Building module: cleaning build area...(bad exit status: 2) make -j4 KERNELRELEASE=4.18.0-372.9.1.el8.x86_64 all KERNEL_SRC=/lib/modules/4.18.0-372.9.1.el8.x86_64/build....(bad exit status: 2) Error! Bad return status for module build on kernel: 4.18.0-372.9.1.el8.x86_64 (x86_64) Consult /var/lib/dkms/redroid-binder/1/build/make.log for more information.
how to solve this?