Kjernekompilering
Vi prøver å kjøre samme kjerne, med samme config, på cassarossa/cirkus/altersex. kolje, jarragakk, voff og okkupasjon har ikke ITK-kjerner. Årsaken til at vi kompilerer egne kjerner er delvis historiske, men det har blant annet fordelen av vi får større kontroll over hvilke drivere vi ønsker og ikke, og vi har muligheten til å legge inn egen kode hvis vi så ønsker.
HOWTO
- Installer kernel-package om du ikke har.
- Last ned kildekoden til kjernen du har lyst på. For optimal ytelse, hent den ned til /usr/src på cirkus. For en bestemt versjon, last med en .tar.gz fra https://kernel.org. For det nyeste nye, klon https://github.com/torvalds/linux. For å få siste fra apt, apt-get source linux-image-amd64.
- Pakk ut mappen med tar -xvf linux-(versjon).tar.xz om du har lastet ned en tar.gz fil.
- Kopier config fra siste ITK-kjerne til .config i mappen hvor du har kildekoden. Du finner den gamle i f.eks. /boot/config-5.8.6.
- Forbered configen til nyeste kjerne, med make oldconfig. Svar på spørsmålene som kommer. Du kan si nei eller modul til det meste av nye drivere. Ellers følger du i hovedsak anbefalingene til Internett.
- Kompiler kjernen med make-kpkg --initrd linux-image -j 40 --append-to-version (se Navneskjema) evt make -j$(nproc) bindeb-pkg
- Nå skal .deb-filen ligge ett nivå over der du befinner deg. Den skal ha formen linux-image-5.8.6_5.8.6-10.00.Custom_amd64.deb, eventuelt med noen itk-0x her og der. Installer den med dpkg -i FILNAVN.
- Hvis du skal oppgradere kjerner på andre servere sender du dem .deb-filen og installerer igjen med dpkg -i. Installasjonen kan verifiseres med å sjekke /boot/grub/grub.cfg.
- Sørg for at nedetid er meldt, og boot boksen.
- Boot boksen ved å f.eks. kjøre shutdown -r +5 "Omstart pga. SETT INN GRUNN HER". Dette vil reboote serveren om fem minutter, og varsle påloggede brukere om omstarten. Husk også å kjøre touch /etc/cassarossa-is-down på cirkus, så slipper man overveldende mange feilmeldinger.
Navneskjema
Med make-kpkg kan man spesifisere hvordan versjonsnavnet skal se ut. Hvis man spesifiserer --append-to-version -itk01, blir kjernen hetende f.eks. vmlinuz-3.9.0-itk01. Hvis man dropper –append-to-versjon blir det bare vmlinuz-3.9.0.
- Kompilering med første generasjons ITK-config for denne kjerneversjonen: ingen --append-to-version
- Senere configversjoner for samme kjerneversjon (om du endrer config e.l.): --append-to-version -itk01 (eller -itk02, osv)
- Om du har patchet kjernen, enten det er førstegenerasjons config eller senere versjoner: gå rett på --append-to-version -itk01 (eller -itk02, osv).
HOT TIP
- Etter nedetid kan man gjerne rydde opp i /usr/src/, eventuelt der man har valgt å legge kildekoden.
- Om man har man meldt nedetid for alle eller noen av tjenestene, kan man også boote kolje, voff og/eller okkupasjon om de har nye kjerner tilgjengelig. F.eks.: Tar man ned cirkus, kan man også boote okkupasjon, siden man likevel ikke får kjøpt billetter i dette tidsrommet.
- Pass på at GRUB_DEFAULT er satt til 0 i filen /etc/default/grub for å automatisk boote til nyeste kjerne. Husk å kjøre sudo update-grub etter at du eventuelt endrer filen.
Lenker: Start
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2024-11-29 16:18 | Revisjon: 32 (historie, blame) | Totalt: 1906 kB | Rediger