3 juin 2018

Je vais inaugurer cette rubrique avec un script qui permet de créer facilement une clé USB bootable à partir d’une image ISO (de la dernière distribution que vous avez téléchargée par exemple).
Ce script a été écrit par Jules Samuel Randolph à la suite de cette discussion : askubuntu.com : how to create a bootable ubuntu usb flash drive from terminal
Certes, il existe des logiciels qui font cela très bien (comme Etcher par exemple), mais je trouve ce script vraiment sympathique.
Cadeau arghlub.fr : la version entièrement françisée !
Sommaire de cette page
Fonctionnalités
Voici les caractéristiques de Bootiso :
- Liste les clés USB disponibles ;
- Si une seule clé est branchée, il la choisit automatiquement pour écrire l’image ISO ;
- S’il y en a plusieurs, Bootiso vous permet d’en sélectionner une dans la liste ;
- Garde-fous :
- impossible d’écrire sur un disque dur interne ou externe;
- vérification du type mime de l’ISO
- demande de confirmation
- Possibilité d’installer le chargeur de démarrage syslinux
- ... et “last but not least” : Bootiso est open-source et libre (licence MIT)
Le code-source
Ce code Bash est sous licence MIT, donc faites en ce que vous voulez.
Vous pouvez l’utiliser bien sûr, mais il peut être aussi très intéressant et instructif de jeter un coup d’œil au source.
Le script n’est pas très long (728 lignes) et est assez bien structuré. Pour ma part, le but n’est d’ailleurs pas d’éplucher et de tout comprendre dans les moindres lignes, mais plutôt de relever quelques “tournures”.
D’ailleurs, une version française n'étant pas si compliquée à faire, cadeau : je vous propose une.
Télécharger le script original : bootiso (23,6Ko) Télécharger ma version française : bootiso-fr (25,1Ko)bootiso : le script Bash original
bootiso-fr : ma version française
Installation et utilisation
Installation
Comme tout script Bash, ce n’est pas une installation à proprement parler, il suffit de télécharger le script, de lui donner les droits d’exécution, et ça roule.- Télécharger le script (soit avec les liens vus plus haut ou encore une autre solution, le prendre sur le dépôt officiel) :
curl -L https://git.io/bootiso -O
- Donnons les droits d’exécution au script :
Si vous avez téléchargé la version française, il faut changer le nom en «bootiso-fr» dans la commande ou carrément renommer le script de «bootiso-fr» en «bootiso».chmod +x bootiso
Et voilà, c’est prêt ...
Utilisation
Si votre script n’est pas dans un répertoire de $PATH, il faudra indiquer son chemin ou se placer dans le répertoire et faire précéder la commande par «./».
Pour lancer, il suffit de saisir bootiso [<options>] <fichier.iso>
ou ./bootiso [<options>] <fichier.iso>
(si le script ne fait pas partie d’un des répertoires de la variable $PATH).
Et bien sûr, si vous avez téléchargé la version française, il faut chhanger le nom de la commande en «bootiso-fr» ou carrément renommer le script de «bootiso-fr» en «bootiso».
Voici les options principales :
bootiso -h : aide - liste des options (-h ou --help ou help)
bootiso -h
Create a bootable USB from any ISO securely.
Usage: bootiso [<options>...] <file.iso>
Options
-h, --help, help Display this help message and exit.
-v, --version Display version and exit.
-d, --device <device> Select <device> block file as USB device.
If <device> is not connected through USB, 'bootiso' will fail and exit.
Device block files are usually situated in /dev/sXX or /dev/hXX.
You will be prompted to select a device if you don't use this option.
-b, --bootloader Install a bootloader with syslinux (safe mode) for non-hybrid ISOs. Does not work with `--dd' option.
-y, --assume-yes `bootiso' won't prompt the user for confirmation before erasing and partitioning USB device.
Use at your own risks.
-a, --autoselect Enable autoselecting USB devices in conjunction with -y option.
Autoselect will automatically select a USB drive device if there is exactly one connected to the system.
Enabled by default when neither -d nor --no-usb-check options are given.
-J, --no-eject Do not eject device after unmounting.
-l, --list-usb-drives List available USB drives.
-M, --no-mime-check `bootiso' won't assert that selected ISO file has the right mime-type.
-s, --strict-mime-check Disallow loose application/octet-stream mime type in ISO file.
-- POSIX end of options.
--dd Use `dd' utility instead of mounting + `rsync'.
Does not allow bootloader installation with syslinux.
--no-usb-check `bootiso' won't assert that selected device is a USB (connected through USB bus).
Use at your own risks.
Readme
Bootiso v2.5.2.
Author: Jules Samuel Randolph
Bugs and new features: https://github.com/jsamr/bootiso/issues
If you like bootiso, please help the community by making it visible:
* star the project at https://github.com/jsamr/bootiso
* upvote those SE post: https://goo.gl/BNRmvm https://goo.gl/YDBvFe
bootiso <nom_image.iso> (sans option) :
- si une seule clé USB est branchée, Bootiso la sélectionne automatiquement ;
- si plusieurs clés sont détectées, il liste les clés et demande sur laquelle écrire l’ISO.
En images, avec l’image ISO d’une Debian ...
Avec une seule clé montée, Bootiso la sélectionne donc automatiquement :
version française :
Avec au moins deux clés, il les liste et demande sur laquelle écrire :
version française :
bootiso -l : Liste les clés USB (-l ou --list-usb-drives)
bootiso -d <nom_clé> <nom_image.iso> : Spécifier le périphérique (-d ou --device)
Par exemple : bootiso -d /dev/sdb ...
S’il n’y a pas de “device” correspondant, Bootiso vous demandera d’en sélectionner un dans la liste.
Il y a d’autres options, pour par exemple ne pas demander de confirmation, jetez un œil à l’aide (bootiso -h
).
Mais perso, j’aime bien la simplicité de bootiso <nom_image.iso>
et se laisser guider, c’est aussi plus sage pour éviter de faire des bêtises.
Conclusion : À tester et à garder sous le coude !