Stranezza dischi Usb

2023-08-21 Per discussione fran...@modula.net

Salve a tutti.

Rilevo questo stranezza quando collego dischi Usb:

Caso A)
Sul monitor Vga del server  è presente la videata di login di Gnome e 
l'operatore, senza fare login, collega un disco esterno Usb formattato Ext4.
Mi collego al server con Ssh e non vedo alcun disco esterno connesso. 
Ovvero, non lo vedo listato in /dev/disk/by-uuid né in /dev/disk/by-id.


Caso B)
Sul monitor Vga del server è presente la videata di login a caratteri e 
l'operatore, senza fare login, collega lo stesso disco esterno sulla 
stessa porta Usb.
Mi collego al server con Ssh e vedo che il disco esterno Usb è connesso. 
Ovvero, lo vedo listato sia in /dev/disk/by-uuid che in /dev/disk/by-id.


Non ho pieno controllo sul server remoto: mi devo fidare di quello che 
mi dice l'operatore e quindi ci potrebbero essere anche altre cause.


Qualcuno si è mai imbattuto in qualcosa di simile?

Luciano




Compilazione kernel con modulo binder_linux e waydroid.

2023-08-21 Per discussione Beppe Cantanna
Ciao,
volendo usare waydroid su debian testing con lxqt mi sono imbattuto in un
paio di problemi:


   1. waydroid usa wayland.
   Soluzione:
   A forza di cercare un modo di attivare wayland senza dover reinstallare
   tutto o cambiare il desktop, alla fine ho scoperto che il DE weston è
   utilizzabile anche all'interno di lxqt, quindi tutto figo e posso avviarlo.

   2. wayland si bloccava con il messaggio:

   [gbinder] WARNING: Service manager /dev/binder has died

   Anche se in alcune guide veniva detto che per avere il modulo binder,
   non attivo di default nel kernel  debian, o lo si inseriva con dkms o si
   usava il kernel zen, che ho trovato approdando a questo sito:
   https://liquorix.net/

   Quindi ho installato il kernel liquorix/zen scoprendo che in realtà non
   ha il modulo binder, allora ho provato la compilazione via dkms che non ha
   funzionato.

   Soluzione:
   Il kernel di debian tipo linux-image-6.1.0-1-amd64 o
   linux-image-6.4.0-2-amd64, come anche il kernel
   xanmod linux-image-6.4.11-x64v3-xanmod1 hanno già il modulo binder attivo e
   waydroid funziona via weston anche in lxqt. Il liquorix/zen no.

   $ lsmod | grep bind
   binder_linux  135168  0


Quindi tutto figo e problemi zero. Allora ho voluto fare un passetto in
più, cioè ho pensato che potevo scaricare i sorgenti del kernel
liquorix/zen modificare il config e ricompilare.

Ovviamente no, perché tendando di applicare le stesse impostazioni trovate
dove il modulo binder veniva compilato ottenevo che i valori non erano
applicabili generando questi errori:

.config:10176:warning: symbol value 'm' invalid for ANDROID_BINDER_IPC
.config:10177:warning: symbol value 'm' invalid for ANDROID_BINDERFS

scoprendo poi (la compilazione del kernel non è mai stata una mia passione)
che bisognava modificare da bool a tristate l'impostazione del relativo
file Kconfig:

$ grep -A2 config\ ANDROID_BINDER_IPC$
/home/bpxroot/kernel-src/liquorix-package/lqx-zen-02/zen-kernel/drivers/android/Kconfig
config ANDROID_BINDER_IPC
tristate "Android Binder IPC Driver"
depends on MMU

Gli errori sono scomparsi ma, ne sono arrivati dei nuovi. Poi la cosa
meravigliosa è che la compilazione ci mette più di due ore per dare
l'errore.

Comando di compilazione:
$ make -j8 deb-pkg LOCALVERSION=-bpxlab KDEB_PKGVERSION=$(make
kernelversion)-20230820-02

Errore:
  AR  drivers/powercap/built-in.a
drivers/android/binderfs.c:86:6: error: redefinition of ‘is_binderfs_device’
   86 | bool is_binderfs_device(const struct inode *inode)
  |  ^~
In file included from drivers/android/binderfs.c:37:
drivers/android/binder_internal.h:87:20: note: previous definition of
‘is_binderfs_device’ with type ‘bool(const struct inode *)’ {aka
‘_Bool(const struct inode *)’}
   87 | static inline bool is_binderfs_device(const struct inode *inode)
  |^~
drivers/android/binderfs.c:500:6: error: redefinition of
‘binderfs_remove_file’
  500 | void binderfs_remove_file(struct dentry *dentry)
  |  ^~~~
drivers/android/binder_internal.h:98:20: note: previous definition of
‘binderfs_remove_file’ with type ‘void(struct dentry *)’
   98 | static inline void binderfs_remove_file(struct dentry *dentry) {}
  |^~~~
drivers/android/binderfs.c:515:16: error: redefinition of
‘binderfs_create_file’
  515 | struct dentry *binderfs_create_file(struct dentry *parent, const
char *name,
  |^~~~
drivers/android/binder_internal.h:91:30: note: previous definition of
‘binderfs_create_file’ with type ‘struct dentry *(struct dentry *, const
char *, const struct file_operations *, void *)’
   91 | static inline struct dentry *binderfs_create_file(struct dentry
*dir,
  |  ^~~~
drivers/android/binderfs.c:799:12: error: redefinition of ‘init_binderfs’
  799 | int __init init_binderfs(void)
  |^
drivers/android/binder_internal.h:104:26: note: previous definition of
‘init_binderfs’ with type ‘int(void)’
  104 | static inline int __init init_binderfs(void)
  |  ^
make[7]: *** [scripts/Makefile.build:252: drivers/android/binderfs.o] Error
1
make[6]: *** [scripts/Makefile.build:497: drivers/android] Error 2


A questo punto dopo vari tentativi e lunghe ore, arrivato all'alba ho detto
tante parolacce e chiuso la questione.

Ma non mi spiego quale sia il problema.

Perché i kernel linux-image-6.4.0-2-amd64 e
linux-image-6.4.11-x64v3-xanmod1 sono compilati con il modulo binder
attivo, ma se cerco di riportare le stesse impostazioni sul sorgente di
linux-image-6.4.11-2-liquorix-amd64 la compilazione fallisce?

Qualche idea in merito ?


Grazie


-- 
*CANTANNA Giuseppe*
cel. +39 349 1998700
giuseppe.canta...@glugto.org
canta...@glugto.org
canta...@gmail.com

bproot.bc - Linux user n. 502620 registered on http://counter.li.org/
*Nodo