#76 Le 19/05/2015, à 18:38
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
@Laerte
Bon courage pour la suite de ton logiciel.
Merci ! ^^ Je vais en avoir besoin je pense...
Hors ligne
#77 Le 19/05/2015, à 19:50
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
J'ai quasiment fini la création de mon custom_editor, plus qu'à réécrire les fonctions de création des fichiers (tout mon main.py quoi )
Une petite screenshot de ce que ça donne :
Il est donc possible d'ajouter et de supprimer les menus dans le fichier custom.cfg (et de modifier ceux qui existaient déjà, bien sûr).
Le fichier custom ets chargé lors de la sélection du répertoire grub et est gardé en mémoire jusqu'à la fermeture de l'application (normalement, j'ai pas testé)
Je m'atelle à la suite et je commit dès que possible (peut-être pas avant demain...)
Hors ligne
#78 Le 19/05/2015, à 20:31
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bonsoir.
Babdu89 a écrit;
J'ai même réussi à utiliser le /boot/grub d'une clé Multisystem avec le script de Arbiel. Puisque le MultiSystem utilise grub pour booter.
Il faudrait que je retente avec le script en python pour voir. Vais faire çà tout à l'heure j'ai une clé MultiSystem disponible sans iso dessus...
Çà marche aussi, à la différence prêt...
@Laërte ?
Le script bash d'Arbiel ne faisait pas de modification du fichier grub.cfg de l'Os qui lance le script. Pas de maj ou réinstallation de grub.
Depuis que je teste ton script en Python, j'ai remarqué que soit il y avait une maj de grub, soit une réinstallation. Tu nous précisera dans ta réponse.
Si avec l'os de test çà ne me pose pas de souci, si ce n'est que çà fait sauter mes customisations. Il n'en est pas de même avec la clé MultiSystem.
Là çà semble carrément réinstaller grub sur la clé, car j'ai le même menu grub que celui de l'Os de test. Avec le mêmes entrées.
Ce que ne faisait pas le script d'Arbiel . Je conservais le menu grub du MultiSystem, ou j'avais ajouté;
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Puisque çà n'y était pas. Ce qui me permettait de de démarrer depuis ce menu, autre chose que les iso de la clé MultiSystem.
Avec une entrée en plus pour lancer la session live de l'iso choisie.
Dans le menu grub du MultiSystem, il y a aussi les iso qui y sont installées pour être lancées par le MultiSystem.
Je n'ai plus le menu grub du MultiSystem. C'est tout ce qu'il y a de changé sur la clé. Les iso sont toujours là, mais on ne peut plus les démarrer.
Ce n'est pas un souci, car on fait une maj de grub depuis le MultiSystem, et tout rentre dans l'ordre.
Alors... Çà veut dire qu'un menu grub customisé, va redevenir un menu grub normal ?... C'est embêtant çà dans certains cas...
On est obligé de faire une maj ou réinstallation de grub?.
Lors de mon dernier test, je n'avais pas encore l'interface que tu montres.
@+. Babdu89 .
Dernière modification par Babdu89 (Le 19/05/2015, à 20:51)
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#79 Le 19/05/2015, à 20:47
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
lynn a écrit;
Bonjour,
Babdu89 a écrit :
.../...
Ce n'est pas le cas avec ce qui est expliqué dans la doc, il faut stocker les iso à la racine de la partition système de L'Os qui lance le script.
.../...doc ubuntu a écrit :
.../...
les isos sont stockés à la racine de cette partition plutôt que dans un sous-dossier car plus facile à trouver pour grub.
.../...C'était peut-être vrai il y'a un moment; Ça fait bien longtemps que j'amorce des fichiers iso situés sur une autre partition en me servant du fichier 40_custom.
@lynn?.
Bonsoir.
iso stockée dans une autre partition que le partition racine de L'os, oui.
Dans la racine de l'autre partition, ou dans un répertoire, dossier et sous dossier, situés dans cette partition ??. Çà complique le chemin de l'iso , çà marche?.
J'ai testé çà aussi depuis le menu grub d'un Os. L'iso est stockée sur un hdd usb dans une partition , mais il me semble que c'est dans la racine de la partition, pas dans un dossier. Ce qui facilite le chemin d'accès.
Il faudrait que je teste pour voir.
Voila ce qui est ajouté dans le fichier grub.cfg de l'Os en question...
menuentry "Iso Live ubuntu-14.04.2-desktop-amd64.iso test encours" {
insmod loopback
insmod iso9660
set isofile="/ubuntu-14.04.2-desktop-amd64.iso"
#recherche de la partition dans laquelle se trouve le fichier ISO et montage de celle ci dans "/"
#search -sf $isofile
#Montage du fichier ISO dans (loop)/
set root='(hd4,msdos9)'
search --no-floppy --fs-uuid --set=root bbdbd261-4eb0-423d-890d-1c24dc1d9343
loopback loop (hd4,9)/$isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
echo 'Chargement du disque mémoire initial ...'
initrd (loop)/casper/initrd.lz
}
@+. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#80 Le 19/05/2015, à 20:47
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Çà veut dire qu'un menu grub customisé, va redevenir un menu grub normal ?... C'est embêtant çà dans certains cas...
On est obligé de faire une maj ou réinstallation de grub?.
Effectivement, j'avais pas pensé à ça...
Mon script écrit de lui-même ces lignes, donc pas besoin de les rajouter :
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Sauf qu'il les écrit créant un fichier /etc/grub.d/41_custom puis en lançant une mise à jour de la configuration de GRUB, mise à jour qui va exécuter ce fichier et donc écrire dans le fichier grub.cfg l'instruction if et ce qu'elle contient.
Donc les menus customisés par une autre appli deviennent bien des menus grub normaux.
Le problème d'écrire «manuellement» dans le fichier grub.cfg, c'est qu'à la prochaine mise à jour de la configuration de GRUB (changement de noyau linux par exemple...), les lignes ajoutées sont enlevées et on n'a donc plus accès aux entrées custom.
Nous sommes face à un dilemne...
Écrire à la main dans grub.cfg rend nos modifications susceptibles d'être effacées. Lancer une mise à jour de la config de GRUB détruit la config ajoutée par une autre application.
Je sais pas quoi faire du coup... @Arbiel ?
PS: Pour l'interface, c'est normal, je l'ai pas encore mise en ligne, pour l'instant je traque les bugs (et il y en a plein !) Donc c'est pas pour tout de suite...
Hors ligne
#81 Le 19/05/2015, à 21:01
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Alors là, il me semble, et Arbiel l'a précisé quelque part, avec les versions "modernes" de grub2 çà fait partie des configurations.
https://forum.ubuntu-fr.org/viewtopic.p … #p19020231
On a çà à l'installation , le fichier /etc/grub.d/41custom qui contient;
#!/bin/sh
cat <<EOF
if [ -f \${config_directory}/custom.cfg ]; then
source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f \$prefix/custom.cfg ]; then
source \$prefix/custom.cfg;
fi
EOF
Et çà en fin de fichier grub.cfg
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Donc, pas besoin de le réécrire avec une maj de Grub il me semble, et çà ne toucherait pas aux éventuelles customisations. Comme le script bash de Arbiel.
Arbiel???...
@+. Babdu89 .
Dernière modification par Babdu89 (Le 19/05/2015, à 21:15)
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#82 Le 19/05/2015, à 21:15
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Après vérification, on a tous les deux raisons.
Les distributions Ubuntu permettent d'utiliser une seconde méthode qui consiste à créer un fichier /boot/grub/custom.cfg, ou, s'il existe, à le modifier. Cette méthode présente l'avantage de ne pas nécessiter l'exécution de la commande update-grub. Elle se traduit par la présence à la fin du fichier grub.cfg de lignes créées par le fichier /etc/grub.d/41_custom
[...]
Pour les distributions dans lesquelles le fichier grub.cfg ne contient pas ces lignes, il suffit de créer un fichier /etc/grub.d/41_custom, ou au delà (je veux dire par là /etc/grub.d/nn_custom, avec nn > 41) pour les créer :
[...]
Je suis sous Debian et le fichier grub.cfg ne contient pas ces lignes, je n'ai donc mémorisé que la seconde alternative.
Je vois comment régler le problème du coup.
Je posterai tout ça plus tard, il va falloir que je crée plusieurs branches dans mon dépôts git pour gérer ça et la nouvelle interface en parrallèle et je ne sais pas le faire encore.
Je posterai quand le problème sera résolu.
Hors ligne
#83 Le 19/05/2015, à 21:23
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Le menu grub du MultiSystem, est un menu largement customisé par l'auteur (frafa) du MultiSystem.
Ne pas avoir
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
en fin de fichier grub.cfg me semble normal .
Çà permet l'utilisation en local, ce qui fait perdre l'idée même du MultiSystem ; le nomadisme . Tout est sur la même clé , le logiciel et les iso à lancer en live depuis n'importe quelle machine.
Bonne continuation.
@+. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#84 Le 19/05/2015, à 21:32
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Ne pas avoir
### BEGIN /etc/grub.d/41_custom ### if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ###
en fin de fichier grub.cfg me semble normal .
Çà permet l'utilisation en local, ce qui fait perdre l'idée même du MultiSystem ; le nomadisme . Tout est sur la même clé , le logiciel et les iso à lancer en live depuis n'importe quelle machine.
Avoir ces lignes n'empêche pas l'utilisation nomade, puisque je les aies sur ma clef, qui est on ne peut plus nomade.
Si elles n'y sont pas, je ne vois pas comment faire pour expliquer à mon programme qu'il faut qu'il les rajoute «a la mano», au lieu de créer le fichier 41_custom et de faire une mise à jour de grub...
Hors ligne
#85 Le 19/05/2015, à 22:07
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Avoir ces lignes n'empêche pas l'utilisation nomade, puisque je les aies sur ma clef, qui est on ne peut plus nomade.
Oui, j'ai toujours cette clé grub moi aussi, avec 2 partitions, et la possibilité de lancer le script bash de Arbiel, ( dans /boot; dossier greffons et fichier custom.cfg. Et les entrées dans le menu grub pour lancer les iso depuis là où elles se trouvent... et le dossier amorce avec les iso à lancer (clé Laërte) .
Je suis de ton avis, puisque j'ai ajouté ces ligne moi aussi...
Mais dans le cas du MultiSysytem, on ajoute quelque chose qui n'en fait pas partie...
Bon... Tu me diras, sur un de mes hdd usb, avec comme première partition; une partition FAT32 de 100 Go pour y installer un MultiSystem, et y mettre toutes mes iso téléchargées. Ceci en multiboot avec des Linux sur les autres partitions, j'ai encore bien bidouillé le fichier grub.cfg du MultiSystem pour y ajouter des entrées permettant de booter sur sur le grub des autres Os Linux. Pour les démarrer depuis le menu grub du MultiSystem ...
Lorsque l'on fait une manip manuelle dans le fichier grub.cfg du MultiSystem. Si on fait la maj de grub depuis le menu du MultiSystem , les modifs manuelles sont conservées, contrairement au grub que l'on a l'habitude de mettre à jour, et qui perd les modifs manuelle du grub.cfg.
Il y a une sauvegarde à jour (grub-save.cfg) de ce fichier grub.cfg qui est faite par le logiciel. Mais je ne saurait dire comment elle se fait. Et elle garde toutes les dernière modifs manuelles ou pas.
@. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#86 Le 19/05/2015, à 22:30
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bon là je sais pas... On attend l'avis d'Arbiel avant de se décider pour une solution. Aucune des deux ne me paraît satisfaisante pour l'instant.
Si tu trouves d'autres bugs, n'hésite pas !
Hors ligne
#87 Le 20/05/2015, à 15:39
- lynn
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Dans la racine de l'autre partition, ou dans un répertoire, dossier et sous dossier, situés dans cette partition ??. Çà complique le chemin de l'iso , çà marche?.
J'ai testé çà aussi depuis le menu grub d'un Os. L'iso est stockée sur un hdd usb dans une partition , mais il me semble que c'est dans la racine de la partition, pas dans un dossier. Ce qui facilite le chemin d'accès.
Il faudrait que je teste pour voir.Voila ce qui est ajouté dans le fichier grub.cfg de l'Os en question...
menuentry "Iso Live ubuntu-14.04.2-desktop-amd64.iso test encours" { insmod loopback insmod iso9660 set isofile="/ubuntu-14.04.2-desktop-amd64.iso" #recherche de la partition dans laquelle se trouve le fichier ISO et montage de celle ci dans "/" #search -sf $isofile #Montage du fichier ISO dans (loop) search --no-floppy --fs-uuid --set=root bbdbd261-4eb0-423d-890d-1c24dc1d9343 loopback loop (hd4,9)/$isofile echo 'Chargement du noyau Linux ...' linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- echo 'Chargement du disque mémoire initial ...' initrd (loop)/casper/initrd.lz }
@+. Babdu89 .
Pour tester, j'ai modifié le chemin d'accès avec dossiers et sous dossier et ça fonctionne bien.
Pour résumer, mon iso de clonezilla est dans un sous dossier, le tout placé sur une partition qui est sur un autre disque dur que le disque où est installé Ubuntu. "mnt" est le point de montage de ma partition nommée "ISO_BOOT".
/mnt/ISO_BOOT/dossier1/dossier2/clonezilla-live-2.4.1-19-amd64.iso
Un petit coup de sudo update-grub et ça fonctionne.
menuentry "Clonezilla live" {
search --no-floppy --fs-uuid --set fa4f07bb-718d-47be-bebc-c602a6575d7d
set isofile="/dossier1/dossier2/clonezilla-live-2.4.1-19-amd64.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live username=user config ocs_numlk=on ocs_live_batch=no vga=791 components noswap edd=on nodmraid noeject locales=fr_FR.UTF-8 keyboard-layouts=fr ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}
Par contre, dans ton grub.cfg, je ne vois pas l'utilité pour la ligne "loopback loop" de préciser "(hdX,X)" à la place de "$isofile" étant donné que cette variable a déjà été déclarée avant et que la recherche du support de l'iso se fait avec l'uuid de la partition...? Ça fait double emploi et peut-être un risque d'erreur, non ?
Pareil pour la ligne "set root='(hd4,msdos9)'". Je n'ai pas cette ligne et ça fonctionne très bien...?! Ça fonctionne autant avec clonezilla qu'avec un autre fichier iso; Ubuntu par exemple.
Dernière modification par lynn (Le 03/06/2015, à 18:14)
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
Hors ligne
#88 Le 20/05/2015, à 17:12
- biloute_c
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
bonjour,
Pourquoi ne pas utiliser le paquet grml-rescueboot qui est dans les dépôts ? et qui ma foi fonctionne bien
quel avantage peut-on trouver à ce script ?
désolé encore une question de novice(avancé,mais novice)
Hors ligne
#89 Le 20/05/2015, à 19:53
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Pourquoi ne pas utiliser le paquet grml-rescueboot qui est dans les dépôts ? et qui ma foi fonctionne bien
quel avantage peut-on trouver à ce script ?
Pour la même raison que pour grub-imageboot : ce script propose un interface graphique (plus facile à appréhender pour un débutant) et permet de modifier les paramètres passés au noyau. De plus l'emplacement des isos peut très bien varier d'une iso à l'autre, et cela peut-être utilisé sur des GRUB autre que celui du système (ce que ne permet pas les paquets donnant des fichiers de configuration de grub (placés dans /etc/grub.d).
Après ce script supporte moins d'ISO (on y travaille), et est encore plein de bug (on y travaille aussi)
désolé encore une question de novice(avancé,mais novice)
On est tous des novices (pour ma part en tout cas)
Si tu remontes au début du projet, j'ignorais tout des possibilités de GRUB et de la programmation python.
Maintenant j'écris un script python qui permet de modifier la config de GRUB, et le tout avec une jolie interface graphique (je trouve quand même ).
Donc on va pas cracher sur les questions qui permettent de faire le point.
Si tu en as d'autres, j'écoute.
@Babdu89
lynn a raison, ces deux lignes me paraissent redondantes :
set root='(hd4,msdos9)'
search --no-floppy --fs-uuid --set=root bbdbd261-4eb0-423d-890d-1c24dc1d9343
Si tu définis ton quatrième disque comme root, pourquoi faire une recherche sur l'UUID ?
Sans parler de cette ligne :
loopback loop (hd4,9)/$isofile
Où tu précise encore une fois un disque.
Ça risque donc d'amener des erreurs (notamment si le disque en question est débranché, ou branché sur une autre prise, et donc avec un numéro différent).
Garder seulement
search --no-floppy --fs-uuid --set=root bbdbd261-4eb0-423d-890d-1c24dc1d9343
me paraît une bonne idée.
Dernière modification par Laërte (Le 20/05/2015, à 19:54)
Hors ligne
#90 Le 20/05/2015, à 20:37
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bonsoir.
Garder seulement
search --no-floppy --fs-uuid --set=root bbdbd261-4eb0-423d-890d-1c24dc1d9343
me paraît une bonne idée.
Oui, c'est ce que je viens de tester cet après midi. Merci...
@+. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#91 Le 21/05/2015, à 10:28
- biloute_c
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Laërte a écrit :
Pour la même raison que pour grub-imageboot : ce script propose un interface graphique (plus facile à appréhender pour un débutant) et permet de modifier les paramètres passés au noyau. De plus l'emplacement des isos peut très bien varier d'une iso à l'autre, et cela peut-être utilisé sur des GRUB autre que celui du système (ce que ne permet pas les paquets donnant des fichiers de configuration de grub (placés dans /etc/grub.d).
tout à fait, si on veut modifier l'emplacement il faut modifier dans /etc/grub.d le fichier XX_grml et changer la valeur de ISO_LOCATION
Donc si j'ai bien tout compris ta version graphique le feras en un clic,donc l'avantage est plus que net..
Je vais suivre ton script
merci à toi
Hors ligne
#92 Le 21/05/2015, à 13:28
- Arbiel
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bonjour
En l'absence d'instruction "source …/custom.cfg" dans le fichier grub.cfg de démarrage, il faut tout simplement ajouter
### DÉBUT commetnaire approprié ###
if [ -f "${config_directory}/custom.cfg" ]; then
source "${config_directory}/custom.cfg"
elif [ -z "${config_directory}" -a -f "$prefix/custom.cfg" ]; then
source "$prefix/custom.cfg";
fi
### DÉBUT commentaire approprié ###
en fin de fichier et éviter la procédure de mise à jour. Le "commentaire approprié" pourrait indiquer l'origine et la date/heure de l'ajout.
Exécuter la procédure de mise à jour, outre que celle-ci est beaucoup plus consommatrice que l'ajout de ces quelques lignes, comporte des risques de perturbation de la personnalisation du fichier, comme l'a subi Babdu89, voire peut être catastrophique. On ne connaît en effet absolument pas le contexte dans lequel le fichier grub.cfg de démarrage a été créé et dans lequel il est exécuté et on ne peut garantir qu'il n'existe pas d'incompatibilités entre ce contexte de démarrage et celui dans lequel s'exécute le script Python.
Dans le cas de l'introduction de nouveaux éléments dans le menu grub (exécution permanente), il faut prévenir l'utilisateur afin qu'il prenne plus facilement conscience qu'une mise à jour ultérieure de grub peut faire disparaître tous les éléments relatifs aux fichiers iso.
Cet avertissement n'a pas lieu d'être présenté s'il s'agit de l'exécution immédiate, puisque celle-ci, ne se traduisant pas dans le menu grub, ne peut en disparaître.
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
En ligne
#93 Le 29/05/2015, à 11:18
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
C'est bon ! Mon script écrit directement les lignes et permet, si l'utilisateur le souhaite, de créer le fichier 41_custom dans /etc/grub.d.
De plus, la version 2 est en ligne aussi.
Après avoir récupéré la dernière version, faites un
git checkout v2
et vous pourrez lancer la version 2 avec un sudo ./main.py.
Pour revenir à la version stable : git checkout master
Attention !
Qu'on soit bien d'accord : la version 2 n'est pas encore utilisable ! La seule nouveauté qui (semble) fonctionner actuellement, c'est l'affichage correct des entrées custom de chacun des répertoire GRUB. Le reste c'est pas encore ça. (pas du tout même, j'ai pas commencé ^^)
Si vous trouvez des bugs dans cette partie, prévenez-moi.
Il y a cependant de petites modifications à faire dans vos fichiers custom.cfg.
Auparavent, un ligne pouvait ressembler à ça
submenu "nom" {iso_boot "iso_path" "loopback_path"}
Pour que ça fonctionne, il faudra rajouter (à la main, je ferais un script qui corrige ça plus tard) le point de montage de la partition sur laquelle est le fichier.
Il faut que cette partition soit toujours montée au même endroit ! C'est compliqué à gérer sinon, mais ça devrait pas être un problème, c'est ce que font les outils graphiques
Les lignes devront donc ressembler à ça :
submenu "nom" {iso_boot "iso_path" "loopback_path"} #mount_point
N'oubliez surtout pas les espaces, il sont importants !
Voilà, voilà.
Amusez-vous bien
Hors ligne
#94 Le 30/05/2015, à 00:00
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bonsoir.
@Laërte.
La v2 ne fonctionne pas chez moi.
Lancement ; mise à jour Ok
bernard@bernard-System-Product-Name:~$ cd grub-enhancer
bernard@bernard-System-Product-Name:~/grub-enhancer$ git pull
remote: Counting objects: 46, done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 46 (delta 16), reused 0 (delta 0), pack-reused 15
Unpacking objects: 100% (46/46), done.
Depuis https://github.com/schyzophrene-asynchrone/grub-enhancer
27b2f85..1547357 master -> origin/master
* [nouvelle branche] v2 -> origin/v2
Mise à jour 27b2f85..1547357
Fast-forward
main.py | 39 ++++++++++++++++++++++++++-------------
1 file changed, 26 insertions(+), 13 deletions(-)
bernard@bernard-System-Product-Name:~/grub-enhancer$
Passage en v2;
bernard@bernard-System-Product-Name:~$ cd grub-enhancer
bernard@bernard-System-Product-Name:~/grub-enhancer$ git checkout v2
Basculement sur la branche 'v2'
Votre branche est à jour avec 'origin/v2'.
Lancement du script en v2 ...
bernard@bernard-System-Product-Name:~/grub-enhancer$ sudo ./main.py
[sudo] password for bernard:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/path.py", line 98, in io_error_compat
yield
File "/usr/local/lib/python3.4/dist-packages/path.py", line 717, in open
return io.open(self, *args, **kwargs)
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce type: Path('/ISO_LINUX/Ubuntu_15.04/ubuntu-15.04-desktop-i386.loopback.cfg"}/ISO_LINUX/Ubuntu_15.04/ubuntu-15.04-desktop-i386.loopback.cfg')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./main.py", line 298, in <module>
window = MainWindow()
File "./main.py", line 49, in __init__
self.customEditeur = custom_editor.CustomEditor(self.grubList.getGrubRep())
File "/home/bernard/grub-enhancer/custom_editor.py", line 109, in __init__
self.getCustomEntries()
File "/home/bernard/grub-enhancer/custom_editor.py", line 145, in getCustomEntries
entry = CustomEntry(self.CustomEntriesList, name, isoLocation, permanent, loopbackLocation, mountpoint)
File "/home/bernard/grub-enhancer/custom_editor.py", line 29, in __init__
self.loopbackContent = loopbackLocation.text()
File "/usr/local/lib/python3.4/dist-packages/path.py", line 766, in text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
File "/usr/local/lib/python3.4/dist-packages/path.py", line 717, in open
return io.open(self, *args, **kwargs)
File "/usr/lib/python3.4/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.4/dist-packages/path.py", line 104, in io_error_compat
raise os_err
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce type: Path('/ISO_LINUX/Ubuntu_15.04/ubuntu-15.04-desktop-i386.loopback.cfg"}/ISO_LINUX/Ubuntu_15.04/ubuntu-15.04-desktop-i386.loopback.cfg')
bernard@bernard-System-Product-Name:~/grub-enhancer$
En supprimant les entrées créées dans le fichier custom.cfg (par le master)
bernard@bernard-System-Product-Name:~/grub-enhancer$ sudo ./main.py
<New>
Traceback (most recent call last):
File "./main.py", line 298, in <module>
window = MainWindow()
File "./main.py", line 49, in __init__
self.customEditeur = custom_editor.CustomEditor(self.grubList.getGrubRep())
File "/home/bernard/grub-enhancer/custom_editor.py", line 109, in __init__
self.getCustomEntries()
File "/home/bernard/grub-enhancer/custom_editor.py", line 148, in getCustomEntries
self.addNewItem()
File "/home/bernard/grub-enhancer/custom_editor.py", line 159, in addNewItem
self.cache[self.grubRep].append(entry)
KeyError: Path('/boot/grub')
bernard@bernard-System-Product-Name:~/grub-enhancer$
En recréant un fichier custom.cf avec;
source ${prefix}/greffons/fonctions_iso.cfg
Lancement en v2
bernard@bernard-System-Product-Name:~/grub-enhancer$ sudo ./main.py
Traceback (most recent call last):
File "./main.py", line 298, in <module>
window = MainWindow()
File "./main.py", line 127, in __init__
self.updateDisplay(self.customEditeur.getCurrent())
File "./main.py", line 283, in updateDisplay
mountpoint = item.getMountPoint()
AttributeError: 'NoneType' object has no attribute 'getMountPoint'
bernard@bernard-System-Product-Name:~/grub-enhancer$
Le master marche bien.
@+. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#95 Le 30/05/2015, à 09:29
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
@Babdu89:
Pour le premier, c'est une erreur lors de la lecture du fichier custom.cfg. Il aurait fallu que tu me copies celui-ci pour que je puisse voir d'où vient le bug.
Le gros problème avce la v2, c'est que toutes les isos qui y sont référencées doivent être accessible lors du lancemement du script.
Je vais voir s'il y a moyen de changer ça.
Les deux erreurs suivantes sont corrigées : l'un d'eux c'est l'ajout d'une variable dans un dictionnaire qui n'existe pas, et l'autre c'est lors de l'initialisation de la fenêtre principale, si aucune entrée n'est présente, ça bug.
@+ Laërte
Hors ligne
#96 Le 30/05/2015, à 12:36
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bonjour.
Ah, çà y est çà marche avec un cutom.cfg vide
source ${prefix}/greffons/fonctions_iso.cfg
Et sans que la partition qui contient les dossiers des iso soit montée. La v2 s'ouvre.
Vais tester...
Édit-01
Et sans que la partition qui contient les dossiers des iso soit montée. La v2 s'ouvre.
Çà marche comme çà au premier lancement d'une iso.
Les lancements d'après, il faut ouvrir/monter la partition qui contient les iso.
Ubuntu 14.04 et 15.04 marchent.
Voyons voir... Une de mes iso custom faite avec Remastersys...
Je peux l'ajouter, sans fichier ....loopback.cfg. démarre pas.
Je ne peux pas faire de fichier ....loopback.cfg.
ubuntu-15.04-desktop-i386.iso
Hybryde_Fusion_14.04_custom_V3-kernel-3.13.0-53-backup.iso
mount : périphérique bloc /media/bernard/DONNEES_SATA_1_/ISO_LINUX/remastersys-iso/Hybryde_Fusion_14.04_custom_V3-kernel-3.13.0-53-backup.iso est protégé en écriture, sera monté en lecture seule
Traceback (most recent call last):
File "/home/bernard/grub-enhancer/editor.py", line 104, in gen_loopback
content = open(fichier, 'r').read()
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce type: '/tmp/tmpgqet9eeq/boot/grub/loopback.cfg'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/bernard/grub-enhancer/editor.py", line 108, in gen_loopback
subprocess.call(["umount", mountpoint])
File "/usr/lib/python3.4/tempfile.py", line 830, in __exit__
self.cleanup()
File "/usr/lib/python3.4/tempfile.py", line 836, in cleanup
_rmtree(self.name)
File "/usr/lib/python3.4/shutil.py", line 463, in rmtree
_rmtree_safe_fd(fd, path, onerror)
File "/usr/lib/python3.4/shutil.py", line 401, in _rmtree_safe_fd
_rmtree_safe_fd(dirfd, fullname, onerror)
File "/usr/lib/python3.4/shutil.py", line 421, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/usr/lib/python3.4/shutil.py", line 419, in _rmtree_safe_fd
os.unlink(name, dir_fd=topfd)
OSError: [Errno 30] Système de fichiers accessible en lecture seulement: 'filesystem.manifest'
@+. Babdu89 .
Dernière modification par Babdu89 (Le 30/05/2015, à 14:16)
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#97 Le 30/05/2015, à 15:58
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Post#95 ,on lit;
Pour le premier, c'est une erreur lors de la lecture du fichier custom.cfg. Il aurait fallu que tu me copies celui-ci pour que je puisse voir d'où vient le bug.
source ${prefix}/greffons/fonctions_iso.cfg
submenu "ubuntu-15.04-desktop-i386.iso" {iso_boot "/ISO_LINUX/Ubuntu_15.04/ubuntu-15.04-desktop-i386.iso" "/ISO_LINUX/Ubuntu_15.04/ubuntu-15.04-desktop-i386.loopback.cfg"} #/media/bernard/DONNEES_SATA_1_
submenu "" {iso_boot ""} #/
Le gros problème avce la v2, c'est que toutes les isos qui y sont référencées doivent être accessible lors du lancemement du script.
Je vais voir s'il y a moyen de changer ça.
Hé oui, car si on a lancé des iso depuis des hdd usb... Et que l'on réutilise le script hdd usb non branchés, Çà ne va pas le faire.
@+. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#98 Le 30/05/2015, à 21:35
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
@Babdu89:
Je vois vraiment pas d'où vient le premier bug...
Sinon, pour la création du fichier loopback, s'il n'y en a pas dans l'iso, mon script ne peut pas en générer.
Il les cherche dans /boot/grub/loopback.cfg (le / c'est celui de l'iso). S'il y en a un ailleurs, dis-le moi, que j'ajoute cet emplacement dans mon script.
Je vais afficher un message d'erreur s'il ne trouve pas le fichier loopback, ce sera mieux que si ça plante. ^^
Pour le support des isos distantes, je vois ça plus tard (je m'occupe d'abord de m'assurer que l'utilisateur ne crée pas plus d'une iso temporaire par menu grub, ça poserai problème...)
Laërte
Dernière modification par Laërte (Le 30/05/2015, à 21:44)
Hors ligne
#99 Le 30/05/2015, à 22:11
- Babdu89
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Bonsoir.
Ah, Ok!!!...
Je viens de regarder toutes les iso que j'ai en stock, avec le gestionnaire d'archive.
Oui, c'est bien çà, toute les iso qui ont un dossier /boot/grub/loopback.cfg, on peut les démarrer avec le script de Arbiel, et le tien en Python
À conditions d'avoir une version de Grub v 1.98/99.
Toutes les iso custom faites avec Remastersys (dérivés de Ubuntu) n'ont pas ce dossier. Elle ne peuvent être lancé par les scripts.
@+. Babdu89 .
J'ai découvert Ubuntu avec la 07.10.... Et alors?!... Depuis je regarde de temps en temps si Windows marche toujours....
Hors ligne
#100 Le 31/05/2015, à 19:45
- Laërte
Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM
Pas forcément s'il n'y a pas de fichier loopback.cfg en fait.
N'importe quelle iso avec un fichier grub.cfg ferait l'affaire, il suffit de rajouter l'instruction iso-scan/filename=${iso_path} sur la ligne linux.
C'est quasiment la seule différence entre les deux fichier.
Je vois si je peux implémenter ça.
Hors ligne