Tecnologia e non solo

aprile 22, 2008

Hardy Heron e i kernel custom (2.6.25)

Filed under: Guida pericolosa,Hardy — telperion @ 8:01 pm

Continua la tradizione “come-ti-complico-la-vita”
che persegue Ubuntu con la sua “allegra gestione”
dei moduli ristretti ed ora anche-non.

Compilato il recente 2.6.25 sulla Hardy tra i consueti slalom ubuntiani
per poter compilare il modulo Nvidia (pacchetto .run)

Ed ecco quà il nostro kernel in azione

immagine hardy kernel 2.6.25


Come al solito dal kernel 2.6.24 make-kpkg

sudo make-kpkg --initrd --append_to_version -mc kernel_image kernel_headers

produce pacchetti kernel_headers assolutamente non funzionanti, costringendoci a tenere
tutti i sorgenti del kernel in /usr/src, altrimenti non compilate nulla,
ma vabbè qui Ubuntu non c’entra nulla:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475029
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=370651

Come di consueto ho ricavato la configurazione di base con un bel

sudo oldconfig

seguita da fine tuning su processore memoria no-smp timer adatti alla mia cpu come di consueto.
Compilato installato riavviato e:

immagine no scheda audio

Ma porca paletta!!! ***
E adesso perchè non vedi la scheda audio?!

Ma perchè questi simpaticoni hanno fatto una divisione dei moduli tutta particolare,
e nel config non c’è più la “configurazione” di parecchia (quanta?) roba.

Nel mio caso per l’audio con make menuconfig scopro che la sezione
Device Drivers – Sound è completamente non configurata, ergo
setto le impostazioni base, abilito il modulo per la mia scheda audio e ricompilo.

immagine menuconfig

Installo e riavvio e tutto ok. Kernel 2.6.26-mc attivo, ma che fatica!

Quindi attenzione con schede varie che dovete controllare e riconfigurarvi a mano, non ho idea quali driver siano stati spostati nella “allegra gestione” presumo tutti quelli che sono nella cartella
/lib/modules/2.6.24-16-generic/ubuntu

Certo che Ubuntu diventa sempre più “chiuso” (tra virgolette) e fuori standard.
Io onestamente non capisco perchè devo fare i salti mortali per aggiornare kernel e driver video
(che Ubuntu non aggiorna) quando in 6 mesi, ne escono almeno 6 versioni nuove.

Provocazione.

È ancora Gnu/Linux (filosofia ricordo che prevede che io prendo una cosa e la modifico a mio totale piacimento) questo?

*** versione morigerata di ben altro livello di “lamentazione”

UPDATE:
pare che il moduli mancanti siano quelli audio e basta, quindi configurate con attenzione la sezione
Device Drivers – Sound
immagine menuconfig

Annunci

33 commenti

  1. Scusa, ok per il restricted manager che è na rogna, ma il problema dell’audio dove sta?

    Personalmente quando ricompilo il kernel è mia premura fregarmene quasi totalmente di cosa dovrebbe o non dovrebbe esserci nella config di base, e controllare minuziosamente ogni singola sezione, in modo da avere tutto assolutamente e solo come dico io; tanto più che usando kernel custom da non poco, ormai mi trascino il mio config di kernel in kernel, e parto da quello sistemando le features nuove, e non mi sembra di aver avuto chissà quale idea geniale, anzi……mi sa tanto di aver scoperto l’acqua calda.

    Commento di Cobra78 — aprile 22, 2008 @ 8:19 pm

  2. Beh se tu hai ore da perdere in una configurazione da zero, buon per te.
    Io penso che, aldilà della utilità didattica, sia solo una grande perdita di tempo a fronte di vantaggi minimi.

    Per me compilare l’ultimo kernel con le impostazioni di default e fine tuning solo su cpu memoria e timer e poco altro, è più che sufficiente come rapporto tempo perso/risultato e su TUTTE le altre distribuzioni porta ai risultati voluti. (Filosofia cambialo come piace a te rispettata).

    Non è che se ho 2500 moduli in più nel kernel cambia nulla.
    Cambia che se inserisco una scheda audio nuova o altro non devo spaccarmi le balls per capire quale modulo e che altro devo ricompilare, se il modulo c’è si carica e basta.

    Mica lo devo caricare su un cellulare il kernel, memoria e spazio hard disk c’è n’è in abbondanza.

    Commento di telperion — aprile 22, 2008 @ 9:55 pm

  3. anche a me ha dato problemi l’audio, non ho capito come azzo hanno gestito sti moduli.
    Ho semplicemente scaricato il tarpalla degli alsa, compilato il modulo per la mia scheda con il mio kernel, e zakkete apposto
    Virtualbox ti funziona ?

    Commento di LuNa — aprile 22, 2008 @ 10:50 pm

  4. @LuNa:
    virtualbox-ose e moduli compilati con module-assistant tutto ok.

    Commento di telperion — aprile 22, 2008 @ 11:07 pm

  5. Io penso che, aldilà della utilità didattica, sia solo una grande perdita di tempo a fronte di vantaggi minimi.

    non sono d’accordo, prima di tutto se hai solo i tuoi moduli dentro e sradichi tutto il resto il tuo kernellone si compila in 20 minuti invece che in più di un’ora (aumenta esponenzialmente il rapporto tempo perso/risultato)
    sono invece d’accordo con il fatto che le differenze non sono molte in quanto a prestazioni. La vera differenze sono tra scheduler e scheduler, e non in altre *palle*

    Commento di LuNa — aprile 22, 2008 @ 11:08 pm

  6. ok, ti ho chiesto di virtualbox perchè con il 25 c’e’ un bug (non un bug ma una chiamata che ora è deprecata) e il modulo compila ma non lo carica.
    Debian ha patchato quindi per l’appunto dovrebbe esserlo anche Ubuntu. Arch pure. Il problema te lo trovi sicuro su Gentoo, e non so su altre distro.

    Commento di LuNa — aprile 22, 2008 @ 11:10 pm

  7. soluzione virtualbox:
    http://www.mail-archive.com/vbox-users@virtualbox.org/msg02889.html
    e stavolta non sono io che sono sfigato 😛

    Commento di LuNa — aprile 22, 2008 @ 11:20 pm

  8. @LuNa:
    5:
    si il pc lavora 50 minuti ma lavora lui mica io.
    E con un kernel cosi clono l’hd e riparto su un altro pc senza troppi smadonnamenti.

    6:
    il modulo di vbox-ose si compila senza problemi su Gentoo Arch Ubuntu. Problemi li ho avuti su Debian con virtualbox-ose_1.5.6-dfsg-3 e successivi come detto qui
    https://telperion.wordpress.com/2008/03/20/virtualbox-ose-e-debian-sid/

    Bloccati i pacchetti alla virtualbox-ose_1.5.6-dfsg-2 compilano perfettamente anche con il 2.6.25

    Ribadisco io uso la OSE open sources edition.
    I problemi citati nel tuo link sono riferiti alla versione binaria Closed-source che io non uso.

    Commento di telperion — aprile 22, 2008 @ 11:33 pm

  9. Che configurare da zero sia una perdita di tempo posso essere d’accordo per un uso solo Desktop, ma a me ad esempio capita spesso di utilizzare il Pc con due macchine virtuali aperte (una Windows 200 SP4 e una Debian minimale) e ti posso assicurare che in quell’ambito cercare il miglior equilibrio tra preemption, timer, scheduler (ho scordato di dirlo: non uso il Vanilla, ma svariate patch prese dal forum Gentoo) ha dato i suoi bei risultati come usabilità della macchina sotto quel carico; in altri ambiti poi ricompilare il kernenl sulla macchina è quasi un imperativo anche per ragioni di sicurezza (vedi server).

    Certo come ho detto dipende molto dal perchè e con quali finalità lo si ricompila.

    Commento di Cobra78 — aprile 23, 2008 @ 7:38 am

  10. Ciao, non bastava copiarsi il config del 2.6.24 in .config e poi dare make oldconfig?

    Commento di Cap. J. T. Kirk — aprile 23, 2008 @ 8:03 am

  11. Dal commento n°2 di Telperion:
    “Beh se tu hai ore da perdere in una configurazione da zero, buon per te.
    Io penso che, aldilà della utilità didattica, sia solo una grande perdita di tempo a fronte di vantaggi minimi.”

    LOL LOL LOL…come va la tua gentoo?

    Commento di Maramax — aprile 23, 2008 @ 11:05 am

  12. Tentato di compialre su Kubuntu Hardy, tutto fila liscio ma al riavvio questo è ciò che mi appare….

    PCI:BIOS bug: mcfg area is not e-820 reserved
    pci : Not using MMCONFIG
    ecc…

    credo che non gli piaccia il mio hardware oppure ho sbagliato qualcosa….

    Hai qualche suggerimeto?

    Grazie…

    Commento di monolite — aprile 23, 2008 @ 12:08 pm

  13. @Cap. J. T. Kirk.
    a saperlo prima si.
    È “l’originalità” di alcune scelte Ubuntu che mi “perplime”

    @cobra78:
    ma io non critico se ti rinconfiguri il k da zero per esigenze specifiche. Rispondevo alla tua “butade” che usare make oldconfig non era da “nerd”. Se ricompilo un k nuovo tanto vale ottimizzarlo almeno per la mia cpu/memoria/desktop/smp. Il resto non cambia granchè le prestazioni, Ho solo col nuovo k cose in più (sperando che non siano regressioni) e tanto mi basta.
    Ritengo quindi che partire con oldconfig sia (per me) una soluzione più che accettabile.

    @maramax
    Gentoo parte come una scheggia, merito di openrc-0.2.2
    http://roy.marples.name/openrc

    Anche Arch che usa un init simile e quasi altrettanto veloce.

    Più lento lo start di Ubuntu e Sid.

    Nell’uso pratico a parità di kernel vanno più o meno uguali.

    La Gentoo non usa perchè è veloce, ma perchè hai il controllo totale di quel che gira sul pc.
    Per tutto il resto c’è…

    Commento di telperion — aprile 23, 2008 @ 2:47 pm

  14. @Monolite
    in menuconfig premi / (search) e metti il simbolo, nel tuo caso
    MMCONFIG
    otterrai una spiegazione:

    Location: │
    │ -> Bus options (PCI etc.) │
    │ -> PCI support (PCI [=y]) │
    │ -> PCI access mode ( [=y])

    nel mio caso è
    PCI support (*)
    PCI access mode(Any)

    Metti cosi ricompila (è veloce la ricompliazione)

    Commento di telperion — aprile 23, 2008 @ 3:04 pm

  15. Grazie per la risposta:) sei sempre supergentilissimo:)
    Adesso proverò:)

    Commento di monolite — aprile 23, 2008 @ 3:13 pm

  16. Qualche considerazione..
    Non so perche’ l’oldconfig a volte non importi correttamente il file di configurazione precedente..ma la concausa sono le due interfacce gconfig e menuconfig..
    Proprio per questo preferisco xconfig (anche adesso che uso slack con xfce)..i menu sono fatti decisamente meglio ed e’ difficile non notare i moduli “orfani” abbandonati dal file di configurazione.
    Basta spuntare dal menu Option “show all options” per visualizzare i moduli “bloccati”..e “Show debug info” per far apparire in basso le dipendenze necessarie (moduli-padri da abilitare) per poter “spuntare la casella” del modulo.

    Quanto al discorso kernel header..hai ragione. Io non ho mai visto nessun driver recentemente ..passare dagli headers per la compilazione (headers estratti in /usr/src) il che rende obbligatorio tenere i sorgenti del kernel.
    Ti diro’ di piu’..se gli stessi sorgenti li vuoi ricompilare ancora, “rubi” il puntamento al kernel precedente, obbligandoti ad utilizzare sempre un kernel diverso. Questo e’ normale, ma se siamo obbligati a tenerci i sorgenti..addio spazio.

    Probabilmente (e ribadisco ..probabilmente) sbagliamo noi a non creare qualche link simbolico in precedenza..perche’ non ci posso credere che ingegneri che lavorano da anni al kernel linux..non si siano accorti che i kernel headers non servono a nulla
    🙂

    Commento di Divilinux — aprile 23, 2008 @ 5:03 pm

  17. @Divilinux
    per gli headers succede dall’unificazione delle architetture x86 x86-64
    come spiegato in https://telperion.wordpress.com/2008/01/29/kernel-headers-2624-alla-frutta/
    e credo che make-kpkg non sia stato ancora aggiornato alla nuova situazione (immagino sia da cambiare il file rules del pacchetto kernel_headers) anche perchè c’è poco da sbagliare:
    sudo make-kpkg --initrd --append_to_version -mc kernel_image kernel_headers
    e gli headers sono corrotti.
    I pacchetti delle distribuzioni (Ubuntu Debian) funzionano perchè vengono realizzati in altro modo non certo con make-kpkg.
    Non ho guardato se ci sono bug aperti.
    Si eccone un paio su debian:
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475029
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=370651
    che sembrano non interessare molto, Mah!

    Ad esempio nei PKBUILD di arch lo script è cambiato e gli headers vengono correttamente copiati in /usr/src senza problemi

    Per oldconfig non è un problema di import.
    Apri /boot/config-2.6.24-16-generic e vedrai “cose che voi umani non potete immaginare”. La sezione Device Drivers – Sound non c’è.

    Commento di telperion — aprile 23, 2008 @ 5:30 pm

  18. ehm, *koff* forse sono diventato maniaco io ma di pacchetti non ne faccio più. su debian non funzionano gli headers, su arch modificarti il pkgbuild, e ogni distro un metodo diverso, 2 *uova* non se ne puo’ di più
    per il config metti il supporto a /proc/config.gz così che poi ricavare la conf al ‘giro’ dopo è sempre possibile anche se hai cancellato i sorci o il .config
    poi faccio semplicemente

    make
    make modules_install
    cp arch/x86/boot/bzImage /boot/bzImage-luna

    l’initrd non serve a un H lo faccio monolitico
    il tutto ridotto ai minimi termini
    tempo di make: 10m27.180s
    tempo di caricamento del kernel ~ 5 sec. (se non di meno)

    ecco perchè dico che perdere tempo porta ai suoi risultati, ed il config me lo posso portare alla versione successiva senza patemi d’animo con un semplice bzcat.

    ciao divi ! 😉

    Commento di LuNa — aprile 23, 2008 @ 6:58 pm

  19. @LuNa
    il punto è che poi con le tue “procedure straLuNate”
    poi hai sempre problemi qua e la, e ti lamenti che il baco ti insegue.

    (scherzo).

    Commento di telperion — aprile 23, 2008 @ 8:06 pm

  20. @telperion: non è stralunata ma semplicemente “il” modo di compilare un kernel decentemente. non ha senso sprecare un’ora di procio per portarsi appreso decine e decine di moduli che nemmeno usi quando puoi perderne 3 o 4 per capire e avere una config che ti porti dietro successivamente con compilazioni di 10 minuti (o meno) e boot velocissimi.
    ti evita il fastidio di dover impacchettare (solo procio sprecato) si rimuove tutto in un attimo cancellando l’immagine da /boot e il corrispondente /lib/modules/tuokernel
    e porti via come già detto anche initrd che non serve a niente. non è un live-cd ma una distribuzione installata. a che diamine te ne fai di un ramdisk con i moduli dentro dio solo lo sa.
    I bug li becco davvero non mi lamento 🙂

    Commento di LuNa — aprile 24, 2008 @ 9:20 am

  21. ti lamenti che devi tenerti 300 mega di sorci sul disco pero’ ti va bene tenerti 50 e passa mega di moduli in /lib e li compili pure … non ti capisco 😀

    Commento di LuNa — aprile 24, 2008 @ 9:22 am

  22. Luna 500 mega di sorgenti per ogni kernel sono una rottura. 4 kernel si fregano 2 GB senza alcuna utilità.

    Non capisco la tua polemica.
    Ti sei offeso? (scherzo) non l’hai notato?

    Tu il kernel puoi compilarlo come più ti aggrada, affari tuoi.
    Io mi lamento perche mi aspetto che i tool di sistema per generare i kernel funzionino (kpkg) e segnalo che il nuovo .config default di HH è monco e non contiene tutti i settaggi. Punto.

    Se io dico
    “la nuova auto x non funziona, in salita non và”
    e tu mi rispondi
    “ma io vado in moto”
    non c’è alcuna pertinenza tra il problema esposto e la risposta, semmai mi proponi un’alternativa, non una soluzione.
    E se poi a me la moto non piace …

    Commento di telperion — aprile 24, 2008 @ 2:18 pm

  23. non era una polemica e non sono offeso. 😀
    anzi allora mi scuso se è sembrata tale (una polemica) non voleva assolutamente esserlo.
    In parte pero’ è anche una soluzione: non usare tutti sti tool che possono anche non funzionare e limitarsi a usare un sistema di compilazione pulito e meno dispendioso di risorse, tempo e soprattutto pazienza, uguale per qualsiasi distribuzione linux, con lo scotto di doverti tenere i sorcioli. Come diciamo a Genova: ‘Sciuscià e sciurbì nu se poe’ ( Soffiare e aspirare non si può )
    Confermo il nuovo .config monco
    Confermo e sottoscrivo pure che il kernel di ubuntu è ultramegastrapieno di roba che il 99% degli utenti ubuntu (quindi desktop/casa) non useranno mai.
    Sto spulciando da ieri e continuo a ogni passata a togliere fracchi di roba che non uso. Da 500 e passa moduli sono passato a 100 in qualche ora e contineranno a scendere ignobilmente.
    Tra parentesi, di 3 sistemi, è l’unico che non si avvia se non inserisco built-in i moduli ata generic (che non ho, mah)

    Commento di LuNa — aprile 24, 2008 @ 4:08 pm

  24. @LuNa
    Ah ok, messun problema.
    Rispetto il tuo metodo di compilazione kernel,
    ma per quanto mi riguarda gradirei avere i tool “ala Debian Way” funzionanti quanto prima, anche se leggendo i vari bug noto risposte tipo “chiedete allo sviluppatore” “kernel-packages” non supportato, che onestamente mi “perplimono” abbastanza.

    Commento di telperion — aprile 24, 2008 @ 4:32 pm

  25. Ma non era sudo make oldconfig?

    Commento di Bl@ster — aprile 27, 2008 @ 11:30 am

  26. @Bl@ster:
    ovvio, ma mica è una guida passo passo, il concetto lo hai capito benissimo tu come gli altri, senza necessità di puntualizzazioni tutto sommato inutili.
    Preferivo un parere sulla sostanza.

    Commento di telperion — aprile 27, 2008 @ 4:30 pm

  27. compilato e fixati i problemi dei link e di Makefile_32cpu ; installati i moduli per l’audio ma al riavvio firestarter mi da un bel : Your kernel does not support iptables !!!!
    …. e che palle :\

    Commento di ricochet — giugno 16, 2008 @ 4:14 pm

  28. @ricochet
    lo devi configuare per iptables. Guarda i wiki di Gentoo.

    Commento di telperion — giugno 16, 2008 @ 4:30 pm

  29. @ telperion:
    vado a guardare, Grazie ….

    Commento di ricochet — giugno 16, 2008 @ 4:54 pm

  30. @ricochet
    http://gentoo-wiki.com/HOWTO_Iptables_for_newbies

    Commento di telperion — giugno 16, 2008 @ 5:15 pm

  31. @ telperion
    si c’ero arrivato … 😉
    in compenso mi è salita un po’ di kernel-custom-depressione…..
    sara’ che ogni volta non “oldconfigura” qualcosa di nuovo
    saluti e ancora mercie mercie

    Commento di ricochet — giugno 17, 2008 @ 8:51 pm

  32. Grazie per questo post.
    Era dal 2.6.23 che non ricompilavo il kernel, ho preso il mio vecchio file .config e ho ricompilato il 2.6.26, ma l’audio niente.
    Seguendo il post e andando configurare come modulo la mia scheda tutto ok, l’audio è tornato, grazie!

    Commento di Tyler — luglio 30, 2008 @ 10:12 pm


RSS feed for comments on this post.

%d blogger hanno fatto clic su Mi Piace per questo: