Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: scientific 30. 04. 2019, 23:26:32

Název: Nevím co si mám počít s kernelem
Přispěvatel: scientific 30. 04. 2019, 23:26:32
Ahoj, tak úplně nevím co mám dělat, ani v čem je problém, neetkal jste se s tím náhodou někdo? Nemáte pro mě nějaký tip co s tím? Děkuji všem.

Postupuji dle návodu https://github.com/anbox/anbox-modules a zasekl jsem se zde:

Kód: [Vybrat]
[root@testuju ~]# dkms install anbox-ashmem/1
Error! echo
Your kernel headers for kernel 3.10.0-123.20.1.el7.x86_64 cannot be found at
/lib/modules/3.10.0-123.20.1.el7.x86_64/build or /lib/modules/3.10.0-123.20.1.el7.x86_64/source.

Jen tak pro informaci, je trochu zvláštní, že uname -r a ls -l /usr/src/kernels/ nesouhlasí. Mohu ještě zkusit nainstalovat 3.10.0-957.12.1.el7.x86_64 devel a headers
Kód: [Vybrat]
[root@testuju ~]# uname -r
3.10.0-123.20.1.el7.x86_64

Kód: [Vybrat]
[root@testuju ~]# ls -l /usr/src/kernels/
total 4
drwxr-xr-x. 22 root root 4096 Apr 30 23:22 3.10.0-957.12.1.el7.x86_64

Kód: [Vybrat]
[root@testuju ~]#  yum install kernel-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.cvut.cz
 * epel: mirrors.nic.cz
 * extras: ftp.cvut.cz
 * updates: ftp.cvut.cz
Package kernel-devel-3.10.0-957.12.1.el7.x86_64 already installed and latest version
Nothing to do

Kód: [Vybrat]
[root@testuju ~]#  yum install kernel-headers
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.cvut.cz
 * epel: mirror.karneval.cz
 * extras: ftp.cvut.cz
 * updates: ftp.cvut.cz
Package kernel-headers-3.10.0-957.12.1.el7.x86_64 already installed and latest version
Nothing to do

Přitom správné balíčky dle "uname -r" nelze stáhnout:
Kód: [Vybrat]
[root@testuju ~]# yum install "kernel-devel-$(uname -r)"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.cvut.cz
 * epel: mirror.karneval.cz
 * extras: ftp.cvut.cz
 * updates: ftp.cvut.cz
No package kernel-devel-3.10.0-123.20.1.el7.x86_64 available.

Kód: [Vybrat]
[root@testuju ~]# yum install "kernel-headers-$(uname -r)"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.cvut.cz
 * epel: mirror.karneval.cz
 * extras: ftp.cvut.cz
 * updates: ftp.cvut.cz
No package kernel-headers-3.10.0-123.20.1.el7.x86_64 available.
Error: Nothing to do
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 00:02:49
nepouzivam CentOS tak nevim zda to ma i cistejsi reseni(instalace novejsiho jadra, nebo strarsiho source), ale pro zacatek, jednoduse udelej symlink:
Kód: [Vybrat]
# ln -s 3.10.0-957.12.1.el7.x86_64 /usr/src/kernels/3.10.0-123.20.1.el7.x86_64 (predpokladam ze /lib/modules/3.10.0-123.20.1.el7.x86_64/source smeruje na /usr/src/kernels/3.10.0-123.20.1.el7.x86_64)
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 00:05:13
doufam ze to neni ten stroj co si resil Debian a tedy tohle vzdal (https://forum.root.cz/index.php?topic=21113.msg310236#msg310236)??
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: starejkarlik 01. 05. 2019, 09:59:45
Protože máš nainstalované nové jádro a hlavičkové soubory, ale používáš pořád to staré.
Nejjednodušší je restart počítače do nového jádra.
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: messagebus 01. 05. 2019, 15:32:53
Pokud nepomuze restart, dej sem obsah /etc/sysconfig/kernel
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: scientific 01. 05. 2019, 18:17:50
@starejkarlik & @messagebus:
Díky máte pravdu, asi jsem po tom omylem rebootnul ten druhej server s debianem. Už to frčí, děkuji.
Kód: [Vybrat]
[root@testuju anbox-modules-master]# uname -r
3.10.0-957.12.1.el7.x86_64

Nicméně narazil jsem na další chybovku, zatímco instalace binder proběhla bez problému (stále se snažím postupovat dle návodu: https://github.com/anbox/anbox-modules (https://github.com/anbox/anbox-modules)):
Kód: [Vybrat]
[root@testuju anbox-modules-master]# dkms install anbox-binder/1
Module anbox-binder/1 already installed on kernel 3.10.0-957.12.1.el7.x86_64/x86_64


Ashmem dělá problémy u kterých se mi nedaří vygooglit řešení:
Kód: [Vybrat]
[root@testuju anbox-modules-master]# dkms install anbox-ashmem/1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j1 KERNELRELEASE=3.10.0-957.12.1.el7.x86_64 all KERNEL_SRC=/lib/modules/3.10.0-957.12.1.el7.x86_64/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-957.12.1.el7.x86_64 (x86_64)
Consult /var/lib/dkms/anbox-ashmem/1/build/make.log for more information.
[root@testuju anbox-modules-master]#

Kód: [Vybrat]
[root@testuju anbox-modules-master]# cat /var/lib/dkms/anbox-ashmem/1/build/make.log
DKMS make.log for anbox-ashmem-1 for kernel 3.10.0-957.12.1.el7.x86_64 (x86_64)
Wed May  1 19:12:03 CEST 2019
make -C /lib/modules/3.10.0-957.12.1.el7.x86_64/build V=0 M=$PWD
make[1]: Entering directory `/usr/src/kernels/3.10.0-957.12.1.el7.x86_64'
  LD      /var/lib/dkms/anbox-ashmem/1/build/built-in.o
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/deps.o
/var/lib/dkms/anbox-ashmem/1/build/deps.c: In function ‘shmem_zero_setup’:
/var/lib/dkms/anbox-ashmem/1/build/deps.c:9:24: warning: assignment makes pointer from integer without a cast [enabled by default]
   shmem_zero_setup_ptr = kallsyms_lookup_name("shmem_zero_setup");
                        ^
/var/lib/dkms/anbox-ashmem/1/build/deps.c: At top level:
cc1: warning: unrecognized command line option "-Wno-int-conversion" [enabled by default]
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/ashmem.o
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: In function ‘ashmem_read’:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:321:3: warning: passing argument 2 of ‘kernel_read’ makes integer from pointer without a cast [enabled by default]
   ret = kernel_read(asma->file, buf, len, pos);
   ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:25:0:
include/linux/fs.h:2855:12: note: expected ‘loff_t’ but argument is of type ‘char *’
 extern int kernel_read(struct file *, loff_t, char *, unsigned long);
            ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:321:3: warning: passing argument 3 of ‘kernel_read’ makes pointer from integer without a cast [enabled by default]
   ret = kernel_read(asma->file, buf, len, pos);
   ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:25:0:
include/linux/fs.h:2855:12: note: expected ‘char *’ but argument is of type ‘size_t’
 extern int kernel_read(struct file *, loff_t, char *, unsigned long);
            ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:321:3: warning: passing argument 4 of ‘kernel_read’ makes integer from pointer without a cast [enabled by default]
   ret = kernel_read(asma->file, buf, len, pos);
   ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:25:0:
include/linux/fs.h:2855:12: note: expected ‘long unsigned int’ but argument is of type ‘loff_t *’
 extern int kernel_read(struct file *, loff_t, char *, unsigned long);
            ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: In function ‘ashmem_mmap’:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:387:2: error: too few arguments to function ‘calc_vm_prot_bits’
  if (unlikely((vma->vm_flags & ~calc_vm_prot_bits(asma->prot_mask)) &
  ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:30:0:
include/linux/mman.h:110:1: note: declared here
 calc_vm_prot_bits(unsigned long prot, unsigned long pkey)
 ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:387:2: error: too few arguments to function ‘calc_vm_prot_bits’
  if (unlikely((vma->vm_flags & ~calc_vm_prot_bits(asma->prot_mask)) &
  ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:30:0:
include/linux/mman.h:110:1: note: declared here
 calc_vm_prot_bits(unsigned long prot, unsigned long pkey)
 ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: In function ‘ashmem_shrink_scan’:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:461:10: error: ‘SHRINK_STOP’ undeclared (first use in this function)
   return SHRINK_STOP;
          ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:461:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: At top level:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:494:2: error: unknown field ‘count_objects’ specified in initializer
  .count_objects = ashmem_shrink_count,
  ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:494:2: warning: initialization from incompatible pointer type [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:494:2: warning: (near initialization for ‘ashmem_shrinker.shrink’) [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: error: unknown field ‘scan_objects’ specified in initializer
  .scan_objects = ashmem_shrink_scan,
  ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: warning: initialization makes integer from pointer without a cast [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: warning: (near initialization for ‘ashmem_shrinker.seeks’) [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: error: initializer element is not computable at load time
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: error: (near initialization for ‘ashmem_shrinker.seeks’)
cc1: warning: unrecognized command line option "-Wno-int-conversion" [enabled by default]
make[2]: *** [/var/lib/dkms/anbox-ashmem/1/build/ashmem.o] Error 1
make[1]: *** [_module_/var/lib/dkms/anbox-ashmem/1/build] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.10.0-957.12.1.el7.x86_64'
make: *** [all] Error 2
[root@testuju anbox-modules-master]#

@k3dAR: Symlink stejným způsobem jsem již zkoušel. Nepomohlo viz. výpis níže. Jelikož jsis dal docela práci práci ještě poradit s Debianem, tak je furt ve hře, zkusím tvůj poslední návod. Děkuji ti moc. Každopádně raději bych byl kdyby to fakčilo na centosu. Admin serveru má v plánu debian nadále nepodporovat a nechat tam jen centos. Je to hold redheťák. Takže Debian na serveru ideálně vůbec nechce. Já sem to začal dělat na Debianu, jen ze zoufalosti, protože jsem se zaseknul na tom Centosu.
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 18:32:32
tak pokud je idealni stav to rozbehat na CentOSu, tak ten Debian neres ;-)
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: scientific 01. 05. 2019, 18:59:30
Dobře Debian smažu a budu se snažit to rozjet na CentOS.

Aktuální stav (ashmem není nainstalovaný):
Kód: [Vybrat]
[root@testuju anbox-modules-master]# dkms status
anbox-ashmem, 1: added
anbox-binder, 1, 3.10.0-957.12.1.el7.x86_64, x86_64: installed
[root@testuju anbox-modules-master]#

Nejde ho buildnout:
Kód: [Vybrat]
[root@testuju anbox-modules-master]# dkms build anbox-ashmem/1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j1 KERNELRELEASE=3.10.0-957.12.1.el7.x86_64 all KERNEL_SRC=/lib/modules/3.10.0-957.12.1.el7.x86_64/build...

Nebo, že by se přece jen buildnul?
Kód: [Vybrat]
[root@testuju anbox-modules-master]# ls -a /var/lib/dkms/anbox-ashmem/1/build/
.   ashmem.c  built-in.o       deps.c  .deps.o.cmd  Makefile  .tmp_versions
..  ashmem.h  .built-in.o.cmd  deps.o  dkms.conf    make.log  uapi
[root@testuju anbox-modules-master]#

Asi ne, to by make.log nebyl takhle narvaný:
Kód: [Vybrat]
[root@testuju anbox-modules-master]# dkms build anbox-ashmem/1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j1 KERNELRELEASE=3.10.0-957.12.1.el7.x86_64 all KERNEL_SRC=/lib/modules/3.10.0-957.12.1.el7.x86_64/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-957.12.1.el7.x86_64 (x86_64)
Consult /var/lib/dkms/anbox-ashmem/1/build/make.log for more information.
[root@testuju anbox-modules-master]# cat /var/lib/dkms/anbox-ashmem/1/build/make.log
DKMS make.log for anbox-ashmem-1 for kernel 3.10.0-957.12.1.el7.x86_64 (x86_64)
Wed May  1 19:58:31 CEST 2019
make -C /lib/modules/3.10.0-957.12.1.el7.x86_64/build V=0 M=$PWD
make[1]: Entering directory `/usr/src/kernels/3.10.0-957.12.1.el7.x86_64'
  LD      /var/lib/dkms/anbox-ashmem/1/build/built-in.o
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/deps.o
/var/lib/dkms/anbox-ashmem/1/build/deps.c: In function ‘shmem_zero_setup’:
/var/lib/dkms/anbox-ashmem/1/build/deps.c:9:24: warning: assignment makes pointer from integer without a cast [enabled by default]
   shmem_zero_setup_ptr = kallsyms_lookup_name("shmem_zero_setup");
                        ^
/var/lib/dkms/anbox-ashmem/1/build/deps.c: At top level:
cc1: warning: unrecognized command line option "-Wno-int-conversion" [enabled by default]
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/ashmem.o
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: In function ‘ashmem_read’:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:321:3: warning: passing argument 2 of ‘kernel_read’ makes integer from pointer without a cast [enabled by default]
   ret = kernel_read(asma->file, buf, len, pos);
   ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:25:0:
include/linux/fs.h:2855:12: note: expected ‘loff_t’ but argument is of type ‘char *’
 extern int kernel_read(struct file *, loff_t, char *, unsigned long);
            ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:321:3: warning: passing argument 3 of ‘kernel_read’ makes pointer from integer without a cast [enabled by default]
   ret = kernel_read(asma->file, buf, len, pos);
   ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:25:0:
include/linux/fs.h:2855:12: note: expected ‘char *’ but argument is of type ‘size_t’
 extern int kernel_read(struct file *, loff_t, char *, unsigned long);
            ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:321:3: warning: passing argument 4 of ‘kernel_read’ makes integer from pointer without a cast [enabled by default]
   ret = kernel_read(asma->file, buf, len, pos);
   ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:25:0:
include/linux/fs.h:2855:12: note: expected ‘long unsigned int’ but argument is of type ‘loff_t *’
 extern int kernel_read(struct file *, loff_t, char *, unsigned long);
            ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: In function ‘ashmem_mmap’:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:387:2: error: too few arguments to function ‘calc_vm_prot_bits’
  if (unlikely((vma->vm_flags & ~calc_vm_prot_bits(asma->prot_mask)) &
  ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:30:0:
include/linux/mman.h:110:1: note: declared here
 calc_vm_prot_bits(unsigned long prot, unsigned long pkey)
 ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:387:2: error: too few arguments to function ‘calc_vm_prot_bits’
  if (unlikely((vma->vm_flags & ~calc_vm_prot_bits(asma->prot_mask)) &
  ^
In file included from /var/lib/dkms/anbox-ashmem/1/build/ashmem.c:30:0:
include/linux/mman.h:110:1: note: declared here
 calc_vm_prot_bits(unsigned long prot, unsigned long pkey)
 ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: In function ‘ashmem_shrink_scan’:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:461:10: error: ‘SHRINK_STOP’ undeclared (first use in this function)
   return SHRINK_STOP;
          ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:461:10: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c: At top level:
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:494:2: error: unknown field ‘count_objects’ specified in initializer
  .count_objects = ashmem_shrink_count,
  ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:494:2: warning: initialization from incompatible pointer type [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:494:2: warning: (near initialization for ‘ashmem_shrinker.shrink’) [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: error: unknown field ‘scan_objects’ specified in initializer
  .scan_objects = ashmem_shrink_scan,
  ^
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: warning: initialization makes integer from pointer without a cast [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: warning: (near initialization for ‘ashmem_shrinker.seeks’) [enabled by default]
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: error: initializer element is not computable at load time
/var/lib/dkms/anbox-ashmem/1/build/ashmem.c:495:2: error: (near initialization for ‘ashmem_shrinker.seeks’)
cc1: warning: unrecognized command line option "-Wno-int-conversion" [enabled by default]
make[2]: *** [/var/lib/dkms/anbox-ashmem/1/build/ashmem.o] Error 1
make[1]: *** [_module_/var/lib/dkms/anbox-ashmem/1/build] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.10.0-957.12.1.el7.x86_64'
make: *** [all] Error 2
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 21:04:00
Nebo, že by se přece jen buildnul?
urcite ne, v ls nevidim .ko (tedy buildnutej jadernej modul) a v buildu mas videt errory ;-)
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 21:15:01
pro zajimavost, v Xubuntu 18.04 build projde bez problemu... a v /var/lib/dkms/.... jsou ashmem_linux.ko i binder_linux.ko

Kód: [Vybrat]
sudo dkms build anbox-ashmem/1

Creating symlink /var/lib/dkms/anbox-ashmem/1/source ->
                 /usr/src/anbox-ashmem-1

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.18.0-17-generic all KERNEL_SRC=/lib/modules/4.18.0-17-generic/build...
cleaning build area...

DKMS: build completed.

Kód: [Vybrat]
sudo dkms build anbox-binder/1

Creating symlink /var/lib/dkms/anbox-binder/1/source ->
                 /usr/src/anbox-binder-1

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.18.0-17-generic all KERNEL_SRC=/lib/modules/4.18.0-17-generic/build....
cleaning build area...

DKMS: build completed.

"donutil" si me nainstalovat CentOS7 do virtualu, vysledek mam stejne jako ty, predpokladam problem s 3.10 jadrem, posledni commit tam ma kolem opravdy, ale asi to netacilo, nebo jde ted o problem s 3.10.novejsim
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 21:42:02
jak sem psal nepouzivam CentOS(ani jine rpm based distra) a tak nevim zda/jake problemu to muze prinest, ale pridal sem elrepo repositar, doinstaloval jadro 4.4.179 (balicky kernel-lt a kernel-lt-devel) a s nim (po rebootu (do nej)) byly moduly ashmem_linux i binder_linux natazene (pri instlaci jadra se diky dkms automaticky zbuildily)
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: neregistrovany 01. 05. 2019, 21:51:30
Protože máš nainstalované nové jádro a hlavičkové soubory, ale používáš pořád to staré.
Nejjednodušší je restart počítače do nového jádra.

To ma byt ta "vyhoda" Linuxu ze po updatu neni nutny reboot?
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 01. 05. 2019, 22:00:00
To ma byt ta "vyhoda" Linuxu ze po updatu neni nutny reboot?
pokud pouzivas distro ktere ma nejakou formu live-kernel-update, tak to znamena ze se na stavajici nabehle jadro v ram aplikujou bezpecnostni zaplaty, tedy reboot neni potreba a bezici jadro je zaplatovane...

pokud ale ma byt provadena kompilace vuci jadru, tak se logicky bere presne verze beziciho jadra, pokud uzivatel nezvoli jinak, pak bud muzes pro stavajici jadro doinstalovat hlavickove souboru stejne verze a takto vytvorene jaderne moduly lze (bez rebootu) zavest, nebo kompilovat vynucene pro nove jadro a moduly (opet logicky) pro jinou/novejsi verzi nez beziciho jadra, se zavedou az po rebootovani to jineho/novejsiho jadra...

pokud by slo o nepotrebu rebootovat pri aktualizaci sluzeb, desktopu, knihoven atd, tak pokud by neslo o libc, tak staci jednoduse restartovat sluzbu/desktop/atd... tedy vse popisovane je to co odlisuje od Windows ktere potrebujou reboot realne pro kazdej "aktualizacni prd"... ;-)
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: František Ryšánek 02. 05. 2019, 14:07:28
Je to hodně dávno, co jsem se naposledy snažil něco přikompilovat k distribučnímu kernelu. Znamená to nainstalovat kernel-headers a nejspíš taky kernel-src pro příslušné jádro... a tehdy jsem narazil na to, že tuším verze modulů v běžícím kernelu (bzImage a /lib/modules) nesedí s balíčkem kernel-src... prostě bez rekompilace a reinstalace celého kernelu jsem se nepohnul. Pokud na tom záleží, tak rekompilovat zdrojáky z distribučního balíčku (SRPM) - a věřit, že jsou shodné s binárním kernelovým RPM, na kterém bazírujete.
Osobně na základě nějakých "svých" důvodů často volím spíš nějaký čerstvý vanilkový kernel s vysokým patch-levelem, kterému jenom nechám čuchnout originální konfigurace (případně ji ořežu podle svého).
Pak nainstalovat a reboot do tohoto kernelu.

A následně všemožné auto-build skripty prostě nemůžou ten kernel minout. Běží, má zabydlený /lib/modules, k nalezení podle symlinků z /lib/modules jsou kompletní zdrojáky včetně kompletního posledního buildu (existuje modversions.h, případně nějaké modernější kryptopodepisovací příslušenství, a všechny objektové soubory a linking-stage meziprodukty).
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 02. 05. 2019, 16:35:39
- tazatel resi Anbox (https://anbox.io/) (=~nevirtualizovane Android aplikace v Desktopu napojene na jadro), to v distribucnim kernelu neni
- problem s verzi modulu by byl(resp. nebyl) az po pripadnem zavedeni, on ma problem s kompilaci
- z elrepo jadrem 4.4 kompilace projde, neprojde ale s 3.10.0-957.12.1.el7.x86_64z

- je to DKMS (https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support), mozna o tom ani nevis a pouzivas to pro neco a pri kazde aktualizaci jadra se ti ty 3rd/externi moduly pres to kompilujou :-) tzn. tvoje davne problemy tady nejsou, jde "jen" o to, aby prislusne zdrojaky modul podporoval to jadro pro ktere se to ma kompilovat

Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: František Ryšánek 02. 05. 2019, 17:30:43
@k3dAR: díky za vysvětlivku.
Jasně, snaží se přikompilovat 3rd-party modul do distribučního jádra - o tom žádná.

Teď jak jste to sesumíroval, tak mě teprve trknul ten rozdíl: 4.4 je OK, 3.10 padne kompilace. To je totiž už dost velký rozdíl verzí, přestože dneska Linus počítá "druhé číslo" už jenom do dvaceti. Řekněme 14 major verzí, jedna vyjde jak často, každé dva měsíce? To je tak dva a půl roku. Za tu dobu se v interním API můžou změnit drobnosti, na které externí modul odkazuje... sám na to pravidelně narážím, u těch ultra-primitivních miniatur co tu a tam napíšu. Přesto zrovna v tomhle případě ta chybová hláška nevypadá, že vůbec došlo na kompilaci nějakého .c ...

OT: Máte pravdu, DKMS neznám a nepoužívám. Automatizace buildování out-of-tree driverů pro nové kernely, zajímavé... 1) Dokáže to nějak automaticky opravovat kosmetické změny interního API v oblasti modulů?  Rozuměl bych, že je to užitečné pro styl práce, kdy dostáváte rekompilované distribuční jádro poměrně často, ale inkrementární změny mezi nimi jsou maličké... a máte hafo svých modulů mimo hlavní strom. 2) Řeší to nějak "the kernel is tainted" u modulů kompilovaných "out of tree"?
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: k3dAR 02. 05. 2019, 19:39:37
mě teprve trknul ten rozdíl: 4.4 je OK, 3.10 padne kompilace. To je totiž už dost velký rozdíl verzí
jde o CentOS kde rozdil mezi 3.10 a 4.4 nebude tak velkej jako u jineho distra, tim ze ma do 3.10 backportovane hromady veci z novejsich, dulezitejsi ale je, ze autor(i) Anbox s CentOS pocitaji a posledni commit (https://github.com/anbox/anbox-modules/commit/67172ec4bd5618319b45e77e9b7721b59b706a75)(pred ~pul rokem) byl prave o uprave/oprave kompilace pod 3.10 jadrem, pravdepodobne ale od te doby doslo v CentOS 3.10.necoposledi k nejake zmene na kterou opet musi udelat opravu, nejsem kernel vyvojar a tak me warning/error kompilace k nicemu nedovedlo abych upravu zvladl sam (neco jineho je kdyz by rvalo ze nema nejakej hlavickovej soubor kterej bych proste zkusil dodat odjinud :)

ad otazka 1-2: nevim :-)
Název: Re:Nevím co si mám počít s kernelem
Přispěvatel: scientific 02. 05. 2019, 22:46:09
jak sem psal nepouzivam CentOS(ani jine rpm based distra) a tak nevim zda/jake problemu to muze prinest, ale pridal sem elrepo repositar, doinstaloval jadro 4.4.179 (balicky kernel-lt a kernel-lt-devel) a s nim (po rebootu (do nej)) byly moduly ashmem_linux i binder_linux natazene (pri instlaci jadra se diky dkms automaticky zbuildily)

Jsi nejlepší, všechno běží. Dík moc za pomoc a hlavně tvůj čas a ochotu, když ses odhodlal i instalovat Centos. Aktualizovat kernel mě také napadlo, ale pak sem si říkal, že to je blbost, že na tom stávajícím to musí taky fungovat, kor, když na githubu autor píše, že fixnul bug na kernelu 3:10.  :) Jsi fakt machr.