(Courriels de diversion: <saoudite@biscuiteries-affretez.com> <billets@distingue-corrompirent.com> <demarcherent@ferules-boite.com> <plucher@integrons-maximiserai.com> <laboureriez@passe-passe-empêcheuses.com> <dactylographions@finissais-reformant.com> <reorganisation@huppee-imbriquerai.com> <meurtrissant@chatterton-perquisitionnerait.com> <manioc@contresignerions-recompenserai.com> <sondeur@indifferente-phlebites.com> )
<posté comme article et comme courrier> Le Jeudi 15 Novembre 2001 10:09, Rolly Arnaud (arolly@anfora.fr) a dit dans linux-31.culte.org : > J'ai un problème bien spécifique, pour les pro de Lilo! > J'ai un fichier binaire formaté en ext2 (fichier qui sera transféré en raw > sur un disque dur) et je souhaite pouvoir installer lilo dans le fichier > binaire, pour qu'il lance un kernel situé dans le fichier binaire. > Comment faire ? > J'ai essayé en utilisant les paramètres boot=<fichier_finaire> et > image=<pt_motage_fichier_binaire/boot/vmlinuz>. > En toute logique, Lilo refuse (il dit qu'il sait pas faire). J'aime bien ces problèmes épineux... ça me rappelle le bon vieux temps de la bidouille. Tu connais peut-être déjà ce que je vais dire, et j'espère aussi ne pas dire trop de bétises. De toute manière, en cas de doute, la doc de LILO fait foi (pas la page de manuel, la VRAIE doc en .ps) : LILO ne lit pas /etc/lilo.conf au boot, il le lit lorsqu'il est exécuté avec la commande «lilo». Dans le cas le plus simple, il confectionne alors un MBR (Master Boot Record) qu'il place dans le premier secteur du *disque* (512 octets). Il confectionne aussi un «map-file», dont les numéros de secteurs seront placés dans le MBR pour pouvoir être lus au boot. Lors du boot, le BIOS, après avoir accomplit sa tâche, charge le MBR en mémoire et passe la main au code qu'il est censé contenir. Le MBR ne fait pas partie des partitions, et donc ne fait *pas* partie de ton image EXT2. Le MBR contient un code + des adresses des secteurs du disque à lire pour récupérer le code des chargeurs secondaires, map-file, ... Si LILO est utilisé en chargeur secondaire, l'équivalent du MBR sera stocké dans le premier secteur de la *partition* concernée. Il est destiné à être chargé par le code du MBR (chargeur principal). Je ne sais pas trop si tu veux un chargeur principal ou secondaire... Si tu as l'intention d'installer ta partition toujours au même endroit sur des machines clones, tu peux fabriquer une fois pour toute un MBR que tu copiera en plus de la partition EXT2, par exemple en faisant un dd vers le périphérique du disque/partition concerné. Mais si les configs sont différentes, il faut sans doute ruser. Par exemple faire un script qui copie en raw ton image EXT2 dans la bonne partition, monte cette partition temporairement, disons sur /mnt (ou en loop-device si tu veux), crée un /mnt/etc/lilo.conf adéquat, puis lance lilo -r /mnt -C /mnt/etc/lilo.conf pour fabriquer le bon chargeur et le stocker au bon endroit (MBR ou chargeur secondaire). Si tu veux un chargeur secondaire, il faut aussi modifier le MBR (chargeur principal) pour qu'il pointe sur la bonne partition cible contenant le chargeur secondaire. J'imagine qu'il y a des solutions + tortueuses avec un initial-ramdisk, et il faut alors demander aux spécialistes des boot-floppies... Dj. --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>