Devo passare ai kernel "mainline"?


61

Le versioni "mainline" più recenti del kernel sono disponibili dal team del kernel di Ubuntu , ad esempio 3.4 e 3.5, mentre Ubuntu 12.04 è su 3.2.

  • Quali sono i kernel principali?
  • Sono migliori del mio kernel esistente?
  • Quali sono i pro e i contro dell'aggiornamento a un kernel mainline?
  • Potrò facilmente tornare indietro?

Risposte:


66

L'aggiornamento a un kernel mainline di solito non è una buona idea

La maggior parte delle informazioni di base in questa risposta proviene dal wiki di Mainline Builds

1. Sono forniti solo per il test e non sono supportati

  • I kernel mainline sono costruiti dalle ultime fonti del kernel Linux "mainline" non modificate.
  • Il team del kernel Ubuntu fornisce questi solo a scopo di test e debug, per vedere se i problemi sono stati risolti "a monte", vale a dire dagli sviluppatori del kernel Linux .
  • Pertanto non sono supportati e devono essere utilizzati a proprio rischio; puoi segnalare possibili bug a kernel.org tramite kernel-oops , o se vuoi una soluzione più veloce, prova a postare sulla Mailing List del kernel Linux

2. Spesso rompono i driver, in particolare Nvidia / AMD e wireless (Broadcom)

  • I kernel mainline non includono alcun driver o patch fornito da Ubuntu
  • Ciò significa che non vengono forniti driver binari per grafica, wireless, ecc
  • Se si tenta di installare driver binari scaricati direttamente dai produttori, è molto probabile che non funzionino perché le intestazioni della linea principale potrebbero essere incompatibili.
    • Ciò sarà particolarmente vero per le versioni non LTS dopo il 12.04 (12.10, 13.04, ...), perché i kernel mainline sono creati usando l'ultima toolchain LTS (compilatori, ecc.), Che è generalmente più vecchia della toolchain dell'ultima versione non LTS.

3. Dovresti installarli solo se ritieni che possano risolvere un problema critico che stai riscontrando con il kernel corrente

  • I kernel più recenti a volte contengono correzioni per un problema hardware o filesystem che potresti avere. Ad esempio, la grafica interna HD4000 sulle ultime CPU Intel Ivy Bridge si è occasionalmente bloccata, un bug che è stato corretto nei kernel 3.3.6 e successivi.
  • Puoi provare a installare un kernel mainline in queste circostanze e vedere se aiuta il tuo problema.
  • In tal caso, dovresti prendere in considerazione l'aggiornamento all'ultimo kernel Ubuntu + 1, che dispone di driver binari disponibili.

4. Se installi una mainline o un altro kernel più recente, puoi comunque scegliere di usare il tuo vecchio kernel (stabile) selezionandolo al momento dell'avvio:

  • Tenere Shiftpremuto dopo aver acceso il computer.
  • Vedrai il menu Grub come mostrato di seguito. Utilizzare la freccia giù per andare a "Versioni precedenti di Linux" e premereEnter

    inserisci qui la descrizione dell'immagine

  • Selezionare l'opzione che ha una versione di xxx-generici , non uno che ha xxx- yyyyyy -generic e premere Enter. Questa è di solito la prima opzione a meno che non siano stati installati più kernel mainline / personalizzati.

    inserisci qui la descrizione dell'immagine


1
Sebbene ciò sia molto vero, il kernel 3.4 offre un supporto hardware migliorato se si eseguono CPU e GPU recenti, come notato su kernelnewbies.org/Linux_3.4 . Alcune persone hanno avuto problemi con il kernel predefinito in Ubuntu 12.04 e l'aggiornamento ha risolto molti problemi: vedi youtube.com/watch?v=traegZveTKo . (Il titolo del video menziona il kernel 3.5, ma è circa 3.4.) Sono d'accordo, tuttavia, non è necessario eseguire un aggiornamento del kernel dalla linea principale a meno che non si abbia un motivo pressante reale.

2
Questo è un vecchio thread, ma cosa intendevi quando hai detto che l'OP dovrebbe prendere in considerazione l'uso di un kernel Ubuntu + 1? Dove posso trovarli? Sono in una situazione simile in questo momento. Ho un hardware molto nuovo che sembra essere supportato meglio dal kernel 3.12 mainline.
rimez,

11

Invece di mainline, dovresti considerare lo stack di abilitazione LTS

https://wiki.ubuntu.com/Kernel/LTSEnablementStack

Dove, un nuovo stack kernel / grafico viene backportato ufficialmente, solo per le versioni LTS Ubuntu.

In questo caso, Precise 12.04.5 ha il kernel di Trusty (3.13)


Questo percorso appare più logico. Il kernel Xenial HWE è migliore del kernel Trusty? Quali sono i pro e i contro dell'aggiornamento del mio kernel in questo modo?
Cerca la verità il

@SeekTruth dipende dal motivo per cui stai aggiornando il tuo kernel in primo luogo. Non è che il kernel Xenial sia migliore del kernel Trusty, è proprio quello che hanno estratto da kernel.org
kevinf il

2

Se conosci una correzione o un miglioramento specifico nel modo in cui il kernel più recente gestisce il tuo hardware, dico di provarlo.

Non mi sarei aggiornato a un kernel mainline a causa della mancanza di supporto, tranne per il fatto che avevo qualche problema con l'emulazione del gioco N64 che correva molto lentamente con molti bug. Dopo aver provato tutte le configurazioni che ho trovato per l'emulatore e per xorg, ho letto Ecco perché Radeon Graphics è più veloce su Linux 3.12 . Questo è stato sufficiente per motivarmi a testarlo e i risultati in termini di aspetto e prestazioni sono stati sorprendenti senza ancora sorgere nuovi problemi.

Una cosa da notare è se hai moduli esterni (ovvero out-of-tree) installati (vedi Identificare i moduli out of tree per avere un'idea di dove siano). Se hai bisogno di questi moduli, considera se saranno compilati con la nuova versione del kernel. Fai qualche ricerca e testali tu stesso sulla nuova versione del kernel. Caso peggiore, è possibile avviare la versione del kernel precedente e disinstallare quella nuova.

Si consiglia di rimuovere i moduli esterni o proprietari prima di tentare l'aggiornamento al kernel mainline. Ho dovuto rimuovere virtualbox per evitare "Errore! Stato di ritorno errato per la compilazione del modulo" durante l'installazione del kernel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.