cClaude.rocks ☕ Le blog

L'informatique et les nouvelles technologies

Menu
déc.
20
2019
Site:
https://git.cclaude.rocks/raspbian/prepare-raspbian-sd/
Source:
https://git.cclaude.rocks/raspbian/prepare-raspbian-sd/
git:
git clone --recurse-submodules https://git.cclaude.rocks/raspbian/prepare-raspbian-sd.git

Ce billet a été édité le : 2020-02-14

Créer vos SD Raspbian pour vos Raspberry PI

Voici un outil permettant 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é.


Le code source (en anglais)


Les prérequis :

  • Une machine sous GNU Linux (entièrement testĂ© sous Linux Mint),
  • La commande git pour cloner le rĂ©fĂ©rentiel.

Ce que fait l’outil :

  • TĂ©lĂ©charger la dernière version de l’image Raspbian ou Raspbian lite si nĂ©cessaire,
  • TĂ©lĂ©charger une image Ă  partir de son URL (n’est pas limitĂ© aux Raspberry PI) ,
  • Initialiser la carte SD,
  • Personnaliser la carte SD (facultatif) :
    • DĂ©finir le partage de la mĂ©moire (actuellement fixĂ© Ă  16)
    • PrĂ©parer l’espace de travail BCM
    • Activer ssh
    • Ajoutez des clĂ©s publiques (<PI_USER_HOME>/.ssh/authorized_keys).
  • Sauvegarder le contenu d’une carte SD.

Installation :

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/raspbian/prepare-raspbian-sd.git
cd prepare-raspbian-sd
sudo bash prepare-raspbian-sd-install

Mise Ă  jour

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 pour mettre à niveau votre installation.

sudo bash prepare-raspbian-sd-install

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.
      --dry-run             Affiche le nom des périphériques associés à la carte SD,
                            puis quitte.

Options :
  --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.
  --desktop, --gui      Téléchargez la version de bureau de Raspbian au lieu de la
                        version allégée (version serveur).
  --dev-name DEVNAME    Force le nom du périphérique à utiliser pour la carte SD.
  --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.
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 :

DATA="$( xdg-user-dir DOCUMENTS )/raspbian-images"
DOWNLOAD="${DATA}/download" # Défini le répertoire qui recevra les images téléchargée
BACKUP="${DATA}/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 )"

# Configuration (optionnel, dépend de vos besoins)
prepare-raspbian-sd-config DEFAULT_SD_DEV_NAME 'mmcblk0'
prepare-raspbian-sd-config GPU_MEM '16'
prepare-raspbian-sd-config RASPBIAN_DEFAULT_IMG "${DOWNLOAD}/2019-07-10-raspbian-buster-lite.img"
  • 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
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
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/nom_d_utilisateur/Documents/
RASPBIAN_DEFAULT_DOWNLOAD_IMAGE_DIRECTORY Simplifi l’utilisation de --download de prepare-raspbian-sd-download-image ou de --put-last-image de prepare-raspbian-sd. /home/nom_d_utilisateur/Documents/images-raspbian
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
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 )"

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 - 2020 | 🕸 Retour à l'accueil du domaine | 🏡 Retour à l'accueil du blog