Di default, il sistema operativo FreeBSD utilizza il GENERIC
kernel; tuttavia, in questo tutorial, ci sarà ricompilare un kernel FreeBSD con una configurazione personalizzata noto come: CUSTOM
.
Prerequisiti
1) Per seguire questa esercitazione, distribuire la seguente istanza:
2) Dopo aver distribuito l'istanza, installare sudo
come utente root:
# pkg install -y sudo
3) Creare un utente locale come membro del gruppo ruote e quindi emettere una password:
# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:
4) Consentire a tutti i membri del gruppo ruote di eseguire qualsiasi comando
# visudo
Modificare:
# %wheel ALL=(ALL) ALL
Per
%wheel ALL=(ALL) ALL
Salvare ed uscire premendo il Esc
tasto seguito da digitando:wq!
5) Passa alla shell del nuovo utente
# su test
$
1. Ottenere il codice sorgente
Per ricompilare il kernel, dobbiamo prima ottenere il codice sorgente dal sistema di controllo della versione di FreeBSD; in questo caso,subversion
$ sudo pkg install -y subversion
Password:
Di default, la shell per i nuovi utenti di FreeBSD è sh
; tuttavia, dovremo cambiarlo in csh
dopo l'installazionesubversion
1) Conferma la shell dell'utente corrente:
$ echo $SHELL
/bin/sh
2) Cambia la shell dell'utente corrente in csh
:
$ chsh -s /bin/csh
Password:
chsh: user information updated
3) Conferma che la shell è cambiata per l'utente corrente:
$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh
O
$ echo $SHELL
/bin/csh
4) Ora che la shell dell'utente corrente è configurata come csh
, ora possiamo rehash
le tabelle delle directory:
$ rehash
5) Infine, controlla una copia dell'ultimo ramo stabile nella /usr/src
directory:
$ 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. Creazione di una CUSTOM
configurazione
Per la nostra CUSTOM
configurazione del kernel, stiamo per copiare la GENERIC
configurazione esistente .
1) Copia GENERIC
dalla /usr/src/sys/amd64/conf/
directory come CUSTOM
:
$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:
All'interno della nostra CUSTOM
configurazione del kernel, faremo alcune modifiche.
2) Apri /usr/src/sys/amd64/conf/CUSTOM
:
$ sudo vi /usr/src/sys/amd64/conf/CUSTOM
Alla riga 22, vedrai un ident
flag, i numeri delle righe possono essere visualizzati vi
nell'editor premendo il Esc
tasto seguito dalla digitazione:set nu
22 ident GENERIC
3) Cambia GENERIC
il nome del tuo kernel personalizzato; in questo caso CUSTOM
:
22 ident CUSTOM
Inoltre, nella parte inferiore della configurazione, aggiungeremo quanto segue:
options IPSEC
options TCP_SIGNATURE
Una volta che sei soddisfatto delle tue modifiche, salva ed esci di nuovo premendo il Esc
tasto seguito da digitando:wq!
Ulteriori informazioni per queste varie opzioni sono disponibili nel NOTES
file per ciascun tipo di architettura all'interno della /usr/src/sys/
directory.
Di seguito sono riportate alcune delle NOTES
posizioni di architettura comuni :
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/arm64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
È possibile fare riferimento alle opzioni indipendenti dall'architettura /usr/src/sys/conf/NOTES
Per ulteriori dettagli, consulta il Manuale di FreeBSD .
3. Compilazione e installazione del CUSTOM
kernel
Compileremo ora il CUSTOM
kernel che hai preparato.
1) Passare alla /usr/src
directory ed emettere a make buildkernel
con il CUSTOM
file di configurazione:
$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:
Il tempo stimato fino al completamento varierà in base alla quantità di risorse dell'istanza.
Per questo tutorial, abbiamo utilizzato quanto segue:
CPU: 4 vCore
RAM: 8192 MB
Storage: 100 GB SSD
Con queste risorse, abbiamo finito di compilare il nostro CUSTOM
kernel in circa 4 ore:
--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------
2) Una volta che il CUSTOM
kernel ha finito la compilazione, è possibile installare la configurazione:
$ sudo make installkernel KERNCONF=CUSTOM
Password:
L'installazione dovrebbe essere completata molto più velocemente della compilazione.
3) Al termine dell'installazione, riavvia l'istanza:
$ sudo shutdown -r now
Password:
La tua istanza ora inizierà a spegnersi e riavviarsi nel CUSTOM
kernel. Puoi accedere alla console della tua istanza per osservare il processo di avvio.
4) Una volta riavviata l'istanza, accedi e conferma che il tuo CUSTOM
kernel è in uso:
$ sysctl kern.conftxt | grep ident
ident CUSTOM
O
$ uname -i
CUSTOM