• Compilazione kernel con modulo binder_linux e waydroid.

    From Beppe Cantanna@21:1/5 to All on Mon Aug 21 11:50:02 2023
    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.cantanna@glugto.org
    cantanna@glugto.org
    cantanna@gmail.com

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


    *Per favore non inviatemi allegati in formato MS
    Office.Utilizzate alternativamente documenti in formato OpenDocument.* http://en.wikipedia.org/wiki/OpenDocument http://it.wikipedia.org/wiki/OpenDocument


    http://www.documentfoundation.org/
    https://it.libreoffice.org/

    <div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">Ciao,</div><div class="gmail_default" style="font-family:courier new,monospace">volendo usare waydroid su debian testing con lxqt mi sono imbattuto in un paio di problemi:
    <br><br><ol><li>waydroid usa wayland. <br>Soluzione: <br>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&#39;interno di lxqt, quindi
    tutto figo e
  • From Davide Prina@21:1/5 to All on Tue Aug 29 23:20:01 2023
    Beppe Cantanna ha scritto:

    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?

    ma da quanto scrivi non mi sembra che compili usando al Debian way.
    Quando usi un file di configurazione di un una versione versione precedente devi far fare il check per vedere se manca qualche parametro e rispondere
    alle domande per impostazione dei parametri nuovi.

    ti faccio un riassunto di quello che faccio io per compilare una nuova versione di Linux prendendo il .config Debian della stessa versione compilata ed applicando
    le mie impostazioni personalizzate contenute in imposta_config.sh

    $ cd ~/src
    # apt install build-essential fakeroot rsync git
    # apt build-dep linux
    $ mv linux-source.... linux-source....old <- se serve
    $ tar Jxvf /usr/src/linux-source-... <- se serve (se non è cambiata versione rispetto ultima compilazione)
    $ ln -sf ~/src/linux-source-... linux <- se serve (se è cambiata versione rispetto ultima compilazione)
    $ cd linux
    $ cp /boot/config-... .config
    $ ../imposta_config.sh
    $ time make -j 5 bindeb-pkg
    # cd ~/src
    # apt install ./linux-image... ./linux-header... ./linux-libc-dev...

    il file imposta_config.sh contiene righe come le seguenti:
    # disabilita le informazioni di debug
    scripts/config --disable DEBUG_INFO
    scripts/config --disable DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
    scripts/config --disable DEBUG_INFO_BTF
    scripts/config --disable DEBUG_INFO_BTF_MODULES

    # disabilita la firma di Linux (altrimenti solo un certificato valido permette la sua compilazione)
    #scripts/config --disable MODULE_SIG
    scripts/config --set-str SYSTEM_TRUSTED_KEYS ""

    # imposta il postfisso al Linux compilato
    scripts/config --set-str LOCALVERSION "-dp-$(date +%Y%m%d)"
    [...]

    se usi questa modalità e copi il .config della versione da cui vuoi partire dovresti ottenere una versione Linux eseguibile.

    Il mio consiglio è però prendere il .config Debian della versione che vuoi ricompilarti e applicare le tue modifiche... è meglio se ti crei un file
    .sh come ho fatto io che fa le impostazioni in automatico ogni volta che vuoi ricompilarti una nuova versione di Linux

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribuite under AGPL license >= 3.0 all the model trained, all the source you have used to
    training your model and all the source of the program that use that model

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Beppe Cantanna@21:1/5 to All on Thu Aug 31 00:40:01 2023
    Ciao,
    non ho riportato tutti i passaggi, ma anche se l'ho fatto ormai un paio di settimane fa, se non ricordo male anche io ho seguito più o meno quanto descrivi, cioè la via maestra Debian Way, tant'è che nei vari test ho prodotto i pacchetti linux-image*.deb che ho installato ma senza riuscire a attivare il benedetto binder:

    - ho installato i pacchetti che servono per compilare. Ovviamente non mi
    sono inventato nulla, ma ho seguito le varie guide sul sito Debian che non
    riporto qui perché non ce l'ho sottomano.
    - ho scaricato il tar del sorgente.
    - ho decompresso il paccone ottenendo un path con tutti file.
    - ho copiato nel path dei sorgenti scaricati il file /boot/config*
    prendendo quello che stavo usando in quanto mi pareva andasse bene e non
    volevo crearne uno da zero.
    - ho eseguito il *make menuconfig* per abilitare le parti che non lo
    erano ... e qui il liquorix/zen mi ha fregato perché se per dire nel
    kernel-non-liquorixZen il modulo binder era in tristate, nel
    kernel-liquorixZen era in boolean e quindi accettava solo un SI o NO.
    - NON ho fatto i link alla cartella source perché non mi pareva ci fosse
    la necessità, in quanto stavo creando una versione personalizzata in un
    path totalmente separato che mi avrebbe prodotto dei *deb da installare con
    dpkg. Ma potrei sbagliarmi e invece i link servono.
    - NON ho eseguito lo script imposta_config.sh perché non saprei dove
    prenderlo o come popolarlo. Tutte le modifiche che vorrei fare mi aspetto
    di poterle eseguire o direttamente nel file config che poi è un file di
    testo, o via make menuconfig che dovrebbe essere più comodo.
    - ho usato impostazioni di compilazione che non prevedono la firma.
    Tant'è che ho anche generato dei file linux-image*.deb e li ho installati
    ma senza sto benedetto binder.
    non ho usato il *time make ...* perché non lo conoscevo e tutt'ora non
    so che fa ma dopo me lo guardo, mentre per evitare il passare delle ere
    geologiche da un test di compilazione all'altro ho poi scoperto la
    possibilità di impletemntare una chache.
    - quando la compilazione veniva completata, anche io ho installato i
    singoli pacchetti linux-image*.deb, linux-header*.deb, anche se non mi pare
    sia stato prodotto il linux-libc-dev*.deb


    Per quanto riguarda il suggerimento di prendere il config di una versione
    che voglio ricompilare, considera che in alcuni casi si trattava di kernel
    che non metteva direttamente a disposizione il sorgente dal repository, ma potevi scaricare il relativo tar da github.

    Per esempio qui si vede la configurazione del repository:

    bpxroot@hpebian:~/kernel-src/linux-source-6.4$ sudo grep -ri liquorix
    /etc/apt/
    grep: /etc/apt/keyrings/liquorix-keyring.gpg: binary file matches /etc/apt/sources.list.d/liquorix.list:*deb* [arch=amd64 signed-by=/etc/apt/keyrings/liquorix-keyring.gpg]
    https://liquorix.net/debian trixie main /etc/apt/sources.list.d/liquorix.list:*deb-src* [arch=amd64 signed-by=/etc/apt/keyrings/liquorix-keyring.gpg]
    https://liquorix.net/debian trixie main

    ma se cerco il sorgente liquorix trovo nulla:

    $ apt-cache search linux- | grep -i liquorix | grep -i linux-source
    $

    non è che non ci sono i pacchetti liquorix:

    $ apt-cache search linux- | grep -i liquorix linux-headers-6.4.1-1-liquorix-amd64 - Header files for Linux 6.4.1-1-liquorix-amd64
    linux-headers-6.4.1-2-liquorix-amd64 - Header files for Linux 6.4.1-2-liquorix-amd64
    ... lista lunga ...
    linux-image-6.4.9-1-liquorix-amd64 - Linux 6.4 for 64-bit PCs linux-image-liquorix-amd64 - Linux image for liquorix on 64-bit PCs

    se cerco altri sorgenti:

    $ apt-cache search linux- | grep -i linux-source
    linux-source - Linux kernel source (meta-package)
    linux-source-6.4 - Linux kernel source for version 6.4 with Debian patches linux-source-6.1 - Linux kernel source for version 6.1 with Debian patches


    quindi se uno vuole i sorgenti di liquorix li cerca su github ma non è
    detto siano esattamente quelli del pacchetto che ti mettono a disposizione, d'altronde lo capisco, già ti danno i sorgenti di tutto quello che fanno quindi se ti serve roba precedente te la prendi e in un paio di ore la
    compili.


    Nei fatti il mio dubbio era specificatamente in merito alle differenti impostazioni possibili relative al modulo binder e a quelle che a me
    sembrano essere delle pe rme incomprensibili incompatibilità.

    Cmq grazie per le indicazioni.









    Il giorno mar 29 ago 2023 alle ore 23:14 Davide Prina <Davide.Prina@null.net> ha scritto:

    Beppe Cantanna ha scritto:

    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?

    ma da quanto scrivi non mi sembra che compili usando al Debian way.
    Quando usi un file di configurazione di un una versione versione precedente devi far fare il check per vedere se manca qualche parametro e rispondere alle domande per impostazione dei parametri nuovi.

    ti faccio un riassunto di quello che faccio io per compilare una nuova versione
    di Linux prendendo il .config Debian della stessa versione compilata ed applicando
    le mie impostazioni personalizzate contenute in imposta_config.sh

    $ cd ~/src
    # apt install build-essential fakeroot rsync git
    # apt build-dep linux
    $ mv linux-source.... linux-source....old <- se serve
    $ tar Jxvf /usr/src/linux-source-... <- se serve (se non è cambiata
    versione rispetto ultima compilazione)
    $ ln -sf ~/src/linux-source-... linux <- se serve (se è cambiata versione rispetto ultima compilazione)
    $ cd linux
    $ cp /boot/config-... .config
    $ ../imposta_config.sh
    $ time make -j 5 bindeb-pkg
    # cd ~/src
    # apt install ./linux-image... ./linux-header... ./linux-libc-dev...

    il file imposta_config.sh contiene righe come le seguenti:
    # disabilita le informazioni di debug
    scripts/config --disable DEBUG_INFO
    scripts/config --disable DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
    scripts/config --disable DEBUG_INFO_BTF
    scripts/config --disable DEBUG_INFO_BTF_MODULES

    # disabilita la firma di Linux (altrimenti solo un certificato valido permette la sua compilazione)
    #scripts/config --disable MODULE_SIG
    scripts/config --set-str SYSTEM_TRUSTED_KEYS ""

    # imposta il postfisso al Linux compilato
    scripts/config --set-str LOCALVERSION "-dp-$(date +%Y%m%d)"
    [...]

    se usi questa modalità e copi il .config della versione da cui vuoi partire dovresti ottenere una versione Linux eseguibile.

    Il mio consiglio è però prendere il .config Debian della versione che vuoi ricompilarti e applicare le tue modifiche... è meglio se ti crei un file
    .sh come ho fatto io che fa le impostazioni in automatico ogni volta che
    vuoi
    ricompilarti una nuova versione di Linux

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribuite under AGPL license >= 3.0 all the model trained, all the source you have used to training your model and all the source of the program that use that model



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

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


    *Per favore non inviatemi allegati in formato MS
    Office.​​Utilizza​te​ alternativamente documenti in formato OpenDocument.*

    http://en.wikipedia.org/wiki/OpenDocument <http://en.wikipedia.org/wiki/OpenDocument>
    ​ ​
    http://it.wikipedia.org/wiki/OpenDocument


    *​*http://www.documentfoundation.org/
    * ​ *https://it.libreoffice.org/
    ​ ​

    <div dir="ltr"><div style="font-family:courier new,monospace" class="gmail_default"></div><div class="gmail_default" style="font-family:courier new,monospace">Ciao,</div><div class="gmail_default" style="font-family:courier new,monospace">non ho
    riportato tutti i passaggi, ma anche se l&#39;ho fatto ormai un paio di settimane fa, se non ricordo male anche io ho seguito più o meno quanto descrivi, cioè la via maestra Debian Wa
  • From Davide Prina@21:1/5 to All on Sun Sep 3 10:30:01 2023
    Beppe Cantanna ha scritto:

    il liquorix/zen mi ha fregato perché se per dire nel kernel-non-liquorixZen il modulo binder era in tristate, nel kernel-liquorixZen era in boolean

    questo è strano, dovrebbero essere tutti sempre dello stesso tipo a meno che
    i due config si riferissero a due versioni di Linux diverse e tra le due è stato cambiato il tipo del parametro.

    Non so cosa sia liquorix

    NON ho fatto i link alla cartella source perché non mi pareva ci fosse
    la necessità

    è utile se compili più versioni di Linux, in modo da avere il path sempre uguale.
    Tieni conto che però di non usare l'utente root per compilare Linux, perché potresti così ottenere qualcosa di non funzionante.

    NON ho eseguito lo script imposta_config.sh perché non saprei dove prenderlo

    non puoi prenderlo da nessuna parte è qualcosa che fai tu

    o come popolarlo

    per questo guarda la prime righe del mio che ti ho messo nella risposta precedente e poi guarda sulla documentazione di Linux.
    Io usavo (le ultime versioni non le ho ricompilate, sto vedendo come va con quello ufficiale Debian) lo script in modo da applicare tutte le modifiche
    che volevo in modo automatico.

    via make menuconfig che dovrebbe essere più comodo

    ma qui ci perdi ogni volta una marea di tempo perché a manina devi andare
    a fare tutte le impostazioni a mano.
    Io per esempio ho disabilitato tante cose che non ha il mio PC e che quindi
    è inutile che me le attivi.

    non ho usato il time make ... perché non lo conoscevo e tutt'ora non so
    che fa ma

    ma non fa altro che indicarti quanto tempo ha impiegato a compilarlo sia
    come utente che reale.
    Io di solito lo compilo mentre faccio altro e uso il tempo per capire di
    quando è aumentato il tempo di compilazione... non è necessario usarlo

    non mi pare sia stato prodotto il linux-libc-dev*.deb

    questo è dipendente dalla tua compilazione e quindi devi installarlo, altrimenti alcune cose potrebbero non funzionare correttamente

    in alcuni casi si trattava di kernel che non metteva direttamente a disposizione il sorgente dal repository, ma potevi scaricare il relativo
    tar da github.

    ma questa è un'altra storia, compili Linux originario senza le patch Debian
    e le impostazioni Debian

    bpxroot@hpebian:~/kernel-src/linux-source-6.4$ sudo grep -ri liquorix /etc/apt/
    grep: /etc/apt/keyrings/liquorix-keyring.gpg: binary file matches /etc/apt/sources.list.d/liquorix.list:deb [arch=amd64 signed-by=/etc/apt/keyrings/liquorix-keyring.gpg] https://liquorix.net/debian trixie main
    /etc/apt/sources.list.d/liquorix.list:deb-src [arch=amd64 signed-by=/etc/apt/keyrings/liquorix-keyring.gpg] https://liquorix.net/debian[https://liquorix.net/debian] trixie main
     
    qui hai impostato tu di considerare affidabili le chiavi di questo
    liquorix

    ma se cerco il sorgente liquorix trovo nulla:
     
    $ apt-cache search linux- | grep -i liquorix | grep -i linux-source
    $
     
    dovevi fare
    $ dpkg -l | grep liquorix
    per vedere quelli installati... a meno che tu non abbia aggiunto un
    repository non ufficiale

    $ apt-cache search linux-  | grep -i liquorix linux-headers-6.4.1-1-liquorix-amd64 - Header files for Linux 6.4.1-1-liquorix-amd64

    quindi hai aggiunto un repository non ufficiale, cosa che è sconsigliata se non si è
    esperti e non si voglia rischiare di rompere Debian

    Il fatto che non ci siano i sorgenti dipende da repository che hai aggiunto... e
    magari anche da come li chiama, magari li chiama semplicemente linux-source senza
    liquorix e se il repository è in cima usa questi al posto di quelli ufficiali...
    per questo dicevo che devi essere esperto per fare cose del genere, altrimenti rischi di spaccare Debian e avere un sistema che non funziona correttamente

    Ciao
    Davide 

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to
    training your model and all the source of the program that use that model

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Beppe Cantanna@21:1/5 to All on Sun Sep 3 15:50:01 2023
    il liquorix/zen mi ha fregato perché se per dire nel
    kernel-non-liquorixZen
    il modulo binder era in tristate, nel kernel-liquorixZen era in boolean




    *questo è strano, dovrebbero essere tutti sempre dello stesso tipo a meno
    che i due config si riferissero a due versioni di Linux diverse e tra le
    due è stato cambiato il tipo del parametro.*
    * Non so cosa sia liquorix*

    Zen Liquorix è il kernel Debian compilato in maniera ottimizzata.
    Ottimizzata secondo i criteri di chi ci lavora, ovviamente. A leggere su
    vari siti non mi pare si tratti del frutto dell'ultimo nerd represso. Poi magari il team di lavoro è composto solo da due persone che passano le loro domeniche a smanettarci in un sottoscala.

    Comunque come vedi ArchLinux, quindi non l'ultima delle distribuzioni, lo elenca fra quelli supportati.

    Qui non siamo in ArchLinux ma in Debian, però direi che non è da
    considerare un azzardo così eccessivo l'idea di installarlo.

    Tanto, il fatto che sia supportato o meno non mi risulta significhi che se qualcosa va storto ti vedi arrivare uno del Kernel Team che viene a
    metterti a posto le cose. Tocca sempre a te sistemare i casini e poiché in questo caso non si parla di ambienti di produzione con un cliente che ti
    soffia sul collo, il rischio grava tutto sulle parti esposte di chi fa esperimenti.

    https://liquorix.net/
    Liquorix Kernel

    Liquorix is an enthusiast Linux kernel designed for uncompromised responsiveness in interactive systems, enabling low latency compute in A/V production, and reduced frame time deviations in games.

    https://wiki.archlinux.org/title/Kernel

    - *Zen Kernel* — Result of a collaborative effort of kernel hackers to
    provide the best Linux kernel possible for everyday systems. Some more
    details can be found on https://liquorix.net (which provides kernel
    binaries based on Zen for Debian).

    https://github.com/zen-kernel/zen-kernel || linux-zen <https://archlinux.org/packages/?name=linux-zen>


    via make menuconfig che dovrebbe essere più comodo




    *ma qui ci perdi ogni volta una marea di tempo perché a manina devi andare
    a fare tutte le impostazioni a mano. Io per esempio ho disabilitato tante
    cose che non ha il mio PC e che quindi è inutile che me le attivi.*

    Se gli dai un config di partenza non devi riconfigurare *tutto a manina *ma
    vai a variare solo le parti che ti interessa cambiare, tipo attivare driver non abilitati di default.


    non ho usato il time make ... perché non lo conoscevo e tutt'ora non so
    che fa ma




    * ma non fa altro che indicarti quanto tempo ha impiegato a compilarlo sia
    come utente che reale. Io di solito lo compilo mentre faccio altro e uso il tempo per capire di quando è aumentato il tempo di compilazione... non è necessario usarlo*

    ah tipo che se faccio così:

    bpxroot@hpebian:~$ time sleep 3

    real 0m3,001s
    user 0m0,000s
    sys 0m0,001s

    ti dice che ci ha messo 3 secondi. Non ho riconosciuto il comando. Si interessante sapere come ha impegnato il tempo che comunque guardando l'orologio vedo che si frega sempre circa due ore e mezza :(.


    in alcuni casi si trattava di kernel che non metteva direttamente a disposizione il sorgente dal repository, ma potevi scaricare il relativo
    tar da github.


    *ma questa è un'altra storia, compili Linux originario senza le patch
    Debian e le impostazioni Debian*

    Infatti non si tratta dell'originale puro e duro ma del kernel
    zen-liquorix, analogo al xanmod kernel.

    Mi risulta che sia utilizzato ufficialmente in altre distribuzioni, quindi
    non è un progetto diciamo troppo carbonaro.
    Comunque certo non è ufficialmente supportato e fornito da Debian ma non
    era questo il punto del problema tecnico.



    bpxroot@hpebian:~/kernel-src/linux-source-6.4$ sudo grep -ri liquorix
    /etc/apt/
    grep: /etc/apt/keyrings/liquorix-keyring.gpg: binary file matches /etc/apt/sources.list.d/liquorix.list:deb [arch=amd64
    signed-by=/etc/apt/keyrings/liquorix-keyring.gpg]
    https://liquorix.net/debian trixie main
    /etc/apt/sources.list.d/liquorix.list:deb-src [arch=amd64
    signed-by=/etc/apt/keyrings/liquorix-keyring.gpg] https://liquorix.net/debian[https://liquorix.net/debian] trixie main


    * qui hai impostato tu di considerare affidabili le chiavi di questo
    liquorix*

    Esattamente. Come se non sbaglio ho detto dalla mia prima mail.


    ma se cerco il sorgente liquorix trovo nulla:

    $ apt-cache search linux- | grep -i liquorix | grep -i linux-source
    $




    *dovevi fare $ dpkg -l | grep liquorix per vedere quelli installati... a
    meno che tu non abbia aggiunto un repository non ufficiale*

    Certo ne ero consapevole, ma qui non sto appunto cercando fra i sorgenti installati ma fra quelli che il loro repositori metterebbe a disposizione.

    Per esempio, se cerco i sorgenti installati sulla mia macchina ne trovo
    solo uno, mentre se cerco fra quelli sui repository ne trovo molti di più.

    Quindi poiché il problema era installare i loro sorgenti, stavo appunto coscientemente cercando nei repository. Il passaggio logico era "ti danno
    il compilato, avranno anche i sorgenti.

    Invece ciccia:

    $ apt-cache search linux- | grep -i liquorix | grep -i linux-source
    $


    Certamente se non applico il grep sulla stringa liquorix ottengo i nomi dei pacchetti linux-source disponibili.

    $ apt-cache search linux-source
    linux-source - Linux kernel source (meta-package)
    linux-source-6.4 - Linux kernel source for version 6.4 with Debian patches linux-source-6.1 - Linux kernel source for version 6.1 with Debian patches


    $ apt-cache search linux- | grep -i liquorix linux-headers-6.4.1-1-liquorix-amd64 - Header files for Linux
    6.4.1-1-liquorix-amd64


    *quindi hai aggiunto un repository non ufficiale, cosa che è sconsigliata
    se non si è esperti e non si voglia rischiare di rompere Debian*

    Ritengo di avere quel minimo di competenza per farlo, infatti il mio
    quesito non era tanto sulla plausibilità dell'operazione.


    *Il fatto che non ci siano i sorgenti dipende da repository che hai
    aggiunto... *

    Non ho improvvisato troppo. Ho cercato di seguire le loro istruzioni disponibili direttamente qui "https://liquorix.net/", le quali ritengo mi abbiano fatto aggiungere il repository che loro indicano di aggiungere.

    $ sudo grep -ril liquorix /etc/apt/
    [sudo] password for bpxroot:
    /etc/apt/keyrings/liquorix-keyring.gpg
    /etc/apt/sources.list.d/liquorix.list

    $ cat /etc/apt/sources.list.d/liquorix.list
    deb [arch=amd64 signed-by=/etc/apt/keyrings/liquorix-keyring.gpg] https://liquorix.net/debian trixie main
    deb-src [arch=amd64 signed-by=/etc/apt/keyrings/liquorix-keyring.gpg] https://liquorix.net/debian trixie main



    *e magari anche da come li chiama, magari li chiama semplicemente
    linux-source senza*
    *liquorix e se il repository è in cima usa questi al posto di quelli ufficiali...*
    Si fossero chiamati semplicemente linux-source con qualche altra particella criptica sarebbero venuti fuori da una ricerca tipo questa:

    $ apt-cache search linux- | grep -i linux-source
    linux-source - Linux kernel source (meta-package)
    linux-source-6.4 - Linux kernel source for version 6.4 with Debian patches linux-source-6.1 - Linux kernel source for version 6.1 with Debian patches

    e nel caso si ipotizzi fossero così pasticcioni da dare lo stesso nome dei pacchetti ufficiali, è possibile dipanare i dubbi nel seguente modo:

    root@hpebian:~# apt-cache policy linux-source
    linux-source:
    Installed: (none)
    Candidate: 6.4.11-1
    Version table:
    6.4.11-1 500
    500 http://ftp.it.debian.org/debian testing/main amd64 Packages
    500 http://ftp.it.debian.org/debian testing/main i386 Packages
    500 http://ftp.debian.org/debian testing/main amd64 Packages
    500 http://ftp.debian.org/debian testing/main i386 Packages
    6.1.38-1 500
    500 http://ftp.debian.org/debian stable/main amd64 Packages
    500 http://ftp.debian.org/debian stable/main i386 Packages
    6.1.27-1 500
    500 http://ftp.debian.org/debian stable/main amd64 Packages
    500 http://ftp.debian.org/debian stable/main i386 Packages

    root@hpebian:~# apt-cache policy linux-source-6.4
    linux-source-6.4:
    Installed: 6.4.11-1
    Candidate: 6.4.11-1
    Version table:
    *** 6.4.11-1 500
    500 http://ftp.it.debian.org/debian testing/main amd64 Packages
    500 http://ftp.it.debian.org/debian testing/main i386 Packages
    500 http://ftp.debian.org/debian testing/main amd64 Packages
    500 http://ftp.debian.org/debian testing/main i386 Packages
    100 /var/lib/dpkg/status

    root@hpebian:~# apt-cache policy linux-source-6.1
    linux-source-6.1:
    Installed: (none)
    Candidate: 6.1.38-1
    Version table:
    6.1.38-1 500
    500 http://ftp.debian.org/debian stable/main amd64 Packages
    500 http://ftp.debian.org/debian stable/main i386 Packages
    6.1.27-1 500
    500 http://ftp.debian.org/debian stable/main amd64 Packages
    500 http://ftp.debian.org/debian stable/main i386 Packages




    *per questo dicevo che devi essere esperto per fare cose del genere,
    altrimenti rischi di spaccare Debian e avere un sistema che non funziona correttamente*

    Si diciamo che un po' di pratica dovrei averla, infatti non si è spaccato nulla.


    Nei fatti il dubbio risiede solo in questi due punti:

    - In varie guide si parla del kernel zen come compilato apposta per far
    funzionare waydroid.
    - e qui mi chiedo se qualcuno si è già scontrato con questa che a me
    sembra una inesattezza, dato che l'unico kernel con cui su Debian (unica
    distro su cui ho fatto prove) non mi funziona waydroid a causa della
    mancanza del modulo binder è proprio il kernel zen-liquorix.

    - Cercando di abilitare il modulo binder ricompilando il kernel
    zen-liquorix ho visto che i valori assegnabili non erano compatibili con
    quelli necessari per l'attivazione di questo @#%%+ modulo binder.


    Con il kernel ufficiale e il kernel xanmod invece tutto ok.

    Quindi al netto di tutte le disquisizioni sulla compilazione, cosa che è sempre interessante fare perché non è male sapere come le cose vengono
    fatte anche da altri, io mi sto chiedendo se qualcuno ha mai scontrato i
    due punti qui sopra elencati.


    Ciao

    Il giorno dom 3 set 2023 alle ore 10:20 Davide Prina <Davide.Prina@null.net>
    ha scritto:

    Beppe Cantanna ha scritto:

    il liquorix/zen mi ha fregato perché se per dire nel
    kernel-non-liquorixZen
    il modulo binder era in tristate, nel kernel-liquorixZen era in boolean

    questo è strano, dovrebbero essere tutti sempre dello stesso tipo a meno
    che
    i due config si riferissero a due versioni di Linux diverse e tra le due è stato cambiato il tipo del parametro.

    Non so cosa sia liquorix

    NON ho fatto i link alla cartella source perché non mi pareva ci fosse
    la necessità

    è utile se compili più versioni di Linux, in modo da avere il path sempre uguale.
    Tieni conto che però di non usare l'utente root per compilare Linux, perché potresti così ottenere qualcosa di non funzionante.

    NON ho eseguito lo script imposta_config.sh perché non saprei dove
    prenderlo

    non puoi prenderlo da nessuna parte è qualcosa che fai tu

    o come popolarlo

    per questo guarda la prime righe del mio che ti ho messo nella risposta precedente e poi guarda sulla documentazione di Linux.
    Io usavo (le ultime versioni non le ho ricompilate, sto vedendo come va con quello ufficiale Debian) lo script in modo da applicare tutte le modifiche che volevo in modo automatico.

    via make menuconfig che dovrebbe essere più comodo

    ma qui ci perdi ogni volta una marea di tempo perché a manina devi andare
    a fare tutte le impostazioni a mano.
    Io per esempio ho disabilitato tante cose che non ha il mio PC e che quindi è inutile che me le attivi.

    non ho usato il time make ... perché non lo conoscevo e tutt'ora non so che fa ma

    ma non fa altro che indicarti quanto tempo ha impiegato a compilarlo sia
    come utente che reale.
    Io di solito lo compilo mentre faccio altro e uso il tempo per capire di quando è aumentato il tempo di compilazione... non è necessario usarlo

    non mi pare sia stato prodotto il linux-libc-dev*.deb

    questo è dipendente dalla tua compilazione e quindi devi installarlo, altrimenti alcune cose potrebbero non funzionare correttamente

    in alcuni casi si trattava di kernel che non metteva direttamente a disposizione il sorgente dal repository, ma potevi scaricare il relativo tar da github.

    ma questa è un'altra storia, compili Linux originario senza le patch Debian e le impostazioni Debian

    bpxroot@hpebian:~/kernel-src/linux-source-6.4$ sudo grep -ri liquorix
    /etc/apt/
    grep: /etc/apt/keyrings/liquorix-keyring.gpg: binary file matches /etc/apt/sources.list.d/liquorix.list:deb [arch=amd64
    signed-by=/etc/apt/keyrings/liquorix-keyring.gpg]
    https://liquorix.net/debian trixie main
    /etc/apt/sources.list.d/liquorix.list:deb-src [arch=amd64
    signed-by=/etc/apt/keyrings/liquorix-keyring.gpg] https://liquorix.net/debian[https://liquorix.net/debian] trixie main

    qui hai impostato tu di considerare affidabili le chiavi di questo
    liquorix

    ma se cerco il sorgente liquorix trovo nulla:

    $ apt-cache search linux- | grep -i liquorix | grep -i linux-source
    $

    dovevi fare
    $ dpkg -l | grep liquorix
    per vedere quelli installati... a meno che tu non abbia aggiunto un repository non ufficiale

    $ apt-cache search linux- | grep -i liquorix linux-headers-6.4.1-1-liquorix-amd64 - Header files for Linux
    6.4.1-1-liquorix-amd64

    quindi hai aggiunto un repository non ufficiale, cosa che è sconsigliata
    se non si è
    esperti e non si voglia rischiare di rompere Debian

    Il fatto che non ci siano i sorgenti dipende da repository che hai aggiunto... e
    magari anche da come li chiama, magari li chiama semplicemente
    linux-source senza
    liquorix e se il repository è in cima usa questi al posto di quelli ufficiali...
    per questo dicevo che devi essere esperto per fare cose del genere, altrimenti
    rischi di spaccare Debian e avere un sistema che non funziona correttamente

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to training your model and all the source of the program that use that model



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

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


    *Per favore non inviatemi allegati in formato MS
    Office.​​Utilizza​te​ alternativamente documenti in formato OpenDocument.*

    http://en.wikipedia.org/wiki/OpenDocument <http://en.wikipedia.org/wiki/OpenDocument>
    ​ ​
    http://it.wikipedia.org/wiki/OpenDocument


    *​*http://www.documentfoundation.org/
    * ​ *https://it.libreoffice.org/
    ​ ​

    <div dir="ltr"><div style="font-family:courier new,monospace" class="gmail_default"><span class="gmail-im">&gt; il liquorix/zen mi ha fregato perché se per dire nel kernel-non-liquorixZen<br>
    &gt; il modulo binder era in tristate, nel kernel-liquorixZen era in boolean<br>
    <br></span><div style="margin-left:40px">
    <i>questo è strano, dovrebbero essere tutti sempre dello stesso tipo a meno che<br>
    i due config si riferissero
  • From Davide Prina@21:1/5 to All on Sun Sep 10 11:00:01 2023
    È davvero difficile leggere le mail che quoti in questo modo.
    Dovresti rispondere solo in modo testo, non html e quotare
    in modo corretto. Questo permetterebbe di rendere più leggibile
    quando scrivi ed invogliare gli altri iscritti a leggere e a
    risponderti.

    Inoltre quando rispondi dovresti solo rispondere in lista, a
    meno che qualcuno indichi che non è iscritto e richieda di
    essere messo in CC.

    Beppe Cantanna ha scritto:

    Davide Prina ha scritto:

    Beppe Cantanna
    via make menuconfig che dovrebbe essere più comodo

    ma qui ci perdi ogni volta una marea di tempo perché a manina devi andare >> a fare tutte le impostazioni a mano.
    Io per esempio ho disabilitato tante cose che non ha il mio PC e che quindi >> è inutile che me le attivi.

    Se gli dai un config di partenza non devi riconfigurare tutto a manina ma
    vai a variare solo le parti che ti interessa cambiare, tipo attivare driver non abilitati di default.

    ho ricompilato molte volte Linux.
    All'inizio facevo così anch'io, ma ci perdevo sempre troppo tempo.
    Facendo con la modalità che ti ho indicato impieghi personalmente veramente pochi secondi/minuti di attività che devi fare tu.
    Naturalmente questo funziona se parti da Linux con un file .config già configurato per quella versione e tramite il tuo script fai, in automatico,
    le modifiche che ti interessano. Per tutto il resto, compresi i nuovi
    parametri rispetto alla versione precedente, ti fidi di quanto fatto da chi crea il .config.
    L'unico caso è quello in cui vengono inserite dipendenze/incompatibilità rispetto a quanto vuoi settare tu e quindi devi vedere a mano questi casi
    e sistemare lo script... ma da quel che ho visto io questa casistica è abbastanza rara e si risolve in pochi minuti

    Per quanto riguarda il problema del thread, purtroppo non saprei risponderti
    e per capire qualcosa in più dovrei investire troppo tempo...

    Ciao
    Davide
     
    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to
    training your model and all the source of the program that use that model

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Beppe Cantanna@21:1/5 to All on Sun Sep 10 23:20:01 2023
    Ciao,
    mi pare di aver risposto sempre alla lista mettendo te in conoscenza.

    Uso tendenzialmente la mail da web. Mi spiace ti abbia reso difficile la comprensione.


    Davide Prina ha scritto:





    *ho ricompilato molte volte Linux. All'inizio facevo così anch'io, ma ci perdevo sempre troppo tempo. Facendo con la modalità che ti ho indicato impieghi personalmente veramente pochi secondi/minuti di attività che devi fare tu. Naturalmente questo funziona se parti da Linux con un file .config già configurato per quella versione e tramite il tuo script fai, in automatico,*

    Sì appunto parto da un file .config già configurato e non ci metto ore a cambiarlo perché cambio solo quello che mi interessa. Ci metto ore a compilarlo a meno che non lo faccia usando un sistema di cache.


    Davide Prina ha scritto:



    *L'unico caso è quello in cui vengono inserite dipendenze/incompatibilità rispetto a quanto vuoi settare tu e quindi devi vedere a mano questi casi e sistemare lo script... ma da quel che ho visto io questa casistica è abbastanza rara e si risolve in pochi minuti*

    Evidentemente è questo il caso e non c'è piena compatibilità fra la configurazione kernel liquorix-zen e quella mainstream.


    Davide Prina ha scritto:
    Per quanto riguarda il problema del thread, purtroppo non saprei risponderti
    e per capire qualcosa in più dovrei investire troppo tempo...

    Non è il caso di spendere tempo sul problema dei thread ... anche perché onestamente non mi pareva di averne parlato.


    Un saluto


    Il giorno dom 10 set 2023 alle ore 10:54 Davide Prina <Davide.Prina@null.net> ha scritto:

    È davvero difficile leggere le mail che quoti in questo modo.
    Dovresti rispondere solo in modo testo, non html e quotare
    in modo corretto. Questo permetterebbe di rendere più leggibile
    quando scrivi ed invogliare gli altri iscritti a leggere e a
    risponderti.

    Inoltre quando rispondi dovresti solo rispondere in lista, a
    meno che qualcuno indichi che non è iscritto e richieda di
    essere messo in CC.

    Beppe Cantanna ha scritto:

    Davide Prina ha scritto:

    Beppe Cantanna
    via make menuconfig che dovrebbe essere più comodo

    ma qui ci perdi ogni volta una marea di tempo perché a manina devi
    andare
    a fare tutte le impostazioni a mano.
    Io per esempio ho disabilitato tante cose che non ha il mio PC e che quindi
    è inutile che me le attivi.

    Se gli dai un config di partenza non devi riconfigurare tutto a manina ma vai a variare solo le parti che ti interessa cambiare, tipo attivare
    driver
    non abilitati di default.

    ho ricompilato molte volte Linux.
    All'inizio facevo così anch'io, ma ci perdevo sempre troppo tempo.
    Facendo con la modalità che ti ho indicato impieghi personalmente veramente pochi secondi/minuti di attività che devi fare tu.
    Naturalmente questo funziona se parti da Linux con un file .config già configurato per quella versione e tramite il tuo script fai, in automatico, le modifiche che ti interessano. Per tutto il resto, compresi i nuovi parametri rispetto alla versione precedente, ti fidi di quanto fatto da chi crea il .config.
    L'unico caso è quello in cui vengono inserite dipendenze/incompatibilità rispetto a quanto vuoi settare tu e quindi devi vedere a mano questi casi
    e sistemare lo script... ma da quel che ho visto io questa casistica è abbastanza rara e si risolve in pochi minuti

    Per quanto riguarda il problema del thread, purtroppo non saprei
    risponderti
    e per capire qualcosa in più dovrei investire troppo tempo...

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to training your model and all the source of the program that use that model



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

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


    *Per favore non inviatemi allegati in formato MS
    Office.​​Utilizza​te​ alternativamente documenti in formato OpenDocument.*

    http://en.wikipedia.org/wiki/OpenDocument <http://en.wikipedia.org/wiki/OpenDocument>
    ​ ​
    http://it.wikipedia.org/wiki/OpenDocument


    *​*http://www.documentfoundation.org/
    * ​ *https://it.libreoffice.org/
    ​ ​

    <div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">Ciao,</div><div class="gmail_default" style="font-family:courier new,monospace">mi pare di aver risposto sempre alla lista mettendo te in conoscenza.<br><br></div><div
    class="gmail_default" style="font-family:courier new,monospace">Uso tendenzialmente la mail da web. Mi spiace ti abbia reso difficile la comprensione.</div><div class="gmail_defau
  • From Paride Desimone@21:1/5 to All on Sat Oct 7 00:30:01 2023
    Il 10 settembre 2023 08:54:12 UTC, Davide Prina <Davide.Prina@null.net> ha scritto:
    È davvero difficile leggere le mail che quoti in questo modo.

    Diciamo pure che è fastidiosissimo. Da android poi è un vero delirio. Io per esempio le ho saltate a piè pari.

    /paride




    --
    Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)