2010-08-17 22 views
7

Qual è la migliore distribuzione di peso leggero per l'apprendimento dello sviluppo del kernel linux. Dovrebbe avere molti strumenti di debugging e di profilazione disponibili insieme ad esso :)per lo sviluppo del kernel linux

risposta

9

LFS. Quindi installa tutti i debugger e i profiler che riesci a trovare.

+0

posso utilizzare tutte quelle e sono fresco, ma ci vuole un sacco di tempo per l'applicazione di patch, test, ecc – user361697

+0

Hanno anche un guarda Buildroot, che automatizza tutto: https://stackoverflow.com/a/44625382/895245 –

7

Mi è piaciuto usare Gentoo per giocherellare con il kernel.

+0

Un altro voto per Gentoo. –

8

Ho sentito Linus himself uses Fedora. Io suggerirei Gentoo che consente (si intende) di personalizzare a mano il kernel, è l'impostazione perfetta per questo (e ho passato molte ore a spremere ogni ultimo bit di performance per il gusto di farlo).

Ovviamente Ubuntu è la mia distribuzione preferita, ma potresti avere problemi se inizi a dirottare e rimuovere le funzionalità del kernel previste. Gentoo non si lamenterà e non si aspettava che iniziassero.

+0

Il kernel di Ubuntu trasporta un buon numero di patch per cose come la manipolazione dell'UUID e altre magie simili. Corro kernel di vaniglia sulla mia gentoo box tutto il tempo senza problemi. – stsquad

+0

Fedora è anche la mia preferita, maledetta stalla. –

2

La distribuzione probabilmente non fa molta differenza poiché si lavorerà sul proprio kernel e non sul kernel "kitchen sink", le distro tendono a fornire un sacco di patch nella maggior parte dei casi.

Se si sta svolgendo il lavoro di sviluppo del kernel, suppongo che si desideri una distribuzione che si avvii rapidamente, qualcosa come cucciolo potrebbe essere l'ideale qui e fare il proprio codice da qualcosa come Ubuntu.

3

La distribuzione non ha molta importanza. È ciò che si vuole fare con il kernel e fare lo sviluppo/testare la sua funzionalità.

Qui ci sono alcune cose da fare.

a. Attiva il debug del kernel e le opzioni di registrazione. Quelli sicuramente ti aiuteranno nel debugging. vedi useful linux kernel debug options to turn on

b. Strumento Getdebugger come Valgrind che controlla la perdita di memoria. Vedi documento come https://www.kernel.org/doc/Documentation/kmemleak.txt

c. Trovato un buon editor per il montaggio. Non voglio iniziare una guerra vim vs emacs. È davvero una preferenza personale, ma assicurati di seguire le linee guida dello stile di codifica del kernel di Linux. https://www.kernel.org/doc/Documentation/CodingStyle

d. Acquisisci familiarità con i sistemi di log e il sistema proc, poiché forniscono informazioni preziose.

e. Leggere la documentazione nella directory/usr/src/linux/Documentation Ottimo punto di partenza per comprendere il kernel

0

Buildroot

Buildroot è un insieme di script che genera piccole distribuzioni con rootfs immagini più piccole rispetto 10MiB.

Scarica tutto dall'origine e lo compila, quindi è banale correggere i pacchetti.

Le immagini generate sono così piccole che diventa possibile comprendere l'intera configurazione di userland, che renderà più facile concentrarsi sul kernel.

Vantaggio su LFS: tutto è completamente automatizzato. Per questo motivo, Buildroot viene utilizzato professionalmente in grandi organizzazioni.

ho creato questa configurazione per automatizzare le cose il più possibile: https://github.com/cirosantilli/linux-kernel-module-cheat

Problemi correlati