1. Innhenting av kildekoden
2. Opprette en EGENdefinert konfigurasjon
3. Bygge og installere din CUSTOM-kjernen
Som standard bruker FreeBSD-operativsystemet GENERICkjernen; I denne opplæringen vil vi imidlertid rekompilere en FreeBSD-kjerne med en tilpasset konfigurasjon kjent som: CUSTOM.
Forutsetninger
1) For å følge denne opplæringen, distribuer følgende forekomst:
2) Når forekomsten din er distribuert, installer sudosom rotbruker:
# pkg install -y sudo
3) Opprett en lokal bruker som medlem av hjulgruppen og utsted deretter et passord:
# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:
4) Tillat alle medlemmer av hjulgruppen å utføre en kommando
# visudo
Endring:
# %wheel ALL=(ALL) ALL
Til
%wheel ALL=(ALL) ALL
Lagre og avslutt ved å trykke på Esctasten etterfulgt av å skrive:wq!
5) Bytt til den nye brukerens skall
# su test
$
1. Innhenting av kildekoden
For å rekompilere kjernen må vi først hente kildekoden fra FreeBSDs versjonskontrollsystem; i dette tilfellet,subversion
$ sudo pkg install -y subversion
Password:
Som standard er skallet for nye FreeBSD-brukere sh; Vi må imidlertid endre dette til cshetter installasjonsubversion
1) Bekreft gjeldende brukers skall:
$ echo $SHELL
/bin/sh
2) Endre gjeldende brukers skall til csh:
$ chsh -s /bin/csh
Password:
chsh: user information updated
3) Bekreft at skallet er endret for gjeldende bruker:
$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh
ELLER
$ echo $SHELL
/bin/csh
4) Nå som gjeldende brukers skall er konfigurert som csh, kan vi nå rehashkatalogtabellene:
$ rehash
5) Til slutt, sjekk ut en kopi av den siste stabile grenen til /usr/srckatalogen:
$ sudo svn co --trust-server-cert --non-interactive https://svn0.us-east.freebsd.org/base/stable/11/ /usr/src
Password:
Checked out revision 317943.
2. Opprette en CUSTOMkonfigurasjon
For CUSTOMkjernekonfigurasjonen vår skal vi kopiere den eksisterende GENERICkonfigurasjonen.
1) Kopier GENERICfra /usr/src/sys/amd64/conf/katalogen som CUSTOM:
$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:
Innenfor CUSTOMkjernekonfigurasjonen vår skal vi gjøre noen endringer.
2) Åpne /usr/src/sys/amd64/conf/CUSTOM:
$ sudo vi /usr/src/sys/amd64/conf/CUSTOM
På linje 22 vil du se et identflagg, linjenummer kan sees i vieditoren ved å trykke på Esctasten etterfulgt av å skrive:set nu
22 ident GENERIC
3) Endre GENERICtil navnet på din egendefinerte kjerne; i dette tilfellet CUSTOM:
22 ident CUSTOM
I tillegg, nederst i konfigurasjonen, skal vi legge til følgende:
options IPSEC
options TCP_SIGNATURE
Når du er fornøyd med endringene, lagrer du og avslutter igjen ved å trykke på Esctasten etterfulgt av å skrive:wq!
Ytterligere informasjon for disse ulike alternativene finnes i NOTESfilen for hver type arkitektur i /usr/src/sys/katalogen.
Nedenfor er noen av de vanlige arkitekturstedene NOTES:
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/arm64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
Arkitekturuavhengige alternativer kan refereres fra /usr/src/sys/conf/NOTES
For ytterligere detaljer, se FreeBSD-håndboken .
3. Bygg og installer CUSTOMkjernen
Vi vil nå kompilere CUSTOMkjernen du har forberedt.
1) Bytt til /usr/srckatalogen og utsted en make buildkernelmed CUSTOMkonfigurasjonsfilen:
$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:
Din estimerte tid til ferdigstillelse vil variere avhengig av forekomstens mengde ressurser.
For denne opplæringen brukte vi følgende:
CPU: 4 vCore
RAM: 8192 MB
Storage: 100 GB SSD
Med disse ressursene fullførte vi kompileringen av CUSTOMkjernen vår på ~ 4 timer:
--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------
2) Når CUSTOMkjernen er ferdig kompilert, kan du installere konfigurasjonen:
$ sudo make installkernel KERNCONF=CUSTOM
Password:
Installering bør fullføres mye raskere enn kompilering.
3) Når installasjonen er ferdig, start forekomsten på nytt:
$ sudo shutdown -r now
Password:
Forekomsten din vil nå begynne å slå seg av og starte på nytt inn i CUSTOMkjernen. Du kan logge på instansens konsoll for å observere oppstartsprosessen.
4) Når forekomsten din har startet på nytt, logg på og bekreft at CUSTOMkjernen din blir brukt:
$ sysctl kern.conftxt | grep ident
ident CUSTOM
ELLER
$ uname -i
CUSTOM