kernel 2.6.20.7

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

kernel 2.6.20.7

Messaggio da danix »

Salve a tutti,
apro questo thread con uno scopo e con una speranza, lo scopo è quello di riuscire ad impostare e compilare correttamente il kernel vanilla in oggetto (sulla mia macchina in particolare, ma poi si potrà adattare...), la speranza è che questo thread cresca e possa essere d'aiuto a chi, come me, non si trova troppo a suo agio a compilare un kernel...
Se cresce abbastanza, sopratutto nei contenuti si potrebbe persino pensare a fare una guida sul wiki...
Comunque cominciamo...
Intanto vi do un pò di info sull'hardware:
  • MotherBoard = ASRock P4VT8+
  • Processore = Celeron 2.4 Ghz (derivato dal P4 con tecnologia HT)
  • HD = IDE 80 GB 7200 rpm
  • HD aggiuntivo = SATA 160 GB
  • scheda pci wifi D-Link dwl-g520 (chipset B4)
  • Modem = Alcatel Speedtouch 330 USB
  • Masterizzatore CD LG (secondo canale IDE master)
  • Masterizzatore DVD LG (secondo canale IDE (slave)
Per completare le info sull'hardware vi posto il risultato di lspci:
# lspci

Codice: Seleziona tutto

00:00.0 Host bridge: VIA Technologies, Inc. VT8374 P4X400 Host Controller/AGP Bridge (rev 82)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01)
Non mi vengono in mente altre info che potrebbero servire alla configurazione del kernel, in ogni caso più avanti si può integrare se è il caso...
Lo scopo di questa compilazione è quello di ottenere un kernel con supporto SATA, WiFi, Bluethooth oltre alle funzionalità generiche del sistema
Per la configurazione userò make menuconfig, tralascio i vari passaggi di decompressione dell'archivio e creazione del link alla directory dei sorgenti in quanto già ampiamente trattati in rete.
Partirò dal config-generic del kernel 2.6.17.13 (lo huge26 dell'installazione di slackware) per velocizzare un pò, ma controllerò ugualmente tutte le voci per ridurre un pò almeno i moduli che non mi servono...

Spero avrete la pazienza di leggere questo thread e segnalarmi errori, incongruenze e, ovviamente, consigli... E' la terza o quarta volta che mi cimento nella compilazione del kernel, le altre volte non è andata bene, e per questo vi chiedo aiuto... Mi scuso se qualche post sarà un pò lungo o se conterrà errori, fatemeli notare e vedrò di correggerli... Grazie mille per l'aiuto che mi darete
---
Code maturity level options ---> Prompt for developement and/or incomplete code/drivers
E' già selezionata da Pat, quest'opzione se non sbaglio serve per rendere disponibile nel kernel l'utilizzo di pezzi di codice ancora in fase di testing o di driver ritenuti obsoleti, la lascio selezionata in quanto non si sa mai ...

General Setup
  • Local version - append to kernel release
Lascio in bianco perchè non mi serve avere stringhe extra che seguono il numero di versione del kernel.
  • Automatically append version information to the version string
Ancora una stringa da aggiungere alla versione del kernel, anche questa la lascio in bianco.
  • Support for paging of anonymous memory (swap)
Quest'opzione aggiunge il supporto per la swap, da selezionare ovviamente...
  • System V IPC
L'aiuto in linea dice che è consigliabile attivare quest'opzione o alcuni programmi non funzioneranno, Pat l'ha attivata, io aspetto delucidazioni in merito...


Continua nei post successivi, intanto salvo e poi riprendo la configurazione da questo punto...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
alessiodf
Linux 3.x
Linux 3.x
Messaggi: 823
Iscritto il: ven 14 ott 2005, 21:04
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1
Località: Roma
Contatta:

Messaggio da alessiodf »

Codice: Seleziona tutto

      HD = IDE 80 GB 7200 rpm

      HD aggiuntivo = SATA 160 GB
Questa e' una cosa che potrebbe darti un po di noie. Infatti, per far andare decentemente un SATA con un PATA ti occorre usare le nuove libsata presenti nei kernel >= 2.6.20. Questa cosa pero' non e' troppo semplice, in quanto tutti i tuoi hdaX verranno convertiti in sdaX sdbX etc...

Poi, la tua scheda madre monta tutti componenti VIA, molto presenti nel kernel ;)

buona fortuna!

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

rieccomi, riprendiamo da dove avevamo lasciato...
  • IPC Namespaces
Non sono riuscito a trovare info in rete, l'aiuto in linea dice che questa voce aggiunge il supporto ai namespaces IPC, questi permettono a dei contenitori (per esempio gli ambienti virtuali), di utilizzare i namespaces IPC per fornire differenti oggetti ipc a differenti server, consiglia inoltre se insicuri di mettere N, cosa che farò in attesa di smentite, ma non credo che mi serva...
  • POSIX Message Queues
opzione che permette l'uso della variante POSIX delle code di messaggi, parte di IPC è utile se si ha intenzione di compilare, ad esempio, dei programmi intesi per Solaris, l'aiuto in linea consiglia di mettere Y se insicuri... fidiamoci...
  • BSD Process Accounting
Quest'opzione permette ad un programma lanciato da un utente di istruire il kernel al fine di scrivere delle info su un processo in un file, seguendo l'aiuto in linea c'è scritto che generalmente è buona cosa mettere Y...
  • BSD Process Accounting version 3 file format
Come sopra con l'unica differenza che il file verrà scritto con l'ultima versione (retro-incompatibile) del process accounting, quindi per poterlo utilizzare sono necessari tool aggiornati... per questioni di retrocompatibilità Pat ha messo N e io concordo...
  • Export task/process statistics through netlink (EXPERIMENTAL)
Opzione simile alle precedenti, unica differenza il fatto che con questa le info sono disponibili anche mentre il processo è ancora vivo, come prima se insicuri mettere N, e così faccio...
  • UTS Namespaces
Quest'opzione permette l'utilizzo dei namespaces uts, da ignorante mi sembra molto simile alla voce sui namespaces ipc... consigliata la N dalla guida online, io mi accodo...
  • Auditing support
Se non ho capito male quest'opzione permette di fare auditing del kernel (in attesa di eventuale smentita), utile se si è interessati al testing e al debugging, nel mio caso... N
  • Kernel .config support
Abilita il supporto al .config, in modo che le opzioni di configurazione di un kernel possano essere estratte e utilizzare in fase di ricompilazione... Y ovviamente
  • Enable access to .config through /proc/config.gz
Abilita l'accesso alle configurazioni tramite /proc/config.gz, abilitato di default... Y
  • Create deprecated sysfs files
Qui vorrei qualche chiarimento, l'help online dice che quest'opzione crea dei link simbolici deprecati in quanto non utilizzati più, viene mantenuta per questioni di retrocompatibilità con le vecchie versioni di udev, e inoltre dice che dovrebbe essere sufficientemente sicuro mettere N se si utilizza una distro rilasciata nel 2006 o successivamente... Pat ha messo Y, io per adesso lascio così, ma se possibile vorrei qualche spiegazione da chi ne capisce più di me...
  • Kernel->user space relay support (formerly relayfs)
Non ho capito molto di quest'opzione dall'aiuto in linea, credo serva per trasferire informazioni dal kernel space all'user space, forse per il debug... "if unsure, say N" e io così faccio...
  • Initramfs source file(s)
qui bisognerebbe elencare i files o le directory utili per creare un initramfs, da lasciare in bianco...
  • Optimize for size (Look out for broken compilers!)
Quest'opzione passa il flag -Os al compilatore invece di -O2, come risultato si ha un kernel più piccolo, ma si possono riscontrare dei problemi, in questo caso potrebbe essere utile aggiornare le gcc, in ogni caso credo si possa mettere N
  • Configure standard kernel features (for small systems)
Questo sottomenu serve nel caso si stia compilando un kernel per sistemi embedded, nel mio caso si può lasciare tranquillamente vuoto... N


A parte qualche dubbio non ci sono stati problemi in questa sezione della configurazione, ho finito la sezione "General Setup", nel prossimo post passerò alla sezione "Loadable module support"...

A presto
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Non per smontarti ma se intendi commentare ogni singola voce dell'ultimo kernel terminerai in tarda senilità e quando avrai finito il tuo lavoro sarà obsoleto.
Se vuoi imparare a farlo io ti consiglio di prendere un kernel, partire da zero e fare delle prove di compilazione, poi magari se avrai dei problemi posterai quelli. Se non riesci a capire a cosa serve una cosa leggiti l'help relativo e documentati in rete. All'inizio ci vorrà del tempo ma solo così imparerai a compilarti un kernel linux.

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

ammetto che commentando tutte le voci si allungano un pò i tempi, ma il mio intento era proprio quello di creare una traccia che tutti i niubbi come me possano seguire, in fondo una volta compilato questo e reso funzionante, se anche dovesse essere già uscito il 2.6.20.8 mi verrebbe molto semplice aggiornare il tutto, no??
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

Guarda ti posso assicurare che io apprezzo veramente tanto questo genere di iniziative e come ho detto prima la mia intenzione non è quella di farti passare la voglia di realizzarla. L'idea è sicuramente buona ma prova ad immaginare il numero di pagine che dovrai scrivere per commentare tutto il kernel. Difficilmente una persona alle prime armi troverà un post del genere all'interno del forum e ancora più difficilmente si metterà a leggerlo tutto. Io per scopi simili avevo proposto una sezione nel wiki (configurazioni pc) dove inserire appunto le configurazioni delle nostre macchine: .config, xorg.conf ecc... Per un novizio secondo me è molto più semplice partire da una configurazione simile a quella della sua macchina e poi modificarla per le sue esigenze, inoltre un progetto del genere può permettere un confronto tra configurazioni simili con ovvii guadagni per entrambe le parti.
;)

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

danix85 ha scritto:se anche dovesse essere già uscito il 2.6.20.8 mi verrebbe molto semplice aggiornare il tutto, no??
Ti basterebbe riutilizzare (e adattare) il config del kernel precedente.
Ti conviene fare prove, magari partendo da un config generico di Pat e modificarlo pian piano per adattarlo alla tua macchina. Considera che le voci del kernel sono tantissime, non c'è bisogno di conoscerle tutte per compilare un kernel funzionante. La cosa importante è che conosci il tuo hardware, le altre opzioni puoi provarle, molte sicuramente non ti serviranno. Poi c'è l'help che è abbastanza esplicativo e dove si vuole approfondire c'è la documentazione del kernel.

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

@ bart
a dire il vero questo post è nato proprio con l'intenzione da parte mia di racchiudere tutti i contenuti che sarebbero poi andati a popolare una guida sull'argomento nel wiki...
Io personalmente questo tipo di guide l'ho cercato molto in rete ma senza successo, tutte le guide che ho trovato contenevano info frammentarie e mi sono trovato varie volte in difficoltà...

@ gioco
Ho già detto altre volte di aver fatto qualche tentativo, ma di non esserer mai arrivato a nulla di concreto, ogni volta sono partito dal config generic di PAT, ma ho sempre sbagliato qualcosa nella configurazione, sono quindi giunto alla conclusione che devo affidarmi ad una comunità esperta per farmi guidare almeno le prime volte, una volta sicuro posso anche continuare da solo...

Grazie mille a tutti per l'interessamento...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
alessiodf
Linux 3.x
Linux 3.x
Messaggi: 823
Iscritto il: ven 14 ott 2005, 21:04
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1
Località: Roma
Contatta:

Messaggio da alessiodf »

ricordo che il mio primo kernel funzionante al 100% con il mio hardware, e' nato dopo ben 24 recompile!!!! 8)

Fidati che dopo che stai 3 giorni a compilare il kernel dalla mattina alla sera, i doc delle sezioni, li sai a memoria! 8-[

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

Loadable module support
  • Enable loadable module support
Da qui si abilita il supporto ai moduli del kernel... Y
  • Module unloading
Se non si abilita quest'opzione non sarà possibile scaricare un modulo, (con modprobe -r <nome_modulo>) Y
  • Forced module unloading
Abilitando quest'opzione sarà possibile rimuovere dei moduli anche se il kernel ritiene che non sia sicuro rimuoverli, è un'opzione riferita solo agli sviluppatori "and desperate users"... N
  • Module versioning support
attivando quest'opzione sarà possibile caricare solo moduli compilati per il kernel in uso, è consigliabile mettere N per questioni di compatibilità con moduli creati per versioni precedenti del kernel ma ancora in uso credo...
  • Source checksum for all modules
Attivando quest'opzione verrà aggiunta una stringa contenente i dati sui sorgenti utilizzati per creare il modulo, è utile solo agli sviluppatori, quindi N
  • Automatic kernel module loading
Quest'opzione permette al kernel di caricare automaticamente i moduli che gli servono, consigliata... Y

Block layer
  • Enable the block layer
Quest'opzione è disabilitata dal momento che dipende dalla sezione embedded che non abbiamo attivato, risulta comunque attivata di default altrimenti non si potrebbero montare i dischi
  • Support for Large Block Devices
Quest'opzione abilita il supporto per dischi di grandi dimensioni (>2TB), io non ho questa necessità quindi metto N
  • Support for tracing block io actions
Attivando quest'opzione sarà possibile tenere traccia delle operazioni di scrittura su un disco in user space, non mi serve e quindi metto N
  • Support for Large Single Files
Quest'opzione abilita il supporto nel kernel per i singoli files di dimensioni maggiori di 2TB, a me risulta inutile... N
  • IO Schedulers --->
Ho fatto una ricerca sul web, l'IO Scheduler amministra il modo in cui avvengono i processi di lettura e scrittura sul disco fisso... Ci sono 3 opzioni possibili:
  • Anticipatory I/O scheduler
E' la prima opzione, quella di default dei primi kernel 2.6, anticipatory è ottimizzato per i sistemi base, quelli con un solo disco (niente RAID per esempio)... in ogni caso per avere la possibilità di scegliere do Y a tutti e 3
  • Deadline I/O scheduler
Deadline è più veloce nel caso in cui si abbia a che fare con dei database, ma nel caso di sistemi con un solo HD si comporta più o meno come Anticipatory
  • CFQ I/O scheduler
Il "Complete Fair Queuing" scheduler si comporta bene nei sistemi multiutente, viene adottato di default da SuSE e dalle ultime release di Ubuntu
  • Default I/O scheduler --->
In questo sottomenu dobbiamo scegliere quale I/O scheduler utilizzare di default, la mia scelta ricade su anticipatory che è ottimizzato per sistemi base come il mio.

Finita anche questa sezione, la prossima riguarda il processore... A presto
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
alessiodf
Linux 3.x
Linux 3.x
Messaggi: 823
Iscritto il: ven 14 ott 2005, 21:04
Slackware: current
Kernel: 2.6.26.4
Desktop: Kde 4.1
Località: Roma
Contatta:

Messaggio da alessiodf »

GooD JOB! 8)

Avatar utente
submax82
Staff
Staff
Messaggi: 3202
Iscritto il: mer 31 ago 2005, 0:00
Desktop: xfce
Distribuzione: SalixOS
Contatta:

Messaggio da submax82 »

1) la traduzione/spiegazione del config c'è già nel wiki di slacky
2) basta partire dal config originale di pat e il kernel funziona subito al primo colpo



;)

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

submax82 ha scritto:1) la traduzione/spiegazione del config c'è già nel wiki di slacky
Ho visto quella traduzione ma molte parti sono mancanti, inoltre è aggiornata al kernel 2.6.18, visto che siamo al 2.6.20.x, ho pensato di fare cosa gradita alla comunità rilasciando qualcosa di aggiornato, non immaginavo di trovare così tanti pareri contrari...
submax82 ha scritto:2) basta partire dal config originale di pat e il kernel funziona subito al primo colpo



;)
Se devo dire la verità non è così, almeno non è stato così nel mio caso, in ogni compilazione che ho fatto sono sempre partito dal config di pat, ma ho sempre riscontrato degli errori, e alla fine mi sono ritrovato sempre con un sistema non funzionante...
Per questo ho deciso di iniziare un thread alla compilazione "guidata" del 2.6.20.7...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

E' uscito il 2.6.21 ;)

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Ma infatti secondo me non è affatto tempo perso chiarire
molte delle misteriose voci del kernel. Certo, bisognerebbe
essere analitici e, a parte il fatto che il kernel è in continua
evoluzione, se ne potrebbe trarre un nuovo how-to.
Una cosa è seguire pedissequamente il config di Pat
ed essere pragmatici nel modificare quanto serve,
un'altra cosa (a mio avviso tutt'altro che oziosa)
studiare bene le varie voci.

M.

Rispondi