Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#76 Le 19/05/2015, à 19:38

Laërte

Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM

lynn a écrit :

@Laerte
Bon courage pour la suite de ton logiciel. smile

Merci ! ^^ Je vais en avoir besoin je pense...

Hors ligne

#77 Le 19/05/2015, à 20: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 mad)
Une petite screenshot de ce que ça donne :
1432060853.png
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, à 21: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, à 21: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, à 21: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, à 21:47

Laërte

Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM

Babdu89 a écrit :

Çà 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, à 22: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???...  wink

@+.   Babdu89  .

Dernière modification par Babdu89 (Le 19/05/2015, à 22: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, à 22: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. big_smile

Arbiel a écrit :

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. tongue

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, à 22: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.


wink  smile

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, à 22:32

Laërte

Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM

Babdu89 a écrit :

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, à 23: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, à 23: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, à 16:39

lynn

Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM

Babdu89 a écrit :

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. smile

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.  smile

Dernière modification par lynn (Le 03/06/2015, à 19:14)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#88 Le 20/05/2015, à 18: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, à 20:53

Laërte

Re : [Script/Tuto] Amorcer une image iso sans clé USB ni lecteur de CD-ROM

biloute_c a écrit :

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) big_smile

biloute_c a écrit :

désolé encore une question de novice(avancé,mais novice)

On est tous des novices (pour ma part en tout cas) tongue
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 wink ).
Donc on va pas cracher sur les questions qui permettent de faire le point. smile

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. smile

Dernière modification par Laërte (Le 20/05/2015, à 20:54)

Hors ligne

#90 Le 20/05/2015, à 21: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. smile

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, à 11: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 smile
merci à toi

Hors ligne

#92 Le 21/05/2015, à 14: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
Dell Vostro Ubuntu 18.04 64 bits, LDLC Aurore NK3S-8-S4 Ubuntu 20.04
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.

Hors ligne

#93 Le 29/05/2015, à 12: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à. smile

Amusez-vous bien

Hors ligne

#94 Le 30/05/2015, à 01: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, à 10: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, à 13: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, à 15: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, à 16: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, à 22: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, à 22:44)

Hors ligne

#99 Le 30/05/2015, à 23: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, à 20: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