GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Quali sono le differenze tra il kernel fornito di Ubuntu e il kernel a monte?

Quali sono le differenze nel set di funzionalità tra il kernel Linux principale e il kernel utilizzato da Ubuntu? Perché Ubuntu è derivato dal kernel principale invece di utilizzare direttamente il kernel principale?

Migliore risposta

I kernel upstream (indicati, quando li forniamo, come kernel mainline) sono semplicemente il kernel upstream per la versione specificata, con pochissime modifiche minori alla configurazione aggiunte in modo che ci siano problemi minimi nell'usarli su un'installazione di Ubuntu.

La differenza tra questi kernel e quello rilasciato per una versione Ubuntu sono numerose altre modifiche alla configurazione, patch sorgente* e, in alcuni casi, compilate in moduli e supporto hardware.

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

*:le patch sorgente sono, nella maggior parte dei casi, modifiche al comportamento predefinito del kernel. Questi non si limitano a:liste nere, tabelle di stranezze video, moduli integrati, modifiche alla sorgente 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 per il corretto funzionamento di tali applicazioni. La differenza fondamentale tra questo e il kernel upstream è che il kernel upstream puro non è specifico della distribuzione.

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

Questa è una delle principali caratteristiche di Linux ed è uno dei motivi per cui siamo stati in grado di funzionare su così tante piattaforme diverse nel corso degli anni. Ci sono momenti in cui le stranezze e le patch sorgente causano problemi tra loro. Durante questi periodi, lavoriamo per mitigare i problemi con le modifiche al comportamento sottostante del kernel. In molti casi queste modifiche non vengono apportate a monte fino a dopo il rilascio a causa in gran parte della necessità di codificare correttamente la correzione, documentare ciò che è stato fatto, testare le modifiche ed eseguire vari altri test e stress test.

Correlati:come far funzionare l'audio HDMI su uno Zotac MAG HD-ND01-U?

In questi casi, le patch che sono dirette verso l'upstream vengono trasportate come patch di origine più o meno allo stesso modo in cui lo fanno le patch che non sono ancora nell'albero di Linus. Il collegamento alle specifiche di revisione delta dovrebbe servire come riferimento per ciò che è stato esaminato per l'attuale versione Natty del kernel Ubuntu.


Ubuntu
  1. Debian vs Ubuntu:quali sono le differenze?

  2. Quali sono le principali differenze tra Bsd e Gnu/linux Userland?

  3. Linux:quali sono le principali differenze tra i sistemi operativi basati su Bsd e Linux?

  4. Quali differenze ci sono tra le varie versioni di Emacs disponibili?

  5. Quali sono le differenze tra lsof e netstat su Linux?

Cassandra vs MongoDB - Quali sono le differenze?

Terraform vs Kubernetes:quali sono le differenze

Qual ​​è la differenza tra i kernel macOS e Linux

Qual è la differenza tra Rsync e BTRFS in Linux?

Qual è la differenza tra Cat e Touch Command

Quali sono le differenze tra cPanel e WHM?