Je ne comprends pas vraiment ton objectif à travers ce script. Est-ce pour un usage uniquement personnel ou bien ton but c'est de le redistribuer ?
À première vue, ton script est très spécifique, donc je penche pour la première réponse. Un
/boot séparé et en Ext2 en 2018, quel intérêt ?
Pour ta fonction
format()
, c'est assez laid avec
fdisk
, je t'avoue que je ne sais pas du tout ce que tu cherches à faire et il est très vite aisé d'introduire des erreurs avec ce genre de choses (il suffit d'un caractère manquant ou en trop pour que ça parte en cacahuète et que ça finisse en grand n'importe quoi).
Je te conseille plutôt un autre utilitaire comme
parted
, car il accepte des arguments, et ça deviendra beaucoup plus lisible. Exemple :
parted /dev/sda mkpart part-type [fs-type] start end
Code : Tout sélectionner
debut=1
format() {
type=$1
taille=$2
fin=$((debut+taille))
parted /dev/sda mkpart primary $type ${debut}MiB ${fin}MiB
debut=$fin
}
# Exemples d'utilisation
format ext2 150
format ext4 30000
Diverses petits choses, notamment :
echo "Server = http://archlinux.mirror.pkern.at/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist
. Et si
archlinux.mirror.pkern.at est down, tu fais comment ?
Tu peux utiliser
reflector par exemple pour trier les miroirs.
Sinon, je n'ai rien contre ta commande, mais tu te compliques la vie à échapper des caractères quand il y a plus simple, comme
echo 'Server = http://archlinux.mirror.pkern.at/$repo/os/$arch'
...
Ensuite, là-dessus :
Je ne suis pas certain de la réussite : tu vas exécuter la commande
passwd
, mais le MDP ne va pas être redirigé dedans. Limite, tu as meilleur compte à ne pas définir de mot de passe durant l'installation (si tu ne veux pas qu'il soit en clair), et à le définir toi-même après le premier boot, à voir. C'est possible avec
passwd -d utilisateur
.
Tu appelles deux fois la commande
pacstrap
alors qu'il est possible de l'appeler qu'une seule fois. Pourquoi ?
Et enfin...
echo "fr_FR.UTF-8 UTF-8" >> /etc/locale.gen
. «Pourquoi, Monsieur Anderson ?» Tu n'es pas obligé de faire ça dans le chroot, un
echo "fr_FR.UTF-8 UTF-8" >> /mnt/etc/locale.gen
en dehors du chroot fonctionne tout aussi bien.
Pour être honnête avec toi, ça se voit que tu essentiellement fait des copiers-collers depuis le wiki. Dans ce genre de script, n'hésite pas à faire les choses un peu autrement, du moment que tu respectes un certain ordre, c'est bon.