cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

prepare-raspbian-sd permet d’initialiser une SD pour votre Raspberry avec Raspbian ou Raspbian lite, puis dans un second temps d’y ajouter une configuration personnalisĂ©e.

prepare-raspbian-sd permet Ă©galement d’installer des images dont vous connaissez l’URL ou mĂȘme de crĂ©er une image Ă  partir d’une carte SD.

Cet outil est principalement conçu pour les personnes qui ont de nombreux Raspberry Pis et qui souhaitent ensuite reconstruire avec un processus automatisé.

Initialisez vos cartes SD pour vos Raspberry PI


Le code source (en anglais)


Les prérequis :

  • Une machine sous GNU Linux (entiĂšrement testĂ© sous Linux Mint),
  • Soit avec la commande git si vous souhaitez partir du code source, soit un environnement bash 4 complet.
  • Une paire de clĂ©s ssh correctement initialisĂ©, si vous souhaitez prĂ©configurer votre clĂ© publique.

Ce que fait l’outil :

  • TĂ©lĂ©charge la derniĂšre version de l’image Raspbian ou Raspbian lite si nĂ©cessaire,
  • TĂ©lĂ©charge une image Ă  partir de son URL (n’est pas limitĂ© aux Raspberry PI) ,
  • Initialise la carte SD,
  • Personnalise la carte SD (facultatif) :
    • DĂ©finir le partage de la mĂ©moire (Configuration Ă  l’aide GPU_MEM)
    • PrĂ©pare l’espace de travail BCM (facultatif),
    • Active ssh au dĂ©marrage du PI (facultatif),
    • Ajoutez des clĂ©s publiques (<PI_USER_HOME>/.ssh/authorized_keys) (facultatif),
  • Sauvegarde le contenu d’une carte SD dans un fichier image.

Installation :

Installation depuis la derniÚre « release »

Depuis un terminal :

wget https://git.cclaude.rocks/raspberry/prepare-raspbian-sd/uploads/f6d65ec51ffe113e01d2b742f7d24496/prepare-raspbian-sd-v2022-01-10.tar.gz
tar -zxf prepare-raspbian-sd-v2022-01-10.tar.gz
cd prepare-raspbian-sd/
sudo ./prepare-raspbian-sd-install.sh

Installation depuis le code source

  • L’installation depuis le code source n’est pas conseillĂ©e

    Ce projet utilise des sous-modules git, il est donc nécessaire de les prendre en compte :

    Comment cloner le rĂ©fĂ©rentiel. Étant donnĂ© que ce rĂ©fĂ©rentiel utilise des sous-modules git, vous devez utiliser le paramĂštre --recurse-submodules Ă  la commande git clone. Ensuite utilisez la commande prepare-raspbian-sd-install.

    # cd "${home}/Sources" # Adapter Ă  votre guise.
    git clone --recurse-submodules https://git.cclaude.rocks/raspberry/prepare-raspbian-sd.git
    cd prepare-raspbian-sd
    sudo bash prepare-raspbian-sd-install.sh
    

    Mise Ă  jour depuis le code source

    Ce projet utilise des sous-modules git. Lors d’une mise-Ă -jour vous devez Ă©galement initialiser les sous-modules (cas d’ajout d’un nouveau modules) et les mettre Ă  jour :

    git fetch --verbose --prune # Mise à jour des références git
    git pull --ff-only          # Mise à jour de la branche courante (si nécessaire)
                                # Ne fusionnez pas avec vos modifications (le cas échéant)
    git submodule init          # Initialiser des sous-modules git (si nécessaire)
    git submodule update        # Mettre à jour des sous-modules git (si nécessaire)
    git status                  # Affiche de l’état actuel
    

    Exécutez ensuite à nouveau prepare-raspbian-sd-install.sh pour mettre à niveau votre installation.

    sudo bash prepare-raspbian-sd-install.sh
    

DĂ©sinstallation

Dour dĂ©sinstaller l’application, vous devez utiliser :

sudo bash /usr/local/share/prepare-raspbian-sd/prepare-raspbian-sd-remove

Utilisation

L’aide :

prepare-raspbian-sd --help
prepare-raspbian-sd ACTION [OPTIONS]


Actions :
  -h, --help                Affiche le message d’aide et quitte.
  -I, --put-image FILE      Initialise la carte SD à l’aide du fichier image FILE.
  -D, --put-default-image   Initialise la carte SD en utilisant l’image dĂ©finie
                            par RASPBIAN_DEFAULT_IMG.
  -L, --put-last-image      Initialise la carte SD en utilisant la derniĂšre
                            version disponible de l’image Raspbian. TĂ©lĂ©charge
                            l’image à partir du site Web de Raspbian si
                            nécessaire.
      --configure           Appliquer la configuration de l’utilisateur sur la
                            carte SD.
  -F, --full-clone          Créer une image de la carte SD dans le répertoire
                            défini par RASPBIAN_DEFAULT_BACKUP_DIRECTORY (un nom
                            de fichier sera généré à partir de la date).
  -T, --full-clone-to FILE  Créer une image de la carte SD dans le fichier FILE.
      --compute-sd-dev-name Localise la carte SD et affiche le nom des
                            périphériques associés, puis quitte.

Options :
  --arch ARCH           Defini le type de processeur de la machine (optionnel).
                          --arch '' : Télécharge et installe la version Raspbian
                          --arch armhf : Télécharge et installe la version 32 bits de "Raspberry Pi OS"
                          --arch arm32 : Identique à 'armhf'
                          --arch arm64 : Télécharge et installe la version 64 bits de "Raspberry Pi OS"
  --auto-umount         DĂ©montage automatique de la carte SD (Attention essayez d'abord en ajoutant --dry-run la premiĂšre fois)
  --desktop             Alias pour --full
  --dev-name DEVNAME    Force le nom du périphérique à utiliser pour la carte SD.
  --download-to DIR     Téléchargez une nouvelle image si nécessaire dans le
                        RĂ©pertoire donnĂ©. Si la valeur de l’option est omise la
                        valeur définie par RASPBIAN_DEFAULT_DOWNLOAD_IMAGE_DIRECTORY
                        sera utilisée.
  --dry-run             Affiche le nom des périphériques associés à la carte SD, puis quitte.
  --expected-img IMG    Nom de fichier d’image attendu (sans chemin). Obligatoire avec action --url
                        permet de ne pas télécharger le fichier distant si un fichier local est présent.
  --full                Téléchargez la version de bureau de Raspbian au lieu de la
                        version allégée (version serveur).
  --gui                 Alias pour --full (deprecated)
  --unzip               Unzip le fichier aprÚs le téléchargement, et utilise le fichier 'unzippé' comme fichier image.
                        (gzip et unzip sont supportés)

Sécurité:
  Pour Ă©crire sur SD (Ă  l’exception de l’action --configure), l’outil vĂ©rifie que la
  carte SD n’est PAS montĂ© Vous devez exĂ©cuter umount (ou en utilisant l’interface
  graphique)
    sudo umount /dev/<DEVNAME>

L’usage typique, d’abord mettre l’image sur la carte SD :

prepare-raspbian-sd -L # ou : prepare-raspbian-sd --put-last-image

Pour cette opĂ©ration la carte SD doit ĂȘtre connectĂ©e Ă  votre ordinateur mais ne doit pas ĂȘtre montĂ©e. Depuis le bureau, vous pouvez dĂ©monter l’image ou les l’images liĂ©s Ă  cette carte SD.

Ensuite si vous souhaitez customiser la carte, utilisez :

prepare-raspbian-sd --configure # Nécessite que vous ayez paramétré votre configuration

Pour cette opĂ©ration la carte SD doit ĂȘtre connectĂ©e Ă  votre ordinateur et doit ĂȘtre montĂ©e.

Configuration

En option, vous pouvez utiliser prepare-raspbian-sd pour personnaliser la SD.

Vous avez deux options pour personnaliser le rĂ©pertoire de tĂ©lĂ©chargement par dĂ©faut, qui est l’emplacement oĂč les images seront stockĂ©es. Vous pouvez d’abord utiliser prepare-raspbian-sd-config par exemple :

_DOWNLOAD_="$( xdg-user-dir DOCUMENTS )/raspbian-images/download" # Défini le répertoire qui recevra les images téléchargées
_BACKUP_="$( xdg-user-dir DOCUMENTS )/raspbian-images/backups"    # Défini le répertoire qui recevra les sauvegardes de vos SD

# Créer les répertoires (si nécessaire)
mkdir -vp "${_DOWNLOAD_}" "${_BACKUP_}"

# Configuration (optionnel, mais recommandé)
prepare-raspbian-sd-config RASPBIAN_DEFAULT_BACKUP_DIRECTORY "${_BACKUP_}"
prepare-raspbian-sd-config RASPBIAN_DEFAULT_DOWNLOAD_IMAGE_DIRECTORY "${_DOWNLOAD_}"
prepare-raspbian-sd-config SSH_AUTHORIZED_KEYS "$( cat ~/.ssh/id_rsa.pub )"
prepare-raspbian-sd-config --set-boolean BCM_WORKSPACE true
prepare-raspbian-sd-config --set-boolean SSH_ENABLE true
prepare-raspbian-sd-config --set-boolean SSH_CONFIGURE true

Configuration optionnelle : si vous utiliser ce code assurez-vous que cela soit adapté à vos besoins

prepare-raspbian-sd-config DEFAULT_SD_DEV_NAME 'mmcblk0' # Facultatif plus
prepare-raspbian-sd-config --set-integer GPU_MEM '16' # Pour un serveur cela peut ĂȘtre pratique.
prepare-raspbian-sd-config RASPBIAN_DEFAULT_IMG "${_DOWNLOAD_}/2019-07-10-raspbian-buster-lite.img" # TrÚs facultatif !
  • Si la valeur RASPBIAN_DEFAULT_DOWNLOAD_IMAGE_DIRECTORY n’est pas dĂ©finie, votre dossier TĂ©lĂ©chargement sera utilisĂ©.
  • Si la valeur RASPBIAN_DEFAULT_BACKUP_DIRECTORY n’est pas dĂ©finie, votre dossier Documents sera utilisĂ©.

Résumé :

Nom de variable Description de l’utilisation Valeurs typiques
BCM_WORKSPACE Facultatif, par défaults à true. si défini à false, le dossier /home/pi/.bcm-workspace ne sera pas créé. true (boolean)
DEFAULT_SD_DEV_NAME Facultatif, utilisé pour écrire sur la carte SD. mmcblk0
GPU_MEM Facultatif, utilisĂ© par --configure. Permet de configurer le partage de mĂ©moire. Si la valeur n’est pas dĂ©finie ou si elle vaut 0, la configuration de partage de mĂ©moire est ignorĂ©e. 16 (integer)
RASPBIAN_DEFAULT_BACKUP_DIRECTORY Requis pour pouvoir utiliser --full-clone. La variable doit contenir le chemin complet d’un rĂ©pertoire existant oĂč seront stockĂ©es vos sauvegardes SD. /home/username/Documents/ (string)
RASPBIAN_DEFAULT_DOWNLOAD_IMAGE_DIRECTORY Simplifie l’utilisation de --download de prepare-raspbian-sd-download-image ou de --put-last-image de prepare-raspbian-sd. /home/username/Documents/raspbian-images (string)
RASPBIAN_DEFAULT_IMG Requis pour pouvoir utiliser --put-default-image. La variable doit contenir le chemin d’accùs complet à votre fichier local raspbian-stretch-lite.img. /path/to/2018-10-09-raspbian-stretch-lite.img (string)
RASPBIAN_PI_GROUP_ID Facultatif, value par défaut 1000 1000 (integer)
RASPBIAN_PI_USER_ID Facultatif, value par défaut 1000 1000 (integer)
SSH_AUTHORIZED_KEYS Requis pour pouvoir utiliser --configure. La variable doit contenir le contenu de /home/pi/.ssh/authorized_keys que vous souhaitez ajouter. La valeur donnée par "$( cat ~/.ssh/id_rsa.pub )" (string)
SSH_CONFIGURE Facultatif, si défini à true crée le dossier ~/.ssh directory true (boolean)
SSH_ENABLE Facultatif, si défini à true active le serveur sshd au démarrage du Pi. true (boolean)

Cas concret d’utilisations

Initialisation de votre carte SD

Pour télécharger (si nécessaire) la derniÚre version de Raspbian, puis initialiser votre carte SD :

prepare-raspbian-sd -L

Sauvegarde de votre carte SD

Pour sauvegarder l’image complĂšte de votre carte SD (toutes les partitions seront sauvegardĂ©es dans le mĂȘme fichier), il suffit d’utiliser la syntaxe suivante :

prepare-raspbian-sd -T "${HOME}/ma-carte-sd.img'

኿


â„č 2006 - 2022 | 🏠 Accueil du domaine | 🏡 Accueil du blog