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é.
- Les versions complĂšte,
- La derniĂšre release au moment de la publication de ce billet.
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é sousLinux Mint
), - Soit avec la commande
git
si vous souhaitez partir du code source, soit un environnementbash 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
ouRaspbian 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 commandegit clone
. Ensuite utilisez la commandeprepare-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 dossierTĂ©lĂ©chargement
sera utilisé. - Si la valeur
RASPBIAN_DEFAULT_BACKUP_DIRECTORY
nâest pas dĂ©finie, votre dossierDocuments
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'
኿