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}
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
på $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
Monter nå de gjenværende virtuelle kjernefilsystemene:
mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run
Betydningen av monteringsalternativene for devpts:
gid=5
Dette sikrer at alle devpts opprettede enhetsnoder eies av
gruppe ID 5. Dette er IDen vi skal bruke senere for
tty
gruppen. Vi bruker
gruppe-ID i stedet for et navn, siden vertssystemet kan bruke
en annen ID for sitt tty
gruppen.
mode=0620
Dette sikrer at alle devpts opprettede enhetsnoder har modus 0620 (bruker lesbar og skrivbar, gruppeskrivbar). Sammen med alternativet ovenfor, sikrer dette at devpts vil opprette enhetsnoder som oppfylle kravene til grantpt(), som betyr Glibc pt_chown hjelper binær (som ikke er installert som standard) ikke er nødvendig.
I noen vertssystemer, /dev/shm
er en
symbolsk lenke til en mappe, vanligvis /run/shm
. /run tmpfs ble montert ovenfor, så i
dette tilfellet er det bare en mappe som må opprettes med de
riktige tillatelsene.
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 install -v -d -m 1777 $LFS$(realpath /dev/shm) else mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi