arghlub.frarghlub.fr
Petites choses à propos de GNU/Linux et du logiciel libre
arghlub.frarghlub.fr
Petites choses à propos de GNU/Linux et du logiciel libre
  • Terminal - Bash
    • Documentation de base
    • Petits trucs utiles
    • Pense-bêtes Commandes
    • Scripts Bash
  • Logiciels libres
    • Graphisme | 3D | Animation
    • Internet
  • Ressources
  • En Vrac
    • Distributions GNU/Linux
    • Films d'animation

Bootiso : un script Bash pour créer des clés USB bootables avec des ISO

3 juin 2018

Bootiso-vignette

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
  • Le code-source
    • Téléchargements
    • bootiso : le script original
    • bootiso-fr : ma version française cadeau arghlub.fr
  • Installation et utilisation
    • Installation
    • Utilisation
  • Lien officiel

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.
  1. 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
  2. Donnons les droits d’exécution au script :
    chmod +x bootiso
    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».

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 :

bootiso - capture 01

version française :

bootiso-fr - capture 01

Avec au moins deux clés, il les liste et demande sur laquelle écrire :

bootiso - capture 02

version française :

bootiso-fr - capture 02

bootiso -l : Liste les clés USB (-l ou --list-usb-drives)

bootiso - capture 03

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 !

Lien officiel

  • GitHub.com: jsamr/bootiso

Articles +/- similaires

  • Inxi : une super commande pour connaître son matériel et son système
  • Documentation : Débuter et aller plus loin en terminal
arghlub - Logo arghlub.fr
Petites choses à propos de GNU/Linux et du logiciel libre
  • RSS
  • À propos & Contact
  • Connexion
  • Accueil
  • Terminal - Bash
    • Documentation de base
    • Petits trucs utiles
    • Pense-bêtes commandes
    • Scripts Bash
  • Logiciels libres
    • Graphisme | 3D | Animation
    • Internet
  • Ressources
  • En Vrac
    • Distributions GNU/Linux
    • Films d'animation