Ho voluto aggiornare il kernel sulla mia Squeeze, però questa volta ho seguito una strada diversa rispetto al solito. Quindi niente costruzione di linux-image e linux-headers, bensì un aggiornamento in real time, il tutto vedendo un film, dato che questo tipo di lavoro prende quasi un paio di ore. Quello che serve, sono i sorgenti del kernel 3.0, da mettere e scompattare in /usr/src, dopodichè:
# cd /usr/src/
# ln -s linux-source-3.0.0 linux
# cd linux
# make menuconfig
# make -j4
# make -j4 CONFIG_DEBUG_SECTION_MISMATCH=y
# make -j4 modules
# make -j4 modules_install
# make -j4 install
# cd /boot
# mkinitramfs -o initrd.img-3.0.0 3.0.0
# update-grub
# reboot
una volta riavviato non rimane che andare in modalità ripristino ed installare i driver per X, nel mio caso Nvidia, e "godersi" il nuovo kernel 🙂
enjoy 😉
ottimo me lo segno 😀
Un paio di ore? Sul mio I7 ci mette 8 minuti….
@Zanac
azz……mi stai dicendo che hai fatto tutti i passaggi in 8 minuti?
Io ho un core 2 duo, e ci ho messo 30 minuti solo per il make -j4
aggiornamento in real time?
# make -j4
# make -j4 CONFIG_DEBUG_SECTION_MISMATCH=y
# make -j4 modules
# make -j4 modules_install
# make -j4 install
Edmond, che è ‘sta roba? Ti spiece scrivere una breve spiegazione o postare qualche link in italiano?
Grazie
Fabio
@Fabio
in real time, nel senso che, mentre usi il pc, allo stesso tempo stai compilando ed installando
il kernel 3.0…..
invece questo
# make -j4 CONFIG_DEBUG_SECTION_MISMATCH=y
per evitare che:
# make -j4 modules
finisca con un errore.
l’opzione -j4 serve per sfruttare i processori, nel mio caso sono 2, quindi -j4,
per chi ne ha di più basta raddoppiare, tipo -j6 o j8.
con un core 2 duo andrebbe usato -j2 .. 2 core 2 jobs
Io ho sempre usato “make -j n” dove n è il numero di core +1
Con un i7 (vedo 8 core) uso in genere -j 9.
L’idea è che un processo è li pronto per essere eseguito appena si libera lo “slot”.
Però son nerdate. Di base si guagna poco nulla quindi n= nr. di core va benissimo
+1 a imayoda 😉
P.S.: non per tirarmela ma non sapete la goduria nel fare make -j 17 nel lontano 2000 su una Sun 6500.
Ahhh ! Beh tempi eheh 🙂
Segnato, assolutamente da conservare
Si, ci metto 8 minuti a fare tutto… cmq preferisco la strada di compilare creando in output i deb (in questo caso ci metto… 8 minuti e mezzo ;))
Faccio girare in span con -j9 dato che ho 8 core… per creare i deb usando tutti gli otto core uso il comando:
export CONCURRENCY_LEVEL=9
make-kpkg –initrd –append-to-version -aleste kernel_image kernel_headers
Stavo per riportare anch’io il metodo di Zanac per creare un .deb installabile, ma mi ha preceduto.
In ogni caso, gli step necessari per farlo sono un paio in piu’, come segue:
# apt-get install module-init-tools kernel-package libncurses5-dev fakeroot
# adduser nome_utente src
$ make menuconfig
$ CONCURRENCY_LEVEL=5 fakeroot make-kpkg –append-to-version -nomepersonalizzato –revision=1 kernel_image –initrd kernel_headers
Per maggiori info, riporto la sorgente da dove ho attinto, che e’ davvero ben fatta:
https://guide.debianizzati.org/index.php/Debian_Kernel_Howto
Cia’
p.s. Ottimo spunto, Edmond, ci e’ piaciuto il post.
@Pino Barile @imayoda
io sinceramente ho sempre fatto sui miei 2 core -j4, però adesso farò dei test
per verificare se ci sono differenze e di quanto, tra un j2 ed un j4
@FussyPenguin
quella guida è un must, ed infatti di solito è il modo che prediliggo, però stavolta con questo
kernel 3.0, ho provato in quest’altro modo, evitandomi errori vari 😉
Grazie per la stima 🙂
Nessuno ha dei benchmark riguardo il timer frequency ?
Processor type and features –> Timer frequency –> 1000 HZ
Io lo compilo da sempre con make-kpkg anche se col 3 bisogna fare *magheggi* sul pacchetto linux-headers-3.0.4-mc_3.0.4-mc-10.00.Custom_amd64 perchè siano corretti (kernel-package non è aggiornato e amntenuto a la azzodicane).
Comunque sul mio q8300 ci mette circa 15 minuti per compilare
linux-image-3.0.4-mc_3.0.4-mc-10.00.Custom_amd64.deb
linux-headers-3.0.4-mc_3.0.4-mc-10.00.Custom_amd64.deb
con configurazione simile al kernel debian, salvor per la cpu core2 il timer a 1000 e qualche altro parametro.
@Pino Barile
Timer frequency –> 1000 HZ
serve per avere maggiore reattività nei cambi dei processi in esecuzione, non per avere maggior rapidità nell’esecuzione dei processi.
@telperion
anche io uso make-kpkg, ma questa volta mi sono voluto risparmiare errori e perdite di tempo.
Quando ho comprato questo pc, ero sul terzo gradino del podio, ora in confronto
alle vostre cpu, mi sembra di esser ritornato al pentium II 🙂
Ok ma non si riesce a misurare questa reattività ? 🙂
E’ tipo fare un re-nice dei processi lanciati da x tipo firefox & co ?
Se fosse così lascio il 100hz e poi me la gioco con i nice alla bisogna 😉
@Pino Barile
il timer a 1000Hz significa che la cpu in 1 secondo può svolgere molti task in più per un tempo più breve, quindi più cose vengono portate avanti contemporaneamente.
Per contro il payload è che i registri e la cache della cpu vengono scaricati e caricati con più frequenza e questo rende un po più lenti i lavori del singolo task.
100Hz pochi task vengono portati avanti un po più velocemente ma gli altri aspettano in coda.
1000Hz l’attesa è 10 volte più bassa, ma i singoli task impiegano un po di più per il payload.
Su un server di solito si usa 100 o meno, su un desktop 1000
@telperion
grazie per il tuo commento….come sempre esaustivo 😉
… Ragazzi attenzione… va bene anche quello che si èscritto… ma…
make -j4 significa che hai 4 processori e li sfrutti tutti per il lavoro j (job)
si preferisce usare il numero di processori + 1 non +2 altrimenti spesso si incorre in problemi e di compilazione e di altro… tralasciando il resto passo a spiegare solo questa cosa…
un pc con 4 processori scriverà make -j5
un pc con 2 processori scriverà make -j3
un pc con 6 processori scriverà make -j7
per una guida più esaustiva conviene leggersi questa
https://www.gnu.org/software/make/manual/
… Ragazzi attenzione… va bene anche quello che si èscritto… ma…
make -j4 significa che hai 4 processori e li sfrutti tutti per il lavoro j (job)
si preferisce usare il numero di processori + 1 per sfruttere il n° di cpu al quasi 100% 🙂 , non +2, il make potrebbe non tenerne conto
un pc con 4 processori scriverà make -j5
un pc con 2 processori scriverà make -j3
un pc con 6 processori scriverà make -j7
per una guida più esaustiva conviene leggersi questa
https://www.gnu.org/software/make/manual/