De bronmap bevat de volgende submappen, genaamd kernboom, het leren van de structuur van de kernelboom en de functie van elk pad is de eerste stap om door de kernel te bladeren.
Kernelboom root directory:
Documentatie/: kernel brondocumentatie.
LICENTIES/: Het bevat de licenties die moeten worden toegepast op de kernelbron en individuele bronbestanden die verschillende licenties kunnen hebben. In deze map vindt u 3 submappen: voorkeur (GNU-GPL), uitzonderingen vermeld in het COPYING-bestand en andere.
boog/: broncodes voor specifieke architecturen (e.g powerpc, x86, enz.). In deze map vindt u submappen die bij elke ondersteunde architectuur horen, i386, sparc, arm, enz.
blok/: block I/O layer, bevat code voor het beheer van block devices (zoals harde schijven, dvd, floppy disks, etc.) en hun verzoeken.
certificaten/: certificaten en tekenbestanden om modulehandtekening in te schakelen om de kernel ondertekende modules te laten laden, dit kan handig zijn om te voorkomen dat kwaadaardige code wordt uitgevoerd met kernelmodules zoals rootkits.
cryptografie/: Crypto-API. Bevat cryptografische cijfers die cryptografische en compressietaken afhandelen.
chauffeurs/: Stuurprogramma's voor hardwareapparaten. Bevat code van apparaatstuurprogramma's om hardware te ondersteunen, in deze map vindt u submappen voor elke hardware zoals video, bluetooth, enz. (alle ondersteunde hardware).
fs/: code voor het virtuele bestandssysteem en aanvullende bestandssystemen. Deze map bevat de code om bestandssystemen te ondersteunen, lezen en schrijven.
omvatten/: kernelheaders. Deze map bevat C-headers voor kernelbestanden zoals functies om code te compileren.
in het/: kernel boot. Bevat broncode gerelateerd aan de initialisatie van de kernel. De broncode wordt opgeslagen in een bestand met de naam mainc.c binnen de map /in het. De code initialiseert de kernel en enkele initiële processen.
ipc/: Inter-procescommunicatie zoals signalen en leidingen.
kern/: Kernsubsystemen, zoals de signaalverwerkingscode van de planner, enz.
lib/: bibliotheekroutines algemene tekenreeksbewerkingen, hardwareafhankelijke bewerkingen, foutopsporingsroutines en ontledingscode op de opdrachtregel.
mm/: Geheugenbeheer en virtueel geheugen. De kernel beheert zowel de hardware als het virtuele geheugen (swap). Deze map slaat code op voor het geheugenbeheer.
netto/: Netwerkstack. Bevat code met betrekking tot communicatieprotocollen zoals IP, TCP, UP, enz.
monsters/: voorbeeldcode en configuratiebestanden.
scripts/: scripts om de kernel te bouwen.
veiligheid/: Linux Security Module (LSM) is een raamwerk om beveiligingsbeleid toegang te geven tot modulebeheer.
geluid/: Het geluidssubsysteem, hier vindt u geluidsstuurprogramma's en code met betrekking tot geluid, zoals ALSA,
hulpmiddelen/: tools voor gecomprimeerde kernelontwikkeling zoals ACPI, cgroup, USB-testtools, vhost-testmodule, GPIO, IIO en spi-tools, Inter-energiebeleidstool en meer.
usr/: initramfs die het bestandssysteem rooten en init in de cache van het kernelgeheugen.
deugd/: Virtualisatie, deze map bevat de KVM-module (Kernel Virtual Machine) voor hypervisor.
Dit zijn de belangrijkste submappen van de kernelboom en hun functie, ik hoop dat het nuttig voor je is.