Pagina 1 di 1

Compilare kernel 2.2.x

Inviato: ven 3 mar 2006, 9:23
da fulmine
Salve a tutti, vorrei porvi una questione. Ho una slackware 10.2 con kernel 2.4.31 e per gioco e per curiosità un mese fa mi sono scaricato i sorgenti del kernel 2.2.14, quindi ho provveduto a configurarlo con "make xconfig" e poi una volta create le dipendenze ho dato il comando "make bzImage", quì nascono i problemi e infatti dopo un pò mi da una serie di errori e non posso andare avanti.
Premetto che sempre con questa slackware ho ricompilato una 20 di volte il kernel 2.4.31 e anche molte volte il kernel 2.6.13 con successo.
Da che cosa potrebbe dipendere?
Grazie in anticipo.

Inviato: ven 3 mar 2006, 10:15
da 5m0k3r
Forse hai bisogno di un

Codice: Seleziona tutto

make mrproper
Prima di compilarlo

Inviato: ven 3 mar 2006, 10:42
da sid77
hai gcc e glibc troppo nuove rispetto al kernel 2.2 visto che l'accoppiata toolchain/kernel va strettamente a braccetto

ciao

Inviato: ven 3 mar 2006, 15:10
da fulmine
Mi sembra che

Codice: Seleziona tutto

make mrproper
l'ho dato.
Penso sia più probabile un problema di toolchain perchè andando a provare a compilare il kernel della serie 2.14 non riesco e mi da errore.

In questo caso e cioè se dipendesse dalla toolchain il problema non posso più farci niente?

Comunque stasera proverò a rifare il procedimento e a stare attento a dare "make mrproper"

Grazie.

Inviato: ven 3 mar 2006, 15:49
da sid77
fulmine ha scritto:In questo caso e cioè se dipendesse dalla toolchain il problema non posso più farci niente?
installi gcc+glibc+binutils in un percorso apposta, del tipo /opt/old_toolchain, poi compili il kernel settando le flags necessarie:

Codice: Seleziona tutto

export CC=/opt/old_toolchain/bin/gcc
export C++=/opt/old_toolchain/bin/g++
e altre che adesso mi sfuggono.

la domanda è: vuoi veramente farlo? :wink:

Inviato: ven 3 mar 2006, 18:33
da fulmine
Più che altro per curiosità e voglia di smanettare... ci proverò anche se sarà difficile per me trovare una toolchain più vecchia.
Scaricare i sorgenti sarebbe bello ma non ho l'adsl a casa.
Vedrò come posso fare per ora grazie mille!

Inviato: ven 3 mar 2006, 18:58
da sid77

Inviato: ven 3 mar 2006, 19:37
da albatros
Hai dato make dep prima di make bzImage?
Hai le modutils ? (Se no le trovi su kernel.org in /pub/linux/utils/kernel/modutils/v2.2, erano al posto dei module-init-tools).

La toolchain dell'epoca ha sicuramente grande importanza, all'occorrenza trovi ancora tutto in rete, con la documentazione su ciò che ti serve.

Ciao

Inviato: ven 3 mar 2006, 21:38
da fulmine
Grazie :D sid77 per l'indirizzo, vedrò cosa e come posso fare per scaricarla...

Volevo fare una domanda ad albatros invece, Prima di tutto grazie per la risposta.Se io installo nella mia slack 10.2 le modutils del kernel 2.2 poi sarò in grado di compilare programmi (e kernels superiori al 2.2) come prima?

Ciao

Inviato: ven 3 mar 2006, 21:39
da fulmine
Grazie :D sid77 per l'indirizzo, vedrò cosa e come posso fare per scaricarla...

Volevo fare una domanda ad albatros invece, Prima di tutto grazie per la risposta.Se io installo nella mia slack 10.2 le modutils del kernel 2.2 poi sarò in grado di compilare programmi (e kernels superiori al 2.2) come prima?

Ciao

Inviato: ven 3 mar 2006, 23:47
da albatros
Bisogna usare un po' di accorgimenti nell'installazione.
Io ho fatto il percorso inverso, ovvero ho compilato e installato i module-init-tools quando ho fatto il gran salto dal kernel 2.2.2? al 2.6.0 (a parte qualche prova con i kernel della serie 2.4.x): ricordo che appunto nell'installazione modprobe, lsmod, insmo, eccetera, venivano rinominati con l'estensione .old per fare spazio ai nuovi e che cambiava qualcosa con modules.conf e modprobe.conf. Non ricordo esattemente tutti i passaggi, anche se devo essermeli appuntati in un file da qualche parte, ad ogni modo nella documentazione dei module-init-tools e di modutils c'è scritto quanto occorre (io mi arrangiai con quella e con un po' di ricerche in rete).
Tieni presente che il sysfs nella serie 2.2 non c'era e neanche udev.
xconfig era più spartana e non si basava sulle qt (io usavo menuconfig).
Tornando a noi, come già sid77 ti ha suggerito, ti conviene mettere in una directory ben specifica la toolchain per la compilazione del kernel e modificare le variabili d'ambiente, così come ti conviene rinominare gli attuali module-init-tools, rinominare i modutils e usare link simbolic per puntare alla bisogna agli uni o agli altrii, magari facendo un piccolo script ad hoc per velocizzare le cose.
Per essere chiari, con le modutils del 2.2 non puoi compilare kernel superiori, almeno sicuramente non quelli della serie 2.6.x (ci ho battuto anch'io un pochino la testa quando ho fatto il passaggio) e comunque avresti un sacco di problemi col caricamento dei moduli.
Per la compilazione dei programmi, dipende da che programmi, su quali librerie ed header si appoggiano, eccetera.
Il mio umile consiglio è però quello di mantenere intatta la configurazione e la struttura attuale del tuo computer, nel senso di aggiungere soltanto e di non togliere nulla, sfruttando la flessibilità del sistema e giocando semmai con script, link simbolici, variabili d'ambiente, parametri di boot, script d'avvio, eccetera per avviare il sistema in "modalità" 2.2.x o 2.6.x .
Anche se nelle ultime releases della serie 2.2 sono stati fatti molti backports, devo però dire che gli attuali ultimi rilasci della serie 2.6 danno molte più possibilità, per cui non so fino a che punto potresti sfruttare la tua macchina con un kernel 2.2.x (con la quale, peraltro, mi son trovato benissimo col mio P133, su cui ha girato però anche la 2.6.[0-7].
Ah, un'ultima cosa: con la serie 2.2.x c'era ipchains e non iptables...

Per finire: se hai spazio sull'hard-disk, io non scarterei neanche la proposta di sid di provare la slackware 8 o anche la 7, quella del gran salto di numero... Avresti la possibilità di fare tutti gli esperimenti che vuoi senza compromettere il tuo sistema di produzione...

Scusa se sono stato lungo e poco chiaro...

Ciao

Inviato: sab 4 mar 2006, 1:55
da fulmine
Macchè lungo e poco chiaro, albatros sei stato chiaro e conciso! :D
Grazie!
Credo che farò come mi avete suggerito e cioè di creare una directory a parte e di installare tutte le toolchain lì, finchè non riuscirò a trovare una slackware 8 che alla fine è comunque la soluzione migliore...
Se avessi avuto la linea di casa veloce la potevo scaricare direttamente e invece non ce l'ho...
Sembra starno che in tempi dove tutti cercano di aggiornarsi al nuovo io cerco di andare al vecchio... :shock:
Ma è la curiosità di sperimentare e di imparare in un ambiente dove permette di tutto che mi smuove.
Domani ci proverò e vedrò cosa scapperà fuori.
Grazie mille!