Skolelinux-netboot

Fra pc-aid wiki
Sideversjon per 24. mai 2025 kl. 21:01 av Admin (diskusjon | bidrag) (Ny side: The installation will probably fail to work if you continue without kernel modules.)
(diff) ← Eldre sideversjon | Nåværende sideversjon (diff) | Nyere sideversjon → (diff)

skolelinux-netboot

kilde: https://git.nuug.no/nuug-public/skolelinux-netboot

Dette depotet inneholder mulige oppgaver for å sette opp en netboot-server med det eneste formålet å hjelpe til med å sette opp bærbare datamaskiner i NUUG/Skolelinux dugnad. Det er veldig spesifikt for vår nåværende bruk, og kan være nyttig for noen andre.

Bare Debian 12 med har blitt testet.

Komme i gang

Du trenger en vanlig datamaskin med to nettverksporter. Ut fra dine behov, kan det være nok med wifi til internett, og en ethernet-port (native eller usb-dongle) til det lokale pxe/netboot-nettverket. For større og mer stabile oppsett anbefales en datamaskin med to fysiske Ethernet-porter og en uadministrert svitsj.

Etter standard Debian 12-installasjon, konfigurer din andre nettverksport for det lokale nettverket du skal nettstarte på. Sørg for at du har et stort nok subnett til å inneholde antall klienter du vil nettstarte til enhver tid.

Nettverket som er konfigurert på dette grensesnittet, vil også bli konfigurert senere for DHCP-serveren.

Sørg for at du oppgraderer alle tilgjengelige pakker, og etter at du har gjort oppsettet, start nettboot-verten på nytt for å sikre at den kjører den nyeste kjernen og at nettverksportene har sine IP-adresser etter behov.

Du må installere ansible og git på netboot-verten først:

a) Hvis du installerte Debian 12 netinstall, kjør følgende for å være root:

su -

Skriv inn passordet for brukerkontoen din og du er root.

b) Ellers hvis du installerte Debian 12 kde live, kjør denne kommandoen for å være root:

sudo -i

Skriv inn passordet for brukerkontoen din og du er root.

apt install ansible git

Kjør deretter ansible-pull for å kjøre oppgavene fra dette depotet:

Deretter kan du klone det offentlige git-depotet som brukes til å sette opp resten av netboot-infrastrukturen:

git-klone https://git.nuug.no/nuug-public/skolelinux-netboot.git

Dette vil opprette katalogen skolelinux-netboot/ som inneholder den aktuelle playbooken og andre data som trengs for å konfigurere netboot-verten.

cd skolelinux-netboot

Konfigurer lokale innstillinger

Før du kjører spilleboken, må du lage en fil local-vars.yml (denne filen ignoreres av git) som inneholder verdier den mulige spilleboken vil bruke under oppsettet. Bruk favorittredigeringsprogrammet for å lage filen, og fyll den med følgende data:

internet_interface: "eno1" # Grensesnittnavn som har internettilgang

# DHCP server configuration
dhcpd_interface: "enx7cc2c6469631" # Interface name for local netboot network
dhcpd_subnet_network: "192.168.100.0" # Network address for local network
dhcpd_subnet_netmask: "255.255.252.0" # Network netmask for local network
dhcpd_pool_start: "192.168.100.50" # DHCP IP pool start address
dhcpd_pool_end: "192.168.103.250" # DHCP IP pool end address
dhcpd_option_routers: "192.168.100.1" # Gateway for local network (your netboot host!)
dhcpd_option_domainnameservers: "1.1.1.1,1.0.0.1" # DNS servers to push to clients
dhcpd_option_nextserver: "192.168.100.1" # Netboot PXE server (your netboot host!)

# Fullt navn, brukernavn og klartekstpassord for ønsket ikke-root
# bruker som skal opprettes under forhåndsinnstilling. Dette kommer til å være brukeren som
# er automatisk logget inn som kioskbruker.
preseed_user_fullname: ""
preseed_username: ""
preseed_user_password: ""

# Brukernavn og passord som vil bli konfigurert i ProFTP og som ShredOS vil
# brukes til å laste opp PDF-rapporter # etter sletting av disker.
proftpd_shredos_user: "enbruker"
proftpd_shredos_pass: "ettpassord"

# En liste over givere av bærbare datamaskiner. VIKTIG: Bruk kun små og oppalfanumeriske bokstaver
# (a-z, A-Z, 0-9), ingen mellomrom! Hver giver vil få sin egen ShredOS netboot-meny # valg, og deres egen ShredOS-logg-katalog.
donors:
  - "bigcompany"
  - "district123"

Nå skal du kunne kjøre spilleboken som vil utføre alle nødvendige konfigurasjonsoppgaver. Dette kan ta litt tid.

ansible-playbook netboot-host-setup.yml -D

Det er sannsynligvis en god idé å starte nettboot-verten på nytt etter dette (forutsatt at alt gikk bra), for å sikre at tjenestene starter ved oppstart (DHCP-server, ProFTPd, Apt-cacher-ng). Du kan sjekke med f.eks.:

systemctl status proftpd.service
systemctl status isc-dhcp-server.service
systemctl status apt-cacher-ng.service

Du skal nå kunne bruke denne verten i det lokale nettverket der du utfører Skolelinux-installasjonene. Denne verten skal være den eneste DHCP-serveren i nettverket, og gateway-IP-en må samsvare med det som blir presset av denne verten over DHCP.

If there are any changes in your local-vars.yml file, you should be able to simply re-run the playbook, and the system will be reconfigured accordingly.

If there are any new development for this setup made available in the git repository, you can update your files, by running a git command while being in the skolelinux-netboot/ directory:

git pull

To apply the latest changes, re-run the ansible playbook again.

Disable Suspend/Hvilemodus på preseed-maskinen

When this is not disabled the computers getting tanked from the preseed machine wil stop installing as we have experienced xD

a) Go to systemsettings/systeminnstillinger -> Strømstyring/Powermanagement -> ta av haken i Lås økt / Lock session and click on Bruk/Use

Del trådløst internett med netboot-maskinen

a) Either start a preinstalled Debian 12 kde laptop with both wireless and ethernet network (cable), or boot a Debian live KDE from a USB-stick

b) When the system is started to Desktop -> left click the network icon in the bottom right corner and connect to a wireless network. Example Rebel-Network

c) Right click the network icon in the right corner of the screen again and do: > Configure Network Connections/Sett opp nettverkskoblinger -> Wired Connection 1 -> Kablet Forbindelse 1 -> IPv4 (tab/fane -> Method/Metode -> Shared to other computers / Delt til andre datamaskiner -> Use/Bruk

d) Go to settings -> powermanagement/strømstyring -> On AC Power/På nettstørm (tab/fane) -> remove check mark for Lock session -> On battery/På batteridrift > remove check mark for Lock session -> On Low Battery/Lavt batterinivå remove check mark for Lock session -> click Use/Bruk

e) Connect a network cable from the network card on the laptop to Internet in network card on the preseed machine.

Feilsøking

No kernel modules were found

Når du installerer en bærbar PC, får du denne advarselen:

No kernel modules were found. This probably is due to a mismatch between the kernel used by this version of the installer and the kernel version available in the archive.

You should make sure that your installation image is up-to-date, or if that's the case deb.debian.org. try a different mirror, preferably

The installation will probably fail to work if you continue without kernel modules.

Continue the install without loading kernel modules?

Løsning:

logg inn på superbruker-shellet

su -

Kjør deretter disse to kommandoene:

di-netboot-assistant --arch=amd64 install stable

di-netboot-assistant --ignore-sig fw-toggle stable

Start deretter den bærbare datamaskinen du installerte på nytt, og start installasjonsprosessen på nytt.