Forums FUG-FR
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl
FreeBSD >> Pratique >> Installer un FreeBSD tout frais à l'aide d'un script
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl?num=1541369327

Message started by David Marec on 04. Nov 2018 at 23:08

Title: Installer un FreeBSD tout frais à l'aide d'un script
Post by David Marec on 04. Nov 2018 at 23:08
J'utilise pour installer des machines distantes un script et un jeu de configuration que j'ai déposé  chez GitLab.

Il permet d'installer tout un système sur un zpool d'une seule traite, jusqu'à la saisie de mot de passe et l'ajout d'utilisateurs.

Il existe deux branches:

[list bull-blackcheck]
  • master, avec un partitionnement à la fois EFI et BIOS(Legacy)
  • mbr, avec un partitionnement uniquement BIOS(Legacy).



    Ce dernier est mal nommé car j'utilise un schémas GPT dans tous les cas.

    Les premières lignes vous permettent de configurer un peu l'ensemble, le seul élément important est en fait la liste des disques à utiliser.
    Attention, je fusionne les disques dans le pool (strip), pas en mirroir.

    Pensez à télécharger la version que vous voulez en modifiant l'adresse du fetch.


    Essayez le dans une VM avec bhyve, copiez le projet dans un endroit accessible par ssh.

    Téléchargez un ISO ou un mfbsd:


    Code (]
    fetch https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-BETA2-amd64-bootonly.iso
    [/code):

    Créer deux disques:

    [code]
    zfs create -V32G -o volmode=dev mypool/fada0
    zfs create -V32G -o volmode=dev mypool/fada1


    Préparez le réseau, ici un réseau virtuel basé sur un bridge


    Code (]
    ifconfig bridge0 create
    ifconfig bridge0 inet 192.168.2.1/24
    ifconfig tap0 create
    ifconfig bridge0 addm tap0
    [/code):

    Ce schéma oblige à de la translation d'adresse, par exemple, avec pf:

    [code]
    int_if="bridge0"
    localnet=$int_if:network
    ...
    nat on $ext_if from $localnet to any -> ($ext_if)
    block in log all
    pass out all
    ...
    pass from $localnet to any keep state
    ...



    Une fois le projet récupéré, modifiez les disques du scripts par `vtbd0 vtbd1`.
    Puis modifiez la configuration qui sera copiée sur le disque à votre convenance.
    Notamment, préciser la route par défaut, :


    Code (]
    root@test:~ # cat /etc/rc.conf.d/hostname
    hostname="test"

    root@test:~ # cat /etc/rc.conf.d/routing
    defaultrouter="192.168.0.1"

    root@test:~ # cat /etc/rc.conf.d/network/vtnet0
    ifconfig_vtnet0="inet 192.168.2.5/24"
    [/code):

    Lancez:

    [code]
    sh /usr/share/examples/bhyve/vmrun.sh -c 1 -m 1024M -t tap0 -d /dev/zvol/mypool/fata0 -d /dev/zvol/mypool/fata1 -i -I ./FreeBSD-12.0-BETA2-amd64-bootonly.iso fbsd12


    Une fois lancé, choisissez le shell, puis:


    Code (]
    ifconfig vtnet0 inet 192.168.2.5/24
    route add default 192.168.2.1

    mdmfs -s 5m md0 /mnt
    scp moi@192.168.2.1:zfsinstaller .
    cd /mnt/zfsinstaller
    sh zfsinstall.sh
    [/code):

    C'est prêt:

    [code]
    sh /usr/share/examples/bhyve/vmrun.sh -c 3 -m 2048M -t tap0 -d /dev/zvol/mypool/fata0 -d /dev/zvol/mypool/fata1 fbsd12


  • Forums FUG-FR » Powered by YaBB 2.5.2!
    YaBB Forum Software © 2000-2025. All Rights Reserved.