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
LFS. Quindi installa tutti i debugger e i profiler che riesci a trovare.
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.
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
Fedora è anche la mia preferita, maledetta stalla. –
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.
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
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
- 1. Configurazione di Netbeans/Eclipse per lo sviluppo del kernel Linux
- 2. Come iniziare con lo sviluppo del kernel Linux
- 3. Sviluppo nuovo kernel/driver per Linux
- 4. Flusso di lavoro Git per lo sviluppo del kernel Linux aziendale
- 5. Simboli del kernel Linux esportati
- 6. Quali sono le buone distribuzioni (e metodi) di Linux per lo sviluppo degli ultimi pacchetti Linux upstream (kernel, Gnome, ecc.)?
- 7. Come codificare un modulo del kernel Linux?
- 8. Programmazione del modulo del kernel Linux: makefile
- 9. Come velocizzare la compilazione del kernel Linux?
- 10. Come config da immagine del kernel Linux
- 11. Shutdown (incorporato) linux dallo spazio del kernel
- 12. mprotect() come funzionalità all'interno del kernel Linux
- 13. Compilare l'errore del kernel Linux xt_CONNMARK.h
- 14. Organizzazione delle intestazioni del kernel Linux
- 15. Copertura del codice kernel Linux - GCOV
- 16. Quali parti del kernel Linux posso leggere per divertimento?
- 17. Qual è lo stato stack del kernel del processo Linux durante la creazione del processo?
- 18. Stile di codifica del kernel Linux
- 19. Haskell per lo sviluppo mobile
- 20. Kernel utente lo sviluppo di applicazioni di I/O
- 21. La compilazione del modulo del kernel Linux non riesce
- 22. Moduli del kernel Linux - Rischi per la sicurezza?
- 23. Generazione del grafo di chiamate statiche per il kernel Linux
- 24. Ambiente virtuale per Linux Kernel hacking
- 25. Come utilizzare il conteggio dal modulo del kernel di Linux?
- 26. su typecheck nel kernel linux
- 27. Qual è lo scopo dell'opcode UD2 nel kernel di Linux?
- 28. Ottenere le informazioni di debug del kernel di Linux dopo l'arresto del kernel
- 29. Kernel Linux Invalidazione voci TLB
- 30. iPhone App per lo sviluppo su Ubuntu
posso utilizzare tutte quelle e sono fresco, ma ci vuole un sacco di tempo per l'applicazione di patch, test, ecc – user361697
Hanno anche un guarda Buildroot, che automatizza tutto: https://stackoverflow.com/a/44625382/895245 –