Par défaut, le système d'exploitation FreeBSD utilise le GENERIC
noyau; Cependant, dans ce tutoriel, nous allons recompiler un noyau FreeBSD avec une configuration personnalisée connue sous le nom: CUSTOM
.
Conditions préalables
1) Pour suivre ce didacticiel, déployez l'instance suivante:
2) Une fois votre instance déployée, installez en sudo
tant qu'utilisateur root:
# pkg install -y sudo
3) Créez un utilisateur local en tant que membre du groupe de roues, puis entrez un mot de passe:
# pw useradd test -g wheel
# passwd test
Changing local password for test
New Password:
Retype New Password:
4) Autoriser tous les membres du groupe de roues à exécuter n'importe quelle commande
# visudo
Changement:
# %wheel ALL=(ALL) ALL
À
%wheel ALL=(ALL) ALL
Enregistrez et quittez en appuyant sur la Esc
touche puis en tapant:wq!
5) Passer au shell du nouvel utilisateur
# su test
$
1. Obtention du code source
Afin de recompiler le noyau, nous devons d'abord obtenir le code source du système de contrôle de version de FreeBSD; dans ce cas,subversion
$ sudo pkg install -y subversion
Password:
Par défaut, le shell pour les nouveaux utilisateurs de FreeBSD est sh
; cependant, nous devrons changer cela csh
après l'installationsubversion
1) Confirmez le shell de l'utilisateur actuel:
$ echo $SHELL
/bin/sh
2) Modifiez le shell de l'utilisateur actuel en csh
:
$ chsh -s /bin/csh
Password:
chsh: user information updated
3) Confirmez que le shell a changé pour l'utilisateur actuel:
$ grep test /etc/passwd
test:*:1001:0:User &:/home/test:/bin/csh
OU
$ echo $SHELL
/bin/csh
4) Maintenant que le shell de l'utilisateur actuel est configuré en tant que csh
, nous pouvons maintenant rehash
les tables d'annuaire:
$ rehash
5) Enfin, consultez une copie de la dernière branche stable du /usr/src
répertoire:
$ 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. Création d'une CUSTOM
configuration
Pour notre CUSTOM
configuration du noyau, nous allons copier la GENERIC
configuration existante .
1) Copiez GENERIC
du /usr/src/sys/amd64/conf/
répertoire comme CUSTOM
:
$ sudo cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/CUSTOM
Password:
Dans notre CUSTOM
configuration du noyau, nous allons faire quelques changements.
2) Ouvert /usr/src/sys/amd64/conf/CUSTOM
:
$ sudo vi /usr/src/sys/amd64/conf/CUSTOM
Sur la ligne 22, vous verrez un ident
drapeau, les numéros de ligne peuvent être vus dans l' vi
éditeur en appuyant sur la Esc
touche puis en tapant:set nu
22 ident GENERIC
3) Changez GENERIC
le nom de votre noyau personnalisé; dans ce cas CUSTOM
:
22 ident CUSTOM
De plus, en bas de la configuration, nous allons ajouter ce qui suit:
options IPSEC
options TCP_SIGNATURE
Une fois que vous êtes satisfait de vos modifications, enregistrez et quittez à nouveau en appuyant sur la Esc
touche puis en tapant:wq!
Des informations supplémentaires sur ces différentes options se trouvent dans le NOTES
fichier de chaque type d'architecture du /usr/src/sys/
répertoire.
Voici quelques-uns des NOTES
emplacements d' architecture courants :
/usr/src/sys/amd64/conf/NOTES
/usr/src/sys/arm64/conf/NOTES
/usr/src/sys/i386/conf/NOTES
Les options indépendantes de l'architecture peuvent être référencées à partir de /usr/src/sys/conf/NOTES
Pour plus de détails, veuillez consulter le manuel FreeBSD .
3. Construire et installer votre CUSTOM
noyau
Nous allons maintenant compiler le CUSTOM
noyau que vous avez préparé.
1) Accédez au /usr/src
répertoire et lancez un make buildkernel
avec le CUSTOM
fichier de configuration:
$ cd /usr/src
$ sudo make buildkernel KERNCONF=CUSTOM
Password:
Votre temps estimé jusqu'à la fin variera en fonction de la quantité de ressources de votre instance.
Pour ce didacticiel, nous avons utilisé les éléments suivants:
CPU: 4 vCore
RAM: 8192 MB
Storage: 100 GB SSD
Avec ces ressources, nous avons terminé la compilation de notre CUSTOM
noyau en ~ 4 heures:
--------------------------------------------------------------------
>>> Kernel build for CUSTOM completed on Sat May 6 00:24:37 UTC 2017
--------------------------------------------------------------------
2) Une fois la CUSTOM
compilation de votre noyau terminée, vous pouvez installer la configuration:
$ sudo make installkernel KERNCONF=CUSTOM
Password:
L'installation devrait se terminer beaucoup plus rapidement que la compilation.
3) Une fois l'installation terminée, redémarrez votre instance:
$ sudo shutdown -r now
Password:
Votre instance va maintenant commencer à s'arrêter et à redémarrer dans votre CUSTOM
noyau. Vous pouvez vous connecter à la console de votre instance pour observer le processus de démarrage.
4) Une fois votre instance redémarrée, connectez-vous et confirmez que votre CUSTOM
noyau est utilisé:
$ sysctl kern.conftxt | grep ident
ident CUSTOM
OU
$ uname -i
CUSTOM