7.3. Forberede det virtuelle kjernefilsystemer

Applikasjoner som kjører i brukerområdet bruker forskjellige filsystemer opprettet av kjernen for å kommunisere med selve kjernen. Disse filsystemene er virtuelle: ingen diskplass brukes til dem. Innholdet i disse filsystemene ligger i minnet. Disse filsystemene må monteres i $LFS katalogtreet slik at applikasjonene kan finne dem i chroot miljøet.

Begynn med å lage mappene som disse virtuelle filsystemene vil være montert på:

mkdir -pv $LFS/{dev,proc,sys,run}

7.3.1. Montering og fylling av /dev

Under en normal oppstart av et LFS systemet vil kjernen automatisk montere devtmpfs filsystemet på /dev mappen; kjernen oppretter enhetsnoder på det virtuelle filsystemet under oppstartsprosessen, eller når en enhet først oppdages eller åpnes. Udev nissen kan endre eierskapet eller tillatelsene til enhetsnodene opprettet av kjernen, og lage nye enhetsnoder eller symbolkoblinger for å lette arbeidet til distro vedlikeholdere og systemadministratorer. (Se Section 9.3.2.2, “Oppretting av enhetsnode” for detaljer.) Hvis vertskjernen støtter devtmpfs, kan vi enkelt montere en devtmpfs$LFS/dev og stole på at kjernen fyller den.

Men noen vertskjerner mangler devtmpfs støtte; disse vertsdistroene bruker forskjellige metoder for å lage innholdet i /dev. Så den eneste verts-agnostiske måten å fylle $LFS/dev mappen er ved å bind-montere vertssystemets /dev mappe. En bind-montering er en spesiell type montering som lager et mappeundertre eller en fil synlig på et annet sted. Bruk følgende kommando for å gjøre dette.

mount -v --bind /dev $LFS/dev

7.3.2. Montering av det virtuelle kjernefilsystemer

Monter nå de gjenværende virtuelle kjernefilsystemene:

mount -v --bind /dev/pts $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run

I noen vertssystemer, /dev/shm er en symbolsk lenke til /run/shm. /run tmpfs ble montert ovenfor, så i dette tilfellet er det bare en mappe som må opprettes.

I andre vertssystemer /dev/shm er et monteringspunkt for en tmpfs. I så fall vil monteringen av /dev ovenfor bare opprette /dev/shm i chroot miljøet som en mappe. I denne situasjonen monterer vi eksplisitt en tmpfs:

if [ -h $LFS/dev/shm ]; then
  mkdir -pv $LFS/$(readlink $LFS/dev/shm)
else
  mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
fi