4.5. Om SBU

Mange vil gjerne vite på forhånd hvor lenge det tar å kompilere og installere hver pakke. Fordi Linux Fra Scratch kan bygges på mange forskjellige systemer, er det umulig å gi nøyaktige tidsanslag. Den største pakken (Glibc) vil ta omtrent 5 minutter på de raskeste systemene, men kan ta flere dager på tregere systemer! I stedet for å oppgi faktiske tider, vil Standard byggenhet (SBU) brukes i stedet.

SBU fungerer som følgende. Den første pakken som skal kompileres fra denne boken er binutils i Kapittel 5. Tiden det tar å kompilere med en kjerne er det vi vil referere til som standard byggenhet eller SBU. Alle andre kompileringstider vil bli uttrykt i forhold til denne tidsenheten.

Tenk for eksempel på en pakke hvis kompileringstid er 4,5 SBU. Dette betyr at hvis et system tok 4 minutter å kompilere og installer det første passet med binutils, vil det ta omtrent 18 minutter å bygge denne eksempelpakken. Heldigvis er de fleste byggetidene kortere enn en SBU.

Generelt er ikke SBU helt nøyaktige fordi de er avhengige av mange faktorer, inkludert vertssystemets versjon av GCC. De er gitt her for å gi et estimat på hvor lang tid det kan ta å installere en pakke, men tall kan variere med så mye som dusinvis av minutter i noen tilfeller.

På noen nyere systemer er hovedkortet i stand til å kontrollere systemets klokkehastighet. Dette kan styres med en kommando som f.eks powerprofilesctl. Dette er ikke tilgjengelig i LFS, men kan være tilgjengelig på vertsdistroen. Etter at LFS er fullført, kan det bli lagt til systemet med prosedyrene på BLFS power-profiles-daemon siden. Før du måler byggetiden til en pakke, anbefales det å bruke en systemeffektprofil satt for maksimal ytelse (og maksimal strømforbruk). Ellers kan den målte SBU verdien være unøyaktig fordi systemet kan reagere forskjellig når du bygger binutils-pass1 eller andre pakker. Vær oppmerksom på at en betydelig unøyaktighet fortsatt kan dukke opp selv om den samme profilen brukes for begge pakkene fordi systemet kan reagere tregere hvis systemet er inaktivt når byggeprosedyren startes. Stille inn strømprofilen til «ytelse» vil minimere dette problemet. Og gjøre det vil selvsagt også gjøre at systemet bygger LFS raskere.

Hvis powerprofilesctl er tilgjengelig, utsted powerprofilesctl set performance kommandoen for å velge performance profilen. Noen distroer tilbyr tuned-adm kommandoen for å administrere profilene i stedet for powerprofilesctl, på disse distroene utsted tuned-adm profile throughput-performance kommandoen for å velge throughput-performance profilen.

[Notat]

Notat

Når flere prosessorer brukes på denne måten, vil SBU enhetene i boken variere enda mer enn de normalt ville gjort. I noen tilfeller, make trinnet vil rett og slett mislykkes. Å analysere resultatet av byggeprosessen vil også være vanskeligere fordi linjene i forskjellige prosesser vil være sammenflettet. Hvis du får et problem med et byggetrinn, gå tilbake til et enkelt prosessorbygg for å analysere feilmeldingene på riktig måte.

Tidene presentert her for alle pakker (unntatt binutils-pass1 som er basert på én kjerne) er basert på bruk av fire kjerner (-j4). Tidene i kapittel 8 inkluderer også tiden det skal kjøres regresjonstestene for pakken med mindre annet er spesifisert.