cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Une nouvelle version de prepare-raspbian-sd est disponible.

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é.

La derniĂšre version prend en compte les archives au format xz ce qui est indispensable pour les nouvelles versions de Raspi-Os.


ඏ

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/66ea8db4df2fa1b0b7b554ccfe8dfe1c/prepare-raspbian-sd-v2022-04-08.tar.gz &&
tar -zxf prepare-raspbian-sd-v2022-04-08.tar.gz &&
cd prepare-raspbian-sd/ &&
sudo ./prepare-raspbian-sd-install.sh

Installation depuis le code source

  • L’installation depuis le code source implique de maĂźtriser de git

    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 :

  • Aide en français
    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)
      --debug               Affiche des messages supplémentaires
      --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 (obsolĂšte)
      --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 consiste à mettre une image sur la carte SD, dans le cas de Raspberry Pi OS 32 bits, on fera :

prepare-raspbian-sd -L --arch armhf

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 --arch armhf # Pour Raspberry PI « inférieur » au PI4

ou

prepare-raspbian-sd -L --arch arm64 # Pour un Raspberry PI 4

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