Quali sono le differenze tra il kernel fornito da Ubuntu e il kernel upstream?

Quali sono le differenze nel set di funzionalità tra il kernel Linux principale e il kernel utilizzato da Ubuntu? Perché Ubuntu si ramifica fuori dal kernel principale invece di usare direttamente il kernel principale?

I kernel upstream (riferiti, quando li forniamo, come kernel mainline ) sono semplicemente il kernel upstream per la versione specificata, con poche modifiche di configurazione minori aggiunte in modo che ci sia un problema minimo usandole su una installazione di Ubuntu.

La differenza tra questi kernel e quella rilasciata per una versione di Ubuntu sono numerose altre modifiche alla configurazione , patch di origine * e, in alcuni casi, compilate in moduli e supporto hardware.

Molto poco del codice sottostante è diverso da monte diverso da quello sopra indicato.

*: le patch di origine sono, nella maggior parte dei casi, modifiche al comportamento predefinito del kernel. Questi non sono limitati a: liste nere, tabelle di stranezze video, moduli incorporati, modifiche di origine che non sono ancora nell’albero di Linus o nella coda stabile ancora ecc.

Le patch di origine sono ciò che il team utilizza per introdurre le opzioni di configurazione necessarie per supportare la vasta gamma di software rilasciati per una versione specifica di Ubuntu. In molti casi sono necessari affinché tali applicazioni funzionino correttamente. La differenza fondamentale tra questo e il kernel upstream è che il kernel upstream puro non è specifico per la distribuzione.

Pertanto, le configurazioni non sono orientate a garantire che determinate applicazioni funzionino come previsto. Queste configurazioni esistono per fornire quel livello di variabilità al kernel per cose specifiche. Inoltre, l’uso dei quirks ci consente di identificare l’hardware che richiede elementi specifici del kernel che possiamo impostare una volta rilevati.

Questa è una delle principali funzionalità di Linux ed è uno dei motivi per cui siamo stati in grado di girare su così tante piattaforms diverse nel corso degli anni. Ci sono momentjs in cui le stranezze e le patch di origine causano problemi tra loro. Durante questi tempi, lavoriamo per mitigare i problemi con le modifiche al comportamento del kernel sottostante. In molti casi queste modifiche non lo rendono a monte fino a dopo il rilascio dovuto in gran parte alla necessità di codificare correttamente la correzione, documentare cosa è stato fatto, testare le modifiche e condurre vari altri test e prove di stress.

In questi casi, le patch che si dirigono verso monte vengono trasportate come patch di origine nello stesso modo in cui sono pre-stabili e le patch che non sono ancora presenti nell’albero di Linus. Il link alla specifica del delta review dovrebbe servire come riferimento per ciò che è stato rivisto per l’attuale rilascio di Natty del kernel di Ubuntu.

Il kernel di Linux è in costante sviluppo. Quando impacchettiamo la loro prossima versione, ad un certo punto nel tempo il team di Ubuntu deve dire, ‘OK, prenderemo il kernel così com’è ora’ Di tanto in tanto si può ottenere un nuovo kernel reso disponibile nei repository da usare in la distribuzione attuale.

Questo posto può fare qualche lettura interessante ma può essere altamente tecnico. Potresti essere in grado di capire cosa sta succedendo a monte e cosa ti stai perdendo (ma alla fine lo farai).

Va notato che, come ogni altro software, un kernel è incline ad essere infestato da bug e spesso accade che avvengano regressioni (le nuove cose aggiunte rompono le vecchie funzionalità). Kernel in questi giorni IMHO non mi entusiasma in termini di nuove funzionalità. Sarei felice di gestire un kernel che aveva due anni per esempio.

Puoi scaricare git tree di Ubuntu e usare un visualizzatore grafico per visualizzare l’albero git. Questo ti mostrerà tutte le patch di Ubuntu. https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide

Un’altra opzione ansible, iscriversi alla mailing list di ubuntu-kernel. Tutto il loro lavoro è pubblicato lì e puoi farti un’idea di quello che fanno. Ma è molto traffico e IMHO, fastidioso. (Ma hey, è la loro lista)