En ce début d’année, je vous partage un petit script bien pratique qui permet de « chrooter » une distrib raspbian sur votre système hôte. Pour rappel, la commande chroot (change root) permet de changer de répertoire racine et ainsi d’isoler un ou plusieurs processus du système hôte.
La technique du « chrootage » est souvent utilisée pour du dépannage ou pour sécuriser des processus (prisons) mais aujourd’hui nous allons l’utiliser un peu différemment.
Ainsi dans notre exemple, une fois l’image raspbian installée sur notre carte sd, on va pouvoir naviguer et exécuter des commandes comme si on accédait directement à notre raspberry alors qu’en fait on est toujours sur notre pc portable avec la carte SD dedans.
Du coup ,une fois la raspbian chrootée sur notre pc, on peut par exemple finir tranquillou sa configuration :
– mettre à jour les paquets, installer des applis spécifiques
– attribuer une ip fixe, activer le ssh etc…
– Sécuriser l’accès au pi ( install des règles parefeu, fail2ban, suppression compte pi etc…)
Automatiser le chroot de notre Raspbian
Avant tout , il faut avoir une raspbian installée sur sa carte sd et qu’elle soit insérée dans notre laptop.
Puis vérifier et installer si nécessaire ces paquets:sudo apt install qemu qemu-user-static binfmt-support
Récupérer le script « chrootPI »git clone https://gitlab.com/benzoga33/chrootPI.git
Il est forké de celui ci et j’ai rajouté :
– la possibilité d’accéder à internet depuis le chroot.
– une fonction d’usage pour utiliser le script proprement.
On met les droits d’exécution qui vont bien:chmod u+x chrootPI.sh
La raspbian comme si vous y étiez:
Le script s’exécute comme suit:
chrootPI.sh cleUSB
Exemple:sudo ./chrootPI.sh /dev/sdb
Pour trouver le chemin de votre clé usb, la commande « lsblk » vous aidera.
Si tout se passe bien un shell s’ouvre et pour vérifier que vous êtes bien en contexte raspbian vous pouvez exécuter et observer le résultat des commandes suivantes :
su – pi
cat /etc/os-release
sudo raspi-config
1,2,3 Démo
Chroot de raspbian sur Ubuntu:
Exemple d’installation du paquet « sshfs » sur la raspbian 🙂
Voilà, en espérant que cela pourra servir à d’autres geeks 🙂
Merci du partage, ca ressemble un peu à de la virtualisation non?
@jek, pas TT a fait mais c’est une très bonne remarque. Le chroot ne possède pas son propre kernel et n’utilise quasi aucune ressource matérielle.
Du coup certaines fonctionnalités sont restreintes comparées a une VM comme l’accès total à l’interface reseau
Merci
sympa d’être tenue par la main en français pour cette mise en œuvre délicate
c’est très utile pour travailler depuis un system sans avoir à le démarrer sur une machine dédiée (avec son propre matériel)
D’autres ressources :
https://gist.github.com/htruong/7df502fb60268eeee5bca21ef3e436eb?permalink_comment_id=3564058