Kapitel 3. Initialisering av systemet

InnehÄllsförteckning

3.1. En översikt av boot strap-processen
3.1.1. Steg 1: UEFI
3.1.2. Steg 2: startladdaren
3.1.3. Steg 3: mini-Debian-systemet
3.1.4. Steg 4: det normala Debian-systemet
3.2. Rescue system
3.2.1. GRUB UEFI rescue system on USB
3.2.2. Linux live rescue system on USB
3.2.3. Linux live rescue system from GRUB
3.3. Systemd
3.3.1. Systemd startas
3.3.2. Systemd-inloggning
3.4. KĂ€rnans meddelande
3.5. Systemets meddelande
3.6. Systemhantering
3.7. Andra systemövervakare
3.8. Systemkonfiguration
3.8.1. VĂ€rdnamnet
3.8.2. Filsystemet
3.8.3. Initialisering av nÀtverksgrÀnssnitt
3.8.4. Initialisering av molnsystem
3.8.5. Anpassningsexempel för att justera sshd-tjÀnsten
3.9. Udev-systemet
3.10. Initialisering av kÀrnmodulen

Det Ă€r klokt att du som systemadministratör vet ungefĂ€r hur Debian-systemet startas och konfigureras. Även om de exakta detaljerna finns i kĂ€llfilerna för de installerade paketen och deras dokumentationer, Ă€r det lite övervĂ€ldigande för de flesta av oss.

HÀr Àr en grov översikt över de viktigaste punkterna i initieringen av Debiansystemet. Eftersom Debiansystemet Àr ett rörligt mÄl, bör du lÀsa den senaste dokumentationen.

Datorsystemet genomgÄr flera faser av boot strap-processer frÄn det att det slÄs pÄ tills det erbjuder ett fullt fungerande operativsystem (OS) till anvÀndaren.

För enkelhetens skull begrÀnsar jag diskussionen till den typiska PC-plattformen med standardinstallation.

Den typiska boot strap-processen Àr som en fyrstegsraket. Varje steg i raketen överlÀmnar systemkontrollen till nÀsta steg.

Naturligtvis kan dessa konfigureras pÄ olika sÀtt. Om du till exempel har kompilerat din egen kÀrna kanske du hoppar över steget med mini-Debian-systemet. SÄ anta inte att detta Àr fallet för ditt system förrÀn du har kontrollerat det sjÀlv.

UEFI (Unified Extensible Firmware Interface) definierar en starthanterare som en del av UEFI-specifikationen. NÀr en dator slÄs pÄ Àr starthanteraren det första steget i startprocessen som kontrollerar startkonfigurationen och utifrÄn dess instÀllningar kör den angivna startladdaren för operativsystemet eller operativsystemets kÀrna (vanligtvis startladdaren). Startkonfigurationen definieras av variabler som lagras i NVRAM, inklusive variabler som anger filsystemets sökvÀgar till OS-laddare eller OS-kÀrnor.

En EFI-systempartition (ESP) Àr en datalagringsenhetspartition som anvÀnds i datorer som följer UEFI-specifikationen. Den öppnas av UEFI-firmware nÀr datorn slÄs pÄ och lagrar UEFI-program och de filer som dessa program behöver för att köras, inklusive operativsystemets startladdare. (I Àldre PC-system kan BIOS som lagras i MBR anvÀndas i stÀllet)

Startladdaren Àr det andra steget i startprocessen som startas av UEFI. Den laddar systemkÀrnans avbildning och initrd-avbildningen till minnet och överlÀmnar kontrollen till dem. Denna initrd-bild Àr rotfilsystembilden och dess stöd beror pÄ vilken startladdare som anvÀnds.

Debian-systemet anvÀnder normalt Linux-kÀrnan som standardkÀrna för systemet. Initrd-avbildningen för den aktuella LinuxkÀrnan 5.x Àr tekniskt sett initramfs-avbildningen (initial RAM filesystem).

Det finns mÄnga olika boot loaders och konfigurationsalternativ.


För UEFI-system lÀser GRUB2 först ESP-partitionen och anvÀnder UUID som anges för search.fs_uuid i "/boot/efi/EFI/debian/grub.cfg" för att bestÀmma partitionen i GRUB2-menyns konfigurationsfil "/boot/grub/grub.cfg".

Den viktigaste delen av GRUB2-menykonfigurationsfilen ser ut som följer:

menuentry 'Debian GNU/Linux' ... {
        load_video
        insmod gzio
        insmod part_gpt
        insmod ext2
        search --no-floppy --fs-uuid --set=root fe3e1db5-6454-46d6-a14c-071208ebe4b1
        echo    'Loading Linux 5.10.0-6-amd64 ...'
        linux   /boot/vmlinuz-5.10.0-6-amd64 root=UUID=fe3e1db5-6454-46d6-a14c-071208ebe4b1 ro quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-5.10.0-6-amd64
}

För den hÀr delen av /boot/grub/grub.cfg betyder den hÀr menyposten följande.


On Debian system, "/boot/grub/grub.cfg" is managed by the installed GRUB package (e.g. grub-efi-amd64) and direct user modification to this file is deprecated. You should customize configuration files in "/etc/grub.d/" and "/etc/default/grub", instead. Then configure the GRUB configuration files and update NVRAM variables to automatically boot into Debian by:

# dpkg-reconfigure grub-efi-amd64
[Tips] Tips

You can show kernel boot log messages by removing "quiet" from the "GRUB_CMDLINE_LINUX_DEFAULT" value in "/etc/default/grub".

[Tips] Tips

You can add GRUB splash background by placing its image file in "/boot/grub/".

See "info grub", grub-install(8), grub-mkconfig(8).

Mini-Debian-systemet Àr det 3:e steget i startprocessen som startas av startladdaren. Det kör systemkÀrnan med dess rotfilsystem i minnet. Detta Àr ett valfritt förberedande steg i startprocessen.

[Notera] Notera

Termen "mini-Debian-systemet" har myntats av författaren för att beskriva det tredje steget i uppstartsprocessen i det hÀr dokumentet. Det hÀr systemet kallas vanligen initrd- eller initramfs-systemet. Ett liknande system i minnet anvÀnds av Debians installationsprogram.

Programmet "/init" körs som det första programmet i detta rotfilsystem pÄ minnet. Det Àr ett program som initierar kÀrnan i anvÀndarutrymmet och överlÀmnar kontrollen till nÀsta steg. Detta mini-Debian-system erbjuder flexibilitet i uppstartsprocessen, t.ex. genom att lÀgga till kÀrnmoduler före den huvudsakliga uppstartsprocessen eller genom att montera rotfilsystemet som ett krypterat filsystem.

  • Programmet "/init" Ă€r ett skalskriptprogram om initramfs skapades av initramfs-tools.

    • Du kan avbryta denna del av startprocessen för att fĂ„ root shell genom att ange "break=init" etc. till kernel boot parameter. Se skriptet "/init" för fler avbrottsvillkor. Den hĂ€r skalmiljön Ă€r tillrĂ€ckligt sofistikerad för att du ska kunna göra en bra inspektion av maskinens maskinvara.

    • De kommandon som finns tillgĂ€ngliga i detta mini-Debian-system Ă€r avskalade och tillhandahĂ„lls huvudsakligen av ett GNU-verktyg som heter busybox(1).

  • Programmet "/init" Ă€r ett binĂ€rt systemd-program om initramfs skapades av dracut.

    • Kommandon som Ă€r tillgĂ€ngliga i detta mini-Debian-system Ă€r avskalade frĂ„n systemd(1)-miljön.

[Observera] Observera

Du mÄste anvÀnda alternativet "-n" för mount-kommandot nÀr du befinner dig pÄ det skrivskyddade rotfilsystemet.

The normal Debian system is the 4th stage of the boot process which is started by the mini-Debian system. The system kernel for the mini-Debian system continues to run in this environment. The root filesystem is switched from the one on the memory to the one on the physical storage device.

Init-programmet körs som det första programmet med PID=1 för att utföra den huvudsakliga startprocessen för att starta mÄnga program. StandardfilvÀgen för init-programmet Àr "/usr/sbin/init", men den kan Àndras med kÀrnans startparameter "init=/path/to/init_program".

"/usr/sbin/init" Àr symlÀnkat till "/lib/systemd/systemd" efter Debian 8 Jessie (utgiven 2015).

[Tips] Tips

Det faktiska init-kommandot pÄ ditt system kan verifieras med kommandot "ps --pid 1 -f".


[Tips] Tips

Se Debian wiki: BootProcessSpeedup för de senaste tipsen för att snabba upp uppstartsprocessen.

[Varning] Varning

Do not perform system administration tasks around the boot strap process without having a rescue system.

Availability of a rescue system enables us to perform challenging tasks such as:

  • Booting a system from a broken boot loader installation

  • Fixing a broken boot loader installation

  • Extracting data from a broken unbootable system

  • Editing filesystems, disk partitions, and LVM volumes involving the root filesystem

Typically, a rescue system is provided as a ISO image file and written to a removable storage media such as:

For simplicity, USB flash drive cases are mentioned as examples below but CD or DVD may be used as well.

[Tips] Tips

You may need to change some UEFI NVRAM variables to boot arbitrary boot loaders on the removable storage media.

The GRUB UEFI rescue system with menu can be started by turning on system power with the "GRUB UEFI rescue system on USB" inserted.

This "GRUB UEFI rescue system on USB" is prepared by writing the Super Grub2 Disk ISO image to USB flash drive in advance.

In case of broken boot loader configuration by the installation of another operating system etc., you can fix this by:

  • Start the GRUB UEFI rescue system to discover bootable installed systems automatically.

  • Start the installed Debian system from the GRUB menu.

  • At Linux root shell prompt:

    # dpkg-reconfigure grub-efi-amd64
[Notera] Notera

The bootable GRUB rescue ISO image can be generated by following "info grub-mkrescue", too. It offers a CLI GRUB shell prompt but doesn't offer automatic discovery of bootable installed systems.

The Linux live rescue system can be started by turning on system power with the "Linux live rescue system on USB" inserted.

This "Linux live rescue system on USB" can be prepared by writing one of Linux live ISO images based on Debian to a USB flash drive in advance. Here are some examples of such Linux live images.

Here are some use cases of this Linux live rescue system:

  • Fix the broken boot loader configuration caused by the installation of another operating system etc.:

    • Start the Linux live rescue system.

    • Mount the partition containing the root filesystem of the unbootable installed Debian system to "/mnt".

    • At Linux root shell prompt:

      # chroot /mnt; dpkg-reconfigure grub-efi-amd64
  • Fix the broken dpkg package:

    • Start the Linux live rescue system.

    • Mount the partition containing the root filesystem of the installed Debian system with the broken dpkg package to "/mnt".

    • At Linux root shell prompt:

      # dpkg --root /mnt -i /mnt/var/cache/apt/archives/dpkg_old_version_amd64.deb
  • Perform normally prohibited changes such as filesystem operations to the installed system (see Avsnitt 9.6, ”Tips om datalagring”).

[Varning] Varning

Your GUI screen of the Linux live system may be locked after the inactivity.

[Tips] Tips

The Linux live rescue system can be started from the GRUB menu entry. The GRUB configuration for this is prepared by the following:

Upon turning on system power, the GRUB displays menu with candidates for Linux live rescue systems.

NÀr Debian-systemet startar, startas /usr/sbin/init symlÀnkad till /usr/lib/systemd som init-systemprocessen(PID=1) som Àgs av root(UID=0). Se systemd(1).

Systemd init-processen skapar parallella processer baserat pÄ enhetskonfigurationsfilerna (se systemd.unit(5)) som Àr skrivna i deklarativ stil istÀllet för SysV-liknande procedurell stil.

De processer som skapas placeras i individuella Linux-kontrollgrupper som fĂ„r sitt namn efter den enhet de tillhör i den privata systemd-hierarkin (se cgroups och Avsnitt 4.7.5, ”SĂ€kerhetsfunktioner i Linux”).

Enheter för systemlÀget laddas frÄn "System Unit Search Path" som beskrivs i systemd.unit(5). De viktigaste Àr följande i prioritetsordning:

  • "/etc/systemd/system/*": Systemenheter som skapats av administratören

  • "/run/systemd/system/*": Runtime-enheter

  • "/lib/systemd/system/*": Systemenheter som installerats av distributionens pakethanterare

Deras inbördes beroenden specificeras av direktiven "Wants=", "Requires=", "Before=", "After=", ... (se "MAPPING OF UNIT PROPERTIES TO THEIR INVERSES" i systemd.unit(5)). Resurskontrollerna Àr ocksÄ definierade (se systemd.resource-control(5)).

Suffixet i enhetens konfigurationsfil kodar deras typer som:

  • *.service beskriver den process som styrs och övervakas av systemd. Se systemd.service(5).

  • *.device beskriver den enhet som exponeras i sysfs(5) och udev(7) enhetstrĂ€det. Se systemd.device(5).

  • *.mount beskriver den monteringspunkt för filsystemet som kontrolleras och övervakas av systemd. Se systemd.mount(5).

  • *.automount beskriver den automatiska monteringspunkten för filsystemet som kontrolleras och övervakas av systemd. Se systemd.automount(5).

  • *.swap beskriver den swap-enhet eller -fil som kontrolleras och övervakas av systemd. Se systemd.swap(5).

  • *.path beskriver den sökvĂ€g som övervakas av systemd för sökvĂ€gsbaserad aktivering. Se systemd.path(5).

  • *.socket beskriver det uttag som styrs och övervakas av systemd för uttagsbaserad aktivering. Se systemd.socket(5).

  • *.timer beskriver den timer som styrs och övervakas av systemd för timerbaserad aktivering. Se systemd.timer(5).

  • *.slice hanterar resurser med cgroups(7). Se systemd.slice(5).

  • *.scope skapas programmatiskt med hjĂ€lp av bussgrĂ€nssnitten i systemd för att hantera en uppsĂ€ttning systemprocesser. Se systemd.scope(5).

  • *.target grupperar andra enhetskonfigurationsfiler för att skapa synkroniseringspunkten under uppstarten. Se systemd.target(5).

Vid systemstart (dvs. init) försöker systemd-processen att starta "/lib/systemd/system/default.target (normalt symlÀnkat till "graphical.target"). Först dras nÄgra speciella mÄlenheter (se systemd.special(7)) som "local-fs.target", "swap.target" och "cryptsetup.target" in för att montera filsystemet. Sedan dras Àven andra mÄlenheter in genom mÄlenhetsberoendena. För mer information, lÀs bootup(7).

systemd erbjuder funktioner för bakÄtkompatibilitet. Startskript i SysV-stil i "/etc/init.d/rc[0123456S].d/[KS]name" tolkas fortfarande och telinit(8) översÀtts till begÀran om aktivering av systemd-enheter.

[Observera] Observera

Emulerade runlevel 2 till 4 Àr alla symlÀnkade till samma "multi-user.target".

Det kÀrnfelmeddelande som visas pÄ konsolen kan konfigureras genom att stÀlla in dess tröskelnivÄ.

# dmesg -n3

Under systemd loggas bÄde kÀrn- och systemmeddelanden av journaltjÀnsten systemd-journald.service (a.k.a journald) antingen till en bestÀndig binÀr data under "/var/log/journal" eller till en flyktig binÀr data under "/run/log/journal/". Dessa binÀra loggdata nÄs med kommandot journalctl(1). Du kan t.ex. visa loggen frÄn den senaste uppstarten pÄ följande sÀtt:

$ journalctl -b

Under systemd kan systemloggningsverktyget rsyslogd(8) avinstalleras. Om det installeras Ă€ndrar det sitt beteende för att lĂ€sa flyktiga binĂ€ra loggdata (i stĂ€llet för "/dev/log" som var standard före systemd) och för att skapa traditionella permanenta ASCII-systemloggdata. Detta kan anpassas med "/etc/default/rsyslog" och "/etc/rsyslog.conf" för bĂ„de loggfilen och visningen pĂ„ skĂ€rmen. Se rsyslogd(8) och rsyslog.conf(5). Se Ă€ven Avsnitt 9.3.2, ”Logganalysator”.

Systemd erbjuder inte bara init-system utan Àven generiska systemhanteringsÄtgÀrder med kommandot systemctl(1).

Tabell 3.6. Lista över typiska kommandoutdrag för systemctl

Operation Kommandosnuttar
Lista alla tillgÀngliga enhetstyper "systemctl list-units --type=help"
Lista alla mÄlenheter i minnet "systemctl list-units --type=target"
Lista alla serviceenheter i minnet "systemctl list-units -typ=service"
Lista alla enheter i minnet "systemctl list-units --type=device"
Lista alla monteringsenheter i minnet "systemctl list-units --type=mount"
Lista alla uttagsenheter i minnet "systemctl list-sockets"
Lista alla timerenheter i minnet "systemctl list-timers"
Starta "$unit" "systemctl start $unit"
Stoppa "$enhet" "systemctl stop $unit"
Ladda om tjÀnstespecifik konfiguration "systemctl reload $unit"
Stoppa och starta alla "$enheter" "systemctl restart $unit"
Starta "$unit" och stoppa alla andra "systemctl isolate $unit"
Byt till "grafisk" (GUI-system) "systemctl isolera grafisk"
VĂ€xla till "multi-user" (CLI-system) "systemctl isolate multi-user"
VÀxla till "rÀddning" (CLI-system med en anvÀndare) "systemctl isolate rescue"
Skicka dödssignal till "$unit" "systemctl kill $unit"
Kontrollera om tjÀnsten "$unit" Àr aktiv "systemctl is-active $unit"
Kontrollera om tjÀnsten "$unit" Àr misslyckad "systemctl is-failed $unit"
Kontrollera status för "$unit|$PID|device" "systemctl status $unit|$PID|$device"
Visa egenskaper för "$unit|$job" "systemctl show $unit|$job"
ÅterstĂ€llning misslyckades "$unit" "systemctl reset-failed $unit"
Lista beroendet av alla enhetstjÀnster "systemctl list-beroenden --all"
Lista enhetsfiler installerade pÄ systemet "systemctl list-unit-files"
Aktivera "$unit" (lÀgg till symlÀnk) "systemctl enable $unit"
Inaktivera "$unit" (ta bort symlÀnk) "systemctl disable $unit"
Avmaskera "$unit" (ta bort symlÀnken till "/dev/null") "systemctl unmask $unit"
Mask "$unit" (lÀgg till symlÀnk till "/dev/null") "systemctl mask $enhet"
HÀmta instÀllning för standardmÄl "systemctl get-default"
StÀll in default-target till "graphical" (GUI-system) "systemctl set-default graphical"
StÀll in default-target till "multi-user" (CLI-system) "systemctl set-default multi-user"
Visa arbetsmiljön "systemctl show-environment"
StÀll in "variabel" för jobbmiljö till "vÀrde" "systemctl set-environment variable=value"
Oreglerad "variabel" i arbetsmiljön "systemctl unset-environment variable"
Ladda om alla enhetsfiler och daemons "systemctl daemon-reload"
StÀng av systemet "systemctl poweroff"
StÀnga av och starta om systemet "systemctl reboot"
StÀnga av systemet "systemctl suspend"
LÀgg systemet i vilolÀge "systemctl hibernate"

HÀr kan "$unit" i exemplen ovan vara ett enskilt enhetsnamn (suffix som .service och .target Àr valfria) eller, i mÄnga fall, flera enhetsspecifikationer (globs i shell-stil "*", "?", "[]" med fnmatch(3) som kommer att matchas mot de primÀra namnen pÄ alla enheter som för nÀrvarande finns i minnet).

Kommandon som Àndrar systemtillstÄndet i exemplen ovan föregÄs vanligtvis av "sudo" för att uppnÄ den administrativa behörighet som krÀvs.

Utdata frĂ„n "systemctl status $unit|$PID|$device" anvĂ€nder punktens fĂ€rg ("●") för att sammanfatta enhetens tillstĂ„nd pĂ„ ett överskĂ„dligt sĂ€tt.

  • Vitt "●" anger ett "inaktivt" eller "avaktiverande" tillstĂ„nd.

  • Röd "●" indikerar ett "misslyckat" eller "felaktigt" tillstĂ„nd.

  • Grönt "●" indikerar ett "aktivt", "omladdande" eller "aktiverande" tillstĂ„nd.

HÀr Àr en lista över andra kommandoutdrag för övervakning under systemd. LÀs relevanta manpages inklusive cgroups(7).


Monteringsalternativen för normala disk- och nĂ€tverksfilsystem anges i "/etc/fstab". Se fstab(5) och Avsnitt 9.6.7, ”Optimering av filsystem med hjĂ€lp av mount-alternativ”.

Konfigurationen av det krypterade filsystemet anges i "/etc/crypttab". Se crypttab(5)

Konfigurationen av RAID-programvara med mdadm(8) anges i "/etc/mdadm/mdadm.conf". Se mdadm.conf(5).

[Varning] Varning

Efter montering av alla filsystem rensas temporÀra filer i "/tmp", "/var/lock" och "/var/run" vid varje uppstart.

Molnsysteminstansen kan startas som en klon av "Debian Official Cloud Images" eller liknande bilder. För en sÄdan systeminstans kan personligheter som vÀrdnamn, filsystem, nÀtverk, lokal, SSH-nycklar, anvÀndare och grupper konfigureras med hjÀlp av funktioner som tillhandahÄlls av cloud-init- och netplan.io-paketen med flera datakÀllor, t.ex. filer som placerats i den ursprungliga systemavbildningen och externa data som tillhandahÄlls under lanseringen. Dessa paket möjliggör deklarativ systemkonfiguration med hjÀlp av YAML-data.

Se mer pĂ„ "Cloud Computing with Debian and its descendants", "Cloud-init documentation" och Avsnitt 5.4, ”Den moderna nĂ€tverkskonfigurationen för moln”.

Vid standardinstallation startas mÄnga nÀtverkstjÀnster (se Kapitel 6, NÀtverkstillÀmpningar) som daemonprocesser efter network .target vid uppstarten av systemd. "sshd" Àr inget undantag. LÄt oss Àndra detta till on-demand start av "sshd" som ett exempel pÄ anpassning.

Först inaktiverar du den systeminstallerade serviceenheten.

 $ sudo systemctl stop sshd.service
 $ sudo systemctl mask sshd.service

Systemet för aktivering av uttag pÄ begÀran i de klassiska Unix-tjÀnsterna skedde via superservern inetd (eller xinetd). Under systemd kan motsvarande aktiveras genom att lÀgga till enhetskonfigurationsfilerna *.socket och * .service.

sshd.socket för att ange ett uttag att lyssna pÄ

[Unit]
Description=SSH Socket for Per-Connection Servers

[Socket]
ListenStream=22
Accept=yes

[Install]
WantedBy=sockets.target

sshd@.service som den matchande servicefilen för sshd.socket

[Unit]
Description=SSH Per-Connection Server

[Service]
ExecStart=-/usr/sbin/sshd -i
StandardInput=socket

Ladda sedan om.

 $ sudo systemctl daemon-reload

Systemet udev tillhandahĂ„ller en mekanism för automatisk upptĂ€ckt och initialisering av maskinvara (se udev(7)) sedan Linux-kĂ€rnan 2.6. NĂ€r kĂ€rnan upptĂ€cker varje enhet startar udev-systemet en anvĂ€ndarprocess som anvĂ€nder information frĂ„n sysfs-filsystemet (se Avsnitt 1.2.12, ”procfs och sysfs”), laddar nödvĂ€ndiga kĂ€rnmoduler med hjĂ€lp av modprobe(8)-programmet (se Avsnitt 3.10, ”Initialisering av kĂ€rnmodulen”) och skapar motsvarande enhetsnoder.

[Tips] Tips

Om "/lib/modules/kernel-version/modules.dep" av nÄgon anledning inte genererades korrekt av depmod(8), kan det hÀnda att moduler inte laddas som förvÀntat av udev-systemet. Kör "depmod -a" för att ÄtgÀrda det.

För monteringsregler i "/etc/fstab" behöver enhetsnoderna inte vara statiska. Du kan anvĂ€nda UUID för att montera enheter istĂ€llet för enhetsnamn som t.ex. "/dev/sda". Se Avsnitt 9.6.3, Ӂtkomst till partition med hjĂ€lp av UUID”.

Eftersom udev-systemet Àr nÄgot av ett rörligt mÄl, lÀmnar jag detaljerna till andra dokumentationer och beskriver minimiinformationen hÀr.

[Varning] Varning

Försök inte att köra lĂ„ngvariga program som t.ex. sĂ€kerhetskopieringsskript med RUN i udev-reglerna som nĂ€mns i udev(7). Skapa en korrekt systemd.service(5)-fil och aktivera den istĂ€llet. Se Avsnitt 10.2.3.2, ”Montera hĂ€ndelsestyrd sĂ€kerhetskopiering”.

Programmet modprobe(8) gör det möjligt för oss att konfigurera Linux-kĂ€rnan frĂ„n anvĂ€ndarprocessen genom att lĂ€gga till och ta bort kĂ€rnmoduler. Udev-systemet (se Avsnitt 3.9, ”Udev-systemet”) automatiserar dess anrop för att underlĂ€tta initieringen av kĂ€rnmodulen.

Det finns moduler som inte Àr hÄrdvarumoduler och speciella drivrutinsmoduler för hÄrdvara, t.ex. följande, som mÄste förinstalleras genom att de listas i filen "/etc/modules" (se modules(5)).

Konfigurationsfilerna för modprobe(8)-programmet finns i katalogen "/etc/modprobes.d/", vilket förklaras i modprobe.conf(5). (Om du vill undvika att vissa kÀrnmoduler laddas automatiskt kan du övervÀga att svartlista dem i filen "/etc/modprobes.d/blacklist")

Filen "/lib/modules/version/modules.dep" som genereras av programmet depmod(8) beskriver modulberoenden som anvÀnds av programmet modprobe(8).

[Notera] Notera

Om du har problem med modulinlÀsningen vid start eller med modprobe(8) kan "depmod -a" lösa problemen genom att rekonstruera "modules.dep".

Programmet modinfo(8) visar information om en modul i Linux-kÀrnan.

Programmet lsmod(8) formaterar innehÄllet i "/proc/modules" pÄ ett snyggt sÀtt och visar vilka kÀrnmoduler som för nÀrvarande Àr inlÀsta.

[Tips] Tips

Du kan identifiera exakt maskinvara i ditt system. Se Avsnitt 9.5.3, ”Identifiering av hĂ„rdvara”.

Du kan konfigurera maskinvaran vid start för att aktivera förvĂ€ntade maskinvarufunktioner. Se Avsnitt 9.5.4, ”Konfiguration av hĂ„rdvara”.

Du kan förmodligen lĂ€gga till stöd för din speciella enhet genom att kompilera om kĂ€rnan. Se Avsnitt 9.10, ”KĂ€rnan”.