J'ai construit une distribution Linux maison, et je peux créer le fichier d'image disque complet en tant qu'utilisateur non root à une exception près - l'installation du chargeur de démarrage. J'utilise syslinux (en fait extlinux), et pour l'installer, je dois monter en boucle la partition de démarrage, ce qui nécessite des privilèges root / sudo. Les commandes sont exécutées à partir d'un makefile, et les noms des variables doivent clairement indiquer par quoi les remplacer.
sudo losetup -o $(BOOT_FS_PARTITION_OFFSET) $(LOOP_DEVICE) $(IMAGE_FILE_NAME)
sudo mount $(LOOP_DEVICE) $(LOOP_MOUNT_POINT)
sudo $(EXTLINUX) -S $(DISK_SECTORS) -H $(DISK_HEADS) -i $(LOOP_MOUNT_POINT)
sudo umount $(LOOP_MOUNT_POINT)
sudo losetup -d $(LOOP_DEVICE)
Existe-t-il un moyen d'écrire syslinux ou extlinux dans le fichier d'image disque sans avoir besoin des privilèges root?