Lâoutil dâinitialisation de carte SD pour vos Raspberry PI que je dĂ©veloppe Ă Ă©tĂ© mis Ă jour pour tenir compte de lâarrivĂ©e de Raspberry Pi OS
.
Initialisez vos cartes SD 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é sousLinux Mint
, prévu pour les linux dérivé d'ubuntu), - La commande
git
pour cloner le référentiel depuis le code source.
Ce que fait lâoutil :
- TĂ©lĂ©charger la derniĂšre version de lâimage
Raspbian
,Raspbian lite
,Raspberry Pi OS
(32 ou 64 bits) 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 depuis lâarchive
Les archives des versions complÚtes permettent de récupérer un fichier .tar.gz
contenant les releases.
Il suffit dâexĂ©cuter :
cd prepare-raspbian-sd
sudo bash prepare-raspbian-sd-install.sh
AprĂšs lâinstallation, ce rĂ©pertoire peut ĂȘtre supprimĂ© du disque.
Installation depuis le code source
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.sh
AprĂšs lâinstallation, ce rĂ©pertoire peut ĂȘtre supprimĂ© du disque, mais vous pouvez le conserver pour obtenir les mises Ă jours.
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
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.sh
Utilisation
La syntaxe :
prepare-raspbian-sd --help
prepare-raspbian-sd ACTION [OPTIONS]âŠ
Les Actions disponibles :
-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.
Les options possibles :
--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.
Note de 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ées
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 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. Si la valeur est false le rĂ©pertoire /home/pi/.bcm-workspace ne sera pas créé par lâĂ©tape de configuration. | true |
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'
኿