Annonce

Réduire
Aucune annonce.

FreeBSD (tutoriel pour une installation sous VirtualBox)

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • FreeBSD (tutoriel pour une installation sous VirtualBox)

    Bonjour,

    Je change un peu de domaine et délaisse la programmation pour écrire quelque chose sur mon système d’exploitation préféré, c’est-à-dire FreeBSD.

    Je ne vais pas citer les avantages et les inconvénients de ce système d'exploitation car c'est subjectif. De même, si je fais une petite comparaison à Linux (car c'est bien plus connu), je ne fais pas de jugement de valeur. FreeBSD n'est pas meilleur ni moins bien que Linux, il est juste un peu différent.


    Pourquoi essayer FreeBSD ?
    • Vous avez un vieux PC dont vous ne savez pas quoi faire (j’ai installé FreeBSD avec succès sur un Pentium II avec quelques centaines de Mio de mémoire).
    • Vous êtes curieux et vous avez un gestionnaire de machine virtuelle ainsi que quelques Gio à perdre sur l’un de vos disques dur.
    • Vous aimez bidouiller.
    Pourquoi ne pas essayer FreeBSD ?
    • Vous avez la carte graphique NVidia dernier cri, ou pire, celle d’AMD.
    • Vous avez l’ultime carte wifi à la mode ou une clé USB – wifi inconnue du grand public.
    • Envie d’un système graphique qui s’installe tout seul.
    • Vous ne comprenez rien en anglais.

    Différences avec Linux

    Ces deux systèmes sont, en beaucoup de points, identiques (mêmes shells, mêmes commandes, même système de permissions sur les fichiers, etc.). D’un point de vue sémantique, on peut juste dire que Linux n’est qu’un noyau alors que FreeBSD est un système d’exploitation en soi (noyau + principaux programmes utilisateur). Un système d'exploitation quelque peu spartiate cependant. En fait, beaucoup de programmes tiers sont à installer si on veut quelque chose de complet.

    Une autre différence essentielle avec la plupart des distributions Linux est que, hormis pendant l’installation du SE proprement dit, aucun programme n’exécute de script de post-installation. Ce qui veut dire qu’il faudra les configurer « à la main ». Cela dit, tous n’ont pas besoin d’être configuré mais, par principe, FreeBSD ne permet pas une automatisation de la chose.

    Heureusement, la documentation de FreeBSD est relativement monolithique grâce au Handbook qui explique à peu près tout et notamment la configuration des principaux programmes. Ce n’est pas éparpillé comme souvent sur d’autres systèmes. Ce n’est pas une perte de temps que de le lire en entier, même en passant en diagonale sur les sujets qui ne sont pas d’actualité par rapport à ce que vous voulez faire.


    Pour commencer

    C’est ici qu’il faut se rendre pour télécharger FreeBSD : https://www.freebsd.org/fr/where.html

    La version de production actuelle est 11.2-RELEASE. Alors attention avec les noms de versions : les RELEASE sont les seules qui soient jugées éprouvées et stables. Il y a les versions CURRENT et là, on comprend bien qu’elles sont expérimentales. Il y a aussi les versions STABLE qui n’ont de stable que le nom ; il s’agit juste d’une branche de développement intermédiaire entre CURRENT et RELEASE.

    L’indispensable Handbook : https://www.freebsd.org/doc/handbook/

    Le forum officiel de FreeBSD : https://forums.freebsd.org/

    Précisons que, dans ce forum, ne sont supportées que les versions « pures » de FreeBSD, c’est-à-dire pas les distributions dérivées comme FreeNAS, GhostBSD ou TrueOS, entre autres. De même, les versions CURRENT ne sont pas supportées ; seules les RELEASE et STABLE le sont, et encore uniquement les dernières (en ce moment : 10 et 11).
    Dernière modification par Icarus, 30 septembre 2018, 17h43.

  • #2
    Installer FreeBSD sur VirtualBox (hôte Windows 7 ou 10)

    On va se donner pour objectif de mettre en place un système de type station de travail minimale.

    Certains me diront peut-être qu'il existe des machines virtuelles toutes prêtes que l'on peut télécharger, genre ici : https://www.osboxes.org/freebsd/

    Je réponds qu'on n'apprend rien de cette manière. Qui plus est, vous héritez d'un système en anglais avec le clavier qui va avec.

    Commençons par télécharger l'image ISO qui va bien (FreeBSD-xx.x-RELEASE-amd64-disc1.iso de la dernière version). Actuellement, il s'agit de : FreeBSD-11.2-RELEASE-amd64-disc1.iso et c'est ici qu'on l'obtient : ftp://ftp.freebsd.org/pub/FreeBSD/re...O-IMAGES/11.2/

    Pour ceux qui ne l'ont pas, il faut aussi télécharger et installer VirtualBox : https://www.virtualbox.org/


    Configuration de VirtualBox

    Une fois que VirtualBox est fonctionnel, il convient de créer une machine virtuelle (bouton « Nouvelle » en haut à gauche).



    Remplir les champs à peu près ainsi. Il est possible de réduire ou augmenter la mémoire selon la capacité de votre PC. Une bonne mesure est la mémoire vive réelle divisée par 4 au minimum.

    Cliquez sur « Créer » puis choisissez la taille du disque dur virtuel. 10 Gio suffisent largement pour un test (voire moins, surtout si pas d'installation de Xorg) mais si vous voyez plus loin, préférez 20 Gio. Cela dépend surtout de la capacité disponible que vous avez.

    Ensuite, la machine virtuelle nouvellement créée apparaît dans la liste sur la gauche. Il faut maintenant la configurer quelque peu (bouton « configuration » juste à côté de « Nouvelle ») :

    Général / Avancé : placer « Presse-papier partagé » sur « Bidirectionnel ». Cela pourra servir.

    Système / Carte mère : sélectionner « Activer EFI ». Rien d'obligatoire mais ce sera plus fun (une console avec plus de lignes visibles notamment). Qui plus est, après l'installation, le système pourra également démarrer en mode « legacy BIOS » au cas où. Profitez-en pour décocher le lecteur de disquette, cela ne sert plus à rien depuis longtemps.

    Stockage : cliquer sur l'icône du lecteur de CD (« Vide ») puis charger l'image de FreeBSD téléchargée plus haut, grâce au bouton à droite de « Maître secondaire IDE ».

    Réseau : changer le mode d'accès réseau par « Accès par pont ». C'est important, sinon des problèmes risquent de se manifester lors de certains échanges réseau.

    USB : décochez « Activer le contrôleur USB ». Rien de grave, on le remettra en fonction plus tard. C'est juste qu'il y a un petit bug d'affichage pendant l'installation si on le laisse.

    Cliquer ensuite sur « Ok ». La machine est correctement configurée.


    Installation de FreeBSD

    il ne reste plus qu'à lancer la machine virtuelle en cliquant sur le bouton « Démarrer » en haut. On obtient alors ceci :



    Il suffit d'appuyer sur « Entrée » ou d’'attendre 10 secondes pour que le processus de démarrage continue.
    L'installation commence… :



    « Entrée » puis on arrive au choix du clavier. Avec les flèches, descendre jusque « French (accent keys) » puis « Entrée ». Le clavier est alors sélectionné. Remonter d'une ligne avec les flèches, « Continue with fr.acc.kdb » est sélectionné. Appuyer sur « Entrée » pour continuer.

    Ensuite, le nom de la machine est demandé (hostname). On peut mettre n'importe quoi, disons (pour faire original) « FreeBSD ».

    Après, on arrive sur « Distribution select ». Sélectionner « src » en plus (flèches + « Espace »). C'est toujours utile d'avoir les sources du noyau (cela permet de compiler des pilotes).

    « Entrée » et on arrive au menu suivant : « Partitionning ». Ici, aucune hésitation, servez-vous des flèches et sélectionner « Auto (ZFS) ». C'est un système de fichiers offrant des fonctionnalités hors du commun. Nous effleurerons le sujet un peu plus loin.

    Ensuite, c'est le menu « ZFS Configuration ». Appuyez juste sur « Entrée ». Puis encore « Entrée » dans le menu suivant « Select Virtual Device Type ». Il faut maintenant sélectionner le disque qui va recevoir FreeBSD. Ici, il n'y en a qu'un : ada0. « Espace » pour le sélectionner puis « Entrée ». Enfin le menu de la « dernière chance » apparaît. Avec la flèche gauche, sélectionner « YES » puis appuyer sur « Entrée ». L'installation se passe alors (décompression et copie des fichiers présents sur le CDROM)…

    Nous arrivons maintenant sur la mise en place d'un mot de passe pour le compte root. Il n'y a pas de contrôle sur la complexité du mot de passe. Donc, choisissez ce que vous voulez mais surtout ne l'oubliez pas !

    A présent, c'est la sélection de l'interface réseau, il n'y en a qu'une : « em0 ». Appuyez juste sur « Entrée ». Répondez « YES » à la configuration de IPV4. Puis « YES » également à l'utilisation de DHCP. Normalement, toutes les box ont un serveur DHCP qui va donner une adresse IP à cette interface. Si tout se passe bien, aucun message d'erreur n'apparaît. Ensuite, l'installateur demande de configurer IPV6, répondre « NO ». Un récapitulatif des serveurs DNS s'affiche, choisir « OK » avec la touche « TAB ».

    La fenêtre suivante est le sélecteur de région pour le temps (Time zone). Choisir « Europe » puis « France ». Faire « YES » à la demande de confirmation. Ensuite, on peut éventuellement changer la date et l'heure, choisir « Skip » deux fois.

    Il s'agit maintenant de sélectionner les services à lancer. Laisser ceux par défaut mais rajouter « ntpd » en le sélectionnant avec les flèches puis « Espace ». Cela permet de garder l'horloge à l’heure.

    Dans « System hardening », ne sélectionnez rien et appuyez sur « Entrée ».

    Ajoutez un utilisateur, en répondant « YES » à « Add user account ».



    Il suffit de faire « Entrée » la plupart du temps, en acceptant les valeurs par défaut. Ne sont à entrer que le nom d'utilisateur et le mot de passe. Il convient aussi d'inviter cet utilisateur dans les groupes wheel et operator. Le premier donne quelques droits root dont celui d'éteindre et de redémarrer la machine ; le second permet de monter et démonter des périphériques tels que les clés USB.

    On arrive alors à la fin de l'installation et il suffit de faire « Entrée » (« Exit »).

    L'ultime fenêtre se nomme « Manual Configuration » et là, il faut choisir « Yes » (et non le choix par défaut qui est « NO »).



    On se retrouve dans la ligne de commande root. Taper juste :
    Code:
     poweroff
    Cela afin d'éteindre la machine car il y a quelques modifications à apporter avant de la redémarrer.


    Modification de la configuration de la machine virtuelle

    Allez dans la configuration de cette machine virtuelle :

    Dans Stockage : cliquer sur l'icône du CDROM puis sur le bouton à droite de « Maître secondaire IDE ». Dans le menu, choisir « Retirer le disque du lecteur virtuel ». C'est le seul moyen avec EFI de ne pas redémarrer sur le CD d'installation.

    Dans USB : réactiver le contrôleur USB.


    Démarrage de FreeBSD

    Ensuite, démarrer « FreeBSD-test ». Et là, après quelques secondes, vous arrivez sous l'invite « Login: ». Taper « root » puis le mot de passe qui va bien.

    Ce qui suit n'est d’'aucune utilité dans l'installation elle-même mais...… Soulevons un peu le capot au niveau de la configuration du disque dur. Taper :
    Code:
    gpart show -p
    Code:
    zfs list
    Code:
    df -h


    Nous voyons donc que le schéma de partition du seul disque disponible ada0 (20 Gio en taille) est de type GPT : https://fr.wikipedia.org/wiki/GUID_Partition_Table

    Une première partition de type msdosfs, ada0p1, contient le fichier de démarrage EFI (/EFI/BOOT/BOOTX64.EFI). Une seconde, ada0p2 , recèle le boot de FreeBSD (ce fichier est utilisé pour un démarrage sous BIOS sans EFI). Une troisième (ada0p3) est la partition de swap (ici de la même taille que la mémoire vive). Enfin, la dernière est celle du système, ada0p4, dont le système de fichiers est zfs.

    Avec « zfs list », on voit que la partition ada0p4 est subdivisée en plusieurs éléments s'apparentant à des partitions. Cela s'appelle en fait des datasets. Elles sont semblables à des partitions sauf qu'elles n'ont pas une taille définie. Cette dernière s'ajuste selon les besoins de chaque dataset à partir d'une réserve d'espace disque appelée pool (nommée « zroot » par défaut). Cette réserve est ici prise uniquement sur ada0p4 mais il est possible d'y ajouter à la volée d'autres disques et partitions.

    On retrouve la chose avec la commande « df -h » (Disk Free). Elle liste tous les datatsets de la partition système (ada0p4). Chaque dataset dispose ici de 15 Gio utilisable. Sauf que, bien sûr, ce total se réduit au fur et à mesure de son utilisation par l'une ou l'autre des datasets. S'agissant de devfs, ce n'est pas un dataset mais une projection de l'espace de noms du noyau dans le système de fichiers pour adresser les périphériques.

    Il y aurait bien des choses à dire encore sur les possibilités de zfs mais on va faire court et s'arrêter ici au niveau de l'organisation du disque dur par FreeBSD. On se reportera par ailleurs au Handbook pour une explication sur l'usage des différents répertoires : https://www.freebsd.org/doc/en_US.IS...structure.html


    Installation de programmes

    A présent, nous allons voir les deux façons principales d'installer de nouveaux programmes sur FreeBSD. La première, que nous allons juste citer ici, ce sont les ports. Il s'agit de listes de programmes classés par thème. Pour pouvoir utiliser ce système, il faut d'abord le télécharger et l'initialiser. Cela se fait avec :
    Code:
    portsnap fetch extract
    Cela prend un petit moment mais les ports s'avéreront utiles à un moment ou à un autre. Une fois que c'est installé. Il suffit de se rendre dans le répertoire du programme voulu et faire :
    Code:
    make install clean
    Ce qui provoque le téléchargement des sources et leur compilation. Les dépendances sont installées automatiquement de la même façon (en compilant chacune d'elles). Il est facile de comprendre que ce type d'installation demande beaucoup de temps selon le programme voulu. Ainsi, installer X de cette façon va demander plusieurs heures...

    L'avantage, c'est qu'il est possible de configurer finement chaque programme installé. Alors attention, à chaque fois que l'on veut utiliser les ports, il est plus prudent de taper la commande (une fois par jour, disons) :
    Code:
    portsnap fetch update
    Ce, pour avoir les dernières mises à jour (sinon, ça peut très mal se passer).

    Tous les ports sont dans /usr/ports/. Par exemple, pour installer l'utilitaire sudo, il faut faire :
    Code:
    cd /usr/ports/security/sudo
    make install clean
    L'autre moyen d'installer des programmes est la commande pkg. Il s'agit ici de télécharger des exécutables et donc, l'installation est incomparablement plus rapide qu'avec les ports. Pour cette raison, on va privilégier cette façon d'installer.

    L'utilitaire pkg n'est pas présent dans le système de base mais le fait de taper cette commande provoque son installation.



    Ne faites pas attention à ces messages d'erreurs, ils sont sans conséquence.

    Le problème de pkg, c'est qu'il faut souvent donner le programme exact à installer, y-compris son numéro de version. Il est préférable de passer au préalable par « pkg search xxx » qui va afficher la liste des programmes qui correspondent à peu près à xxx. On puise dans cette liste le programme que l'on veut installer et on le recopie exactement « pkg install xxxx ».


    Installer X



    L'installation de X, même avec pkg, prend son temps…

    Il y a quelques messages post-installation mais ils ne sont pas vraiment importants pour ce qui nous occupe. Pour l'instant, X n'est pas fonctionnel car il lui manque un pilote vidéo qui marche dans cet environnement. Mais quand bien même le serait-il, son gestionnaire de fenêtre de base est absolument horrible et inutilisable.

    Néanmoins, pour le moment, nous allons nous attaquer à autre chose concernant X. Ce n'est qu'un détail mais un détail qui compte. Car sinon, lorsque tout fonctionnera, on s'apercevra avec horreur que le clavier sous X est redevenu QWERTY, celui par défaut. On va donc lui indiquer qu'on veut un clavier fr.

    Il n'y a plus depuis longtemps de fichier de configuration global de X car il auto-détecte tout le matériel qu'il lui faut. Si on veut lui imposer un clavier français, il va falloir créer un fichier de configuration dans /usr/local/etc/X11/xorg.conf.d.
    On fait donc :
    Code:
    cd /usr/local/etc/X11/xorg.conf.d
    vi mon-clavier.conf
    Le nom du fichier importe peu, seule l'extension .conf est obligatoire. On se retrouve dans vi qu'il faut apprendre à utiliser un minimum. Pour commencer à insérer du texte, taper « i ». Pour sortir de ce mode (ou d'autres modes), taper « Echap ». Pour effacer, placer le curseur juste avant le caractère à effacer et taper « x ».

    Entrer le texte suivant :
    Section "InputClass"
    Identifier "KeyboardDefaults"
    Driver "keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "fr"
    Option "XkbVariant" "oss"
    EndSection
    Ensuite taper « Echap » puis « :wq » (Write Quit) et « Entrée ». Le fichier est sauvé.


    Installation des additions VirtualBox

    A présent, on va installer ce qui va servir de pilote vidéo (entre autres choses), c'est-à-dire les additions VirtualBox :



    A la fin, nous avons des messages post-installation dont celui-ci :



    S'agissant du groupe wheel, nous avions déjà prévu le coup en incluant notre utilisateur (Icarus) dans ce groupe. Par contre, il faut configurer FreeBSD pour charger le module et le service de virtualbox-ose-additions. Le fichier de configuration en question est /etc/rc.conf. Il existe une fonction qui permet d'y ajouter des lignes (et les modifier aussi) sans passer par vi. Il s'agit de sysrc. Ensuite, on ne va pas redémarrer pour activer ces logiciels, on va utiliser la commande service.



    Le serveur X est maintenant fonctionnel mais avant de l'utiliser, nous allons installer un gestionnaire de fenêtre digne de ce nom, quoique (relativement) léger : xfce. Son installation va prendre tout de même un certain temps…



    Ici, les messages de post-installation sont de peu d'utilité, il faut se tourner vers le Handbook : https://www.freebsd.org/doc/handbook/x11-wm.html. On y apprend qu'il faut lancer dbus au démarrage (installé avec X). On se remet donc à sysrc et à service.



    A partir de là, xfce marche. Pour le tester, commençons par changer d'utilisateur (root n'est pas destiné à utiliser X) puis à le lancer :



    Voici ce qui doit s'afficher :



    Cliquer sur « Use Default Config ». Attention, il y a un bug avec la souris lorsqu'on entre dans X. Il faut cliquer plusieurs fois avant que ce soit pris en compte. Donc, cliquer sur le bureau puis le bouton, et ce, plusieurs fois jusqu'à ce que ça marche.

    Première chose, on peut augmenter la résolution en allant dans le menu Application (en haut à droite) puis Setting et Display. Par exemple 1280 x 1024 remplacera avantageusement le 800 x 600 par défaut (note : il peut être nécessaire d'augmenter un peu la largeur de la fenêtre de la machine virtuelle si tout ne rentre pas).

    Nous allons à présent peaufiner les réglages sur plusieurs axes : faire utiliser le français à xfce et faire en sorte qu'un gestionnaire de login graphique démarre automatiquement plutôt que la ligne de commande que nous eue jusqu'à présent. Et la bonne nouvelle, c'est que cela va se faire sans vi puisque nous avons à disposition Mousepad (Applications / Accessories / Mousepad).

    Copier-coller le contenu suivant dans Mousepad (c'est là qu'on s'aperçoit que le presse-papier partagé marche grâce aux additions VirtualBox précédemment installées) :

    export LANG="fr_FR.ISO8859-15"
    export LC_CTYPE="fr_FR.ISO8859-15"
    /usr/local/bin/startxfce4 --with-ck-launch
    Enregistrer sous le nom .xsession (on se trouve dans le répertoire /home/Icarus).

    On comprend bien que les exports, c'est pour régler la langue et ensuite il y a la commande à exécuter en cas de login réussi. Le « --with-ck-launch » a entre autres pour effet d’'autoriser le redémarrage et l'extinction de la machine depuis X (ce qui est quand même plutôt utile).


    Installation de xdm

    Il est temps maintenant d'installer xdm, le gestionnaire de login en mode graphique. Lancer un terminal (barre en bas). [A noter qu'il faut se connecter sous root pour toute installation. On utilise la commande su pour ce faire] :
    Code:
    $ su
    Password:
    [email protected]:/usr/home/Icarus # pkg search xdm
    libXdmcp-1.1.2                 X Display Manager Control Protocol library
    remmina-plugin-xdmcp-1.2.0.r.27_1 Remmina plugin for XDMCP protocol
    xdm-1.1.11_8                   X.Org X display manager
    xdms-1.3.2                     Tool for decompressing Amiga DMS files
    [email protected]:/usr/home/Icarus # pkg install xdm-1.1.11_8
    Une fois cela fait, il ne reste plus qu'à configurer le lancement de xdm au démarrage. A cette fin, nous allons utiliser un fichier déjà presque prêt : /etc/ttys. Ce fichier indique quelles consoles se lancent au démarrage (par init) : https://www.freebsd.org/cgi/man.cgi?ttys

    Toujours dans cette ligne de commande (en utilisateur root), taper mousepad. Menu File / Open, Puis Other locations / Computer / etc / ttys. Changer la ligne
    ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
    Remplacer « off » par « on ». Puis File / save.

    Nous avons simplement activé la console N°8 qui est prévue pour lancer xdm. De fait, c'est lui qui va apparaître au démarrage. Les autres consoles restant en arrière plan, accessibles par alt-Fn ou ctrl-alt-Fn si on est sous X (à noter qu'il y a un décalage entre les numéros de touches de fonction et le numéro de la console : console n -> touche F(n+1)).

    Il est temps maintenant de redémarrer la machine pour tester si tout fonctionne correctement. En haut à droite, cliquer sur le nom de l'utilisateur puis faire « Log Out.. » et choisir « Restart ».

    Après avoir entré le nom d'utilisateur et le mot de passe sous xdm, on doit arriver sur quelque chose de semblable à ceci :



    Et là, on se retrouve sous une interface presque totalement en français.


    Installation de firefox

    Une dernière touche pour ce tutoriel : installer un navigateur internet et en l'occurrence firefox. Il suffit d'ouvrir un terminal et se connecter en root via la commande su :



    Nous y sommes. Un clic sur la barre en bas, icône représentant un globe terrestre, va lancer firefox.



    Nous voilà donc en possession d'un bureau et d'un navigateur ; la base quoi. Évidemment, plein de choses peuvent être ajoutées afin d'avoir une station de travail complète. On trouve tout ce qu'il faut dans tous les domaines ou presque : bureautique, programmation, etc.
    Dernière modification par Icarus, 15 novembre 2018, 22h05.

    Commentaire


    • #3
      Merci pour ce tutoriel très complet !
      ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

      Commentaire


      • #4
        Bonjour, merci pour ce tuto très bien fait et très complet. Si c'est possible, j'ai un renseignement à vous demander, à savoir que j'ai monté FreeBSD 12.0 sur Virtualbox avec Linux Mageia 7 comme machine hôte. Je suis arrivé jusqu'au startxfce4 mais là j'ai une erreur: Fatal sever error no screens founds.
        Merci pour l'aide que vous pourrez m'appoter.

        Commentaire


        • #5
          Bonjour, merci pour ce tuto très bien fait et très complet. Si c'est possible, j'ai un renseignement à vous demander, à savoir que j'ai monté FreeBSD 12.0 sur Virtualbox avec Linux Mageia 7 comme machine hôte. Je suis arrivé jusqu'au startxfce4 mais là j'ai une erreur: Fatal sever error no screens founds.
          Merci pour l'aide que vous pourrez m'apporter.

          Commentaire

          Chargement...
          X