Installasjon PXE - Avansert

Dette dokumentet beskriver ulike alternativer ved installasjon av Linux via PXE. Dokumentet er beregnet på IT-ansvarlige.

Av Øistein Søvik
Publisert 17. feb. 2026

1   Parametre til installasjonen

La oss se på http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel i nytt system:

ERROR: Dualstack mode requires at least one complete configuration (IPv4 or IPv6)
ERROR: Missing 'name'        : The name for the system.
ERROR: Missing 'siteadmin'   : Email of the site administrator.
ERROR: Missing 'type'        : Specifies the installation type. Choices: client, server:

Så i nytt system er parametrene os, name, siteadmin og type påkrevd. I tillegg er disk_encryption_passphrase og primaryuser påkrevd for laptop=yes.

Merk: Noe mer nyansert så tas siteadmin automatisk fra mreg hvis mulig. Videre så må man ha nettverkskonfig, enten via mreg eller ved å angi ip=<ipv4>/<prefix> og/eller ipv6=<ipv6>/<prefix> med gateway/ipv6gw. Dette kan også utelates ved å angi dhcpv4=yes/dhcpv6=yes.

Parameter Forklaring
os=<navn><int> Operativsystem som skal installerer. Merk den støtter lang rhel|fedora|ubuntu og kort rhel|f|ubu. Hvis du unnlater å angi versjonsnummer brukes nye versjon.
siteadmin=<adresse> Kontaktaddresse for maskinen, kan være en personlig addresse oistes@uio.no eller for en seksjon iti-ops@usit.uio.no.
type=<client|server> Angi hvorvidt maskinen er en server eller en arbeidsstasjon. Merk man kan og angi type=client&laptop=yes for en bærbar pc.
name=<hostname> Fullt kvallifiser hostnavn, merk at koden slår opp navn fra mreg så hostnavn holder.

I nytt system er installasjonen helt automatisk og de mest vanlige parametrene og endre er angitt under

Parameter Forklaring
disk=<device>

Angi disk device. Installasjonen gjør noen antakelser om hvor man skal installere. For å overstyre dette, kan man angi riktig device med denne parameteren.

I noen tilfeller har disken man ønsker å installere på et device-navn som opplegget ikke gjenkjenner. Eksempel på dette er PCI-e attached storage, der device-navn er "nvme0n1" eller tilsvarende.

return=<format> Angi dette i nettleseren for å se nøyaktig hvilke parametre som settes: <tt2|all|json|params|inputs|defaults>
clearpart=no Instruerer installasjonen til ikke å slette eksisterende partisjoner. Bootpartisjon og systemvolumer vil bli gjenbrukt. ADVARSEL: Partisjonen sist montert som /boot, samt volumer med navn root, var, tmp og usr (i volumgruppen internvg) vil bli reformatert.
network_mode=<mode> Valg: dual-stack, ipv4-only, ipv6-only
debug=yes Starter installasjonen i debug modus, som er mye mer detaljert
sizeusr=<MB> Overstyrer størrelsen på /usr. Størrelsen angis i MB.
sizevar=<MB> Overstyrer størrelsen på /var. Størrelsen angis i MB.
sizetmp=<MB> Overstyrer størrelsen på /tmp. Størrelsen angis i MB.
sizeopt=<MB> Overstyrer størrelsen på /opt. Størrelsen angis i MB.
sizesite=<MB> Overstyrer størrelsen på /site. Størrelsen angis i MB. Vanligvis lages ikke /site, og denne parameteren må angis for at /site skal lages
sizehome=<MB> Overstyrer størrelsen på /home. Størrelsen angis i MB. Denne partisjonen lages på bærbare og er da 20 GB med mindre man bruker denne parameteren for å spesifisere en annen størrelse. For annet enn bærbare må denne parameteren angis for at /home skal lages
sizeswap=<MB> Overstyrer størrelsen på swap-paritsjonen. Størrelsen angis i MB.

Ønsker man å se _alle_ parametrene som er tilgjengelig kan man se på:

http://pxe.uio.no/cgi-bin/ks2.pl?return=params

Ved installasjon fra PXE er det dessverre litt kronglete å få inn disse parametrene, men det kan gjøres med følgende metode:

  1. Velg operativsystem eksempelvis RHEL
  2. Trykk ENTER og skriv inn passordet secret ENTER
  3. Velg det du ønsker av parametre samt eventuelt fra Misc.
  4. Trykk C (shift og C) eller velg Custom.
  5. Skriv inn kickstart-parameter (gjenta default som listes over)
  6. Legg til et mellomrom og deretter ønsket/ønskede tilleggsparametre
  7. Trykk ENTER

Enheter som av stordriftsårsaker ønsker å sette opp parametrene på forhånd for maskiner som skal installeres, kan gi beskjed til usit-ops@usit.uio.no om at det etableres en kopling mellom subnettet maskinene skal installeres på og en URL til ønsket mappe på en webserver. Parametrene kan da legges i en tekstfil på webserveren. Navnet på filen må være navnet på maskinen (i lowercase, uten domenenavn bak) eller macadressen (seks hexadesimale tall i uppercase, separert med kolon).

2   USITifisering

Ved installasjon av et system via UiO sine mekanismer, så vil det gå gjennom en "usitifisering". Det vil si at det grunnleggende settes opp til UiO sine krav og etter tilhørende prosedyrer. Det gjelder feks. slikt som gjeldende sikkerhetskrav og ekstra pakke-brønner som er generelt nyttige i UiO-sammenheng. Samt mye annet.

Notat

Det er et krav for å kunne kables til et UiO-nett at det aktuelle system har gjennomgått en slik prosess, og at gjeldende konfigurasjon opprettholdes. Dette vil i praksis tilsi at CFEngine fortsatt er installert og aktiv.

Dersom en maskin enten installeres utenom UiO-prosedyrene, eller en maskin av en eller annen grunn etter oprinnelig installasjon har fått dette oppsettet endret, så kan man usitifisere maskinen i etterkant. Merk at det er viktig at parametrene er satt riktig, det er med andre ord lite lurt å usitifisere en rhel maskin som ubuntu:

curl -LSsf 'http://pxe.uio.no/cgi-bin/ks2.pl?template=usitify&os=rhel&type=<client|server>&name=<hostname>&siteadmin=<adresse>' | bash

Hvis man dropper versjonsnummer i os så vil den defaulte til den nyeste versjonen. Man kan og gjøre operasjonen over i to steg:

curl -o /usr/local/bin/usitify.sh -LSsf 'http://pxe.uio.no/cgi-bin/ks2.pl?template=usitify&os=rhel&type=<client|server>&name=<hostname>&siteadmin=<adresse>'
bash /usr/local/bin/usitify.sh

Notat

Alt mellom '<' og '>' må byttes ut med infoen som står. Og de vinkelparantesene skal IKKE med!

Tips

Dersom en maskin er allerede blitt installert via PXE så finnes filen nevnt over lagret lokalt. Man kan da få tilbake de opprinnelige instillingene ved å kjøre bash /usr/local/bin/usitify.sh igjen. Merk at hvis man vil kjøre skriptet i debug modus så kan man sette følgende miljøvariabel: UIO_DEBUG=1.

3   Lage egen kickstart-fil / kickstart-generator

Advarsel

Dette krever inngående kjennskap til Red Hat kickstart, og er ikke anbefalt for annet enn små justeringer i forhold til standard kickstart for UiO. Ta kontakt med unix-drift hvis du er usikker.

Det er mulig å laste ned UiOs kickstart-fil, endre på den og bruke den endrede utgaven ved installasjon. Dette gjøres på følgende måte:

  1. Hent ned UiOs kickstart-fil fra denne siden:

    http://pxe.uio.no/cgi-bin/ks2.pl?os=<os>&type=<type>&name=<hostname>
    

    Endre <os> til OS, f.eks. rhel8, rhel9 eller rhel10. Endre <type> til "server" eller "client", alt etter hva som skal installeres. Det er også mulig å spesifisere en variant, dvs. en allerede tilpasset installasjon:

    http://pxe.uio.no/cgi-bin/ks2.pl?os=<os>&type=<type>&variant=<variant>&name=<hostname>
    

    Enkelte avdelinger har sin egen variant av installasjonen.

    Man kan også spesifisere laptop, slik:

    http://pxe.uio.no/cgi-bin/ks2.pl?os=<os>&type=client&laptop=yes&name=<hostname>&primaryuser=<bruker>&disk_encryption_passphrase=<passphrase>
    

    Laptop er naturligvis kun aktuelt for typen "client".

    Merk: siteadmin hentes normalt fra mreg dersom maskinen finnes der og har kontaktfeltet satt. Hvis ikke må siteadmin=<adresse> angis manuelt. Hvis maskinen ikke finnes i mreg må du også legge til nettverksparametre, f.eks. &dhcpv4=yes/&dhcpv6=yes eller statisk &ip=<ipv4>/<prefix>&gateway=<gw>. Man kan selvsagt også legge til hvilken som helst annen parameter som er kjent av systemet. Se listen ovenfor for mer informasjon.

  2. Gjør dine modifikasjoner på kickstart-filen som ble lastet ned og gi filen et fornuftig navn.

  3. Plasser kickstart-filen et sted der installasjonen kan få tak i den, f.eks. under www_docs på ditt eget hjemmeområde.

  4. Ved boot fra PXE eller CD, spesifiser eller endre på hvor kickstart-filen ligger, f.eks.:

    inst.ks=http://folk.universitetetioslo.no/<bruker>/ks.cfg
    

Installasjonen vil da fortsette som normalt, men det er den modifiserte kickstart-filen som brukes. For PXE må man velge meny-valget for Custom Mode for å få anledning til å skrive inn en egen kickstart-URL.

4   RHEL: Installasjon med boot-CD

Dersom man skal installere RHEL på en maskin hvor man ikke har PXE på subnettet, kan man bruke standard boot-CD fra Red Hat. Dette er en mer manuell prosess enn installasjon over PXE, men det eneste som er forskjellig er den første fasen. Dette er beskrevet her.

Aller først trenger man selv CD-en. Image for denne ligger her:

OS Boot ISO
RHEL 10.0 rhel-10.0-x86_64-boot.iso
RHEL 9.6 rhel-9.6-x86_64-boot.iso
RHEL 8.9 rhel-8.9-x86_64-boot.iso

Last ned den aktuelle ISO-filen, og brenn den på en CD:

# cdrecord -v -eject <fil>.iso

Boot maskinen fra CD. Trykker du TAB får du opp et prompt, der legger du til:

OS type Boot-parameter til kickstart
RHEL 10.x server inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel10&type=server&name=<hostname>
RHEL 10.x arbeidsstasjon inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel10&type=client&name=<hostname>
RHEL 10.x laptop inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel10&type=client&laptop=yes&name=<hostname>&primaryuser=<bruker>&disk_encryption_passphrase=<passphrase>
RHEL 9.x server inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel9&type=server&name=<hostname>
RHEL 9.x arbeidsstasjon inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel9&type=client&name=<hostname>
RHEL 9.x laptop inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel9&type=client&laptop=yes&name=<hostname>&primaryuser=<bruker>&disk_encryption_passphrase=<passphrase>
RHEL 8.x server inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel8&type=server&name=<hostname>
RHEL 8.x arbeidsstasjon inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel8&type=client&name=<hostname>
RHEL 8.x laptop inst.ks=http://pxe.uio.no/cgi-bin/ks2.pl?os=rhel8&type=client&laptop=yes&name=<hostname>&primaryuser=<bruker>&disk_encryption_passphrase=<passphrase>

Merk: siteadmin hentes normalt fra mreg dersom maskinen finnes der og har kontaktfeltet satt. Hvis ikke må &siteadmin=<adresse> angis manuelt. Hvis maskinen ikke finnes i mreg må du også legge til nettverksparametre, f.eks. &dhcpv4=yes/&dhcpv6=yes eller statisk &ip=<ipv4>/<prefix>&gateway=<gw>.

Man kan legge til eventuelle andre parametre. Eksempelvis bruker vi for RHEL9:

vconsole.keymap=no inst.keymap=no ks.device=bootif

De to første gjør så man får norsk tastatur-oppsett, det siste at man slipper å bli spurt om hvilket nett-interface som skal brukes til installasjon, men denne er avhengig av en parameter som den får fra PXE. Her kan man eksempelvis bruke "ksdevice=em1" istedenfor. Merk at opsjonen vil bli fjernet og erstattet med ip, se dokumentasjon hos RedHat). En annen opsjon som kan være nyttig er "nicdelay=50". Den sier til installasjonen at den skal vente 50 sekunder før nettet tas opp, og dette gjøres for å gi nettkort og switch nok tid til forhandling (portfast).

Publisert 17. feb. 2026 12:44