J'essaie de créer une clé USB multiboot avec Ubuntu, Backtrack et Mantra-OS (tout ubuntu comme vous pouvez le voir). Ce sont les étapes que j'ai faites:
sudo su
unmount /dev/sdb1 # unmount the drive
mkfs.vfat -F 32 -n disqus /dev/sdb1 # Format the disk with vfat
syslinux -maf /dev/sdb1 # Install syslinux and the mbr
mkdir /media/disqus # Mount for the disk
mount /dev/sdb1 /media/disqus
mkdir /media/disqus/syslinux # Syslinux configuration folder
cp /usr/lib/syslinux/{vesamenu.c32,reboot.c32,poweroff.com} /media/disqus/syslinux # Files needed for syslinux
mkdir /media/disqus/syslinux/iso # A folder that will contain extracted isos
mkdir /media/disqus/syslinux/iso/ubuntu
mkdir /media/disqus/syslinux/iso/backtrack
mkdir /media/disqus/syslinux/iso/mantra-os
Après cela, j'ai monté et copié des fichiers dans les ISO respectifs dans des dossiers que j'ai créés:
mkdir /media/iso
mount -t iso9660 -o loop,ro /home/nizar/Destkop/ubuntu.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/ubuntu
umount /media/iso/
mount -t iso9660 -o loop,ro /home/nizar/Destkop/backtrack.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/backtrack
umount /media/iso/
mount -t iso9660 -o loop,ro /home/nizar/Destkop/mantra-os.iso /media/iso
cp -r /media/iso/* /media/disqus/syslinux/iso/mantra-os
umount /media/iso/
rmdir /media/iso/
Après que je remplissais sur le fichier de configuration syslinux.cfg
dans /media/diqus/syslinux
ce:
DEFAULT Backtrack
PROMPT 0
allowoptions 0
TIMEOUT 100
UI vesamenu.c32
MENU TITLE Disqus: The Ultimate Disk
MENU BACKGROUND anon1.png
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
MENU WIDTH 80
MENU MARGIN 10
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 18
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29
LABEL Backtrack
MENU LABEL Backtrack
kernel iso/backtrack/casper/vmlinuz
append initrd=iso/backtrack/casper/initrdf.gz file=/cdrom/preseed/custom.seed boot=casper quiet splash --
LABEL Ubuntu
MENU LABEL Ubuntu
kernel iso/ubuntu/casper/vmlinuz
append initrd=iso/ubuntu/casper/initrd.lz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --
LABEL Mantra-OS
MENU LABEL Mantra-OS
kernel /mantra-os/casper/vmlinuz
append initrd=/mantra-os/casper/initrd.lz file=/cdrom/preseed/xubuntu.seed boot=casper quiet splash --
LABEL Reboot
MENU LABEL Reboot
COM32 reboot.c32
LABEL Power Off
MENU LABEL Power Off
COMBOOT poweroff.com
(anon1.png: 640x480 png 8 bits dans / media / disqus / syslinux /)
Maintenant tout va bien et je peux démarrer, j'ai le menu syslinux et même charger vmlinuz et initrd! Le système d'exploitation se charge en fait (j'ai l'écran de démarrage) mais j'ai ensuite l'erreur (quelque chose à propos de Busybox):
(initramfs) unable to find a medium containing a live file system
Je ne sais pas vraiment quel est le problème, mais je pense qu'il s'agit de chemins relatifs et de la "chose" du CD-ROM. J'en ai testé beaucoup (même relatif et absolu) mais rien ne fonctionne.
La réponse ne doit pas concerner MultiBootUSB, MultiSystem, Yummi ou tout autre outil; il ne doit pas s'agir également de grub ou grub2 ou de tout autre chargeur de démarrage. Je veux que mon approche fonctionne.
la source
Réponses:
J'ai résolu cela et ça fonctionne! J'ai trouvé un code de triche appelé: live-media-path = chemin / vers / casper / dossier avec ignore_uuid. Donc, le code de travail modifié:
Merci beaucoup!
PS: Pour d'autres distributions, vous pouvez rechercher des fichiers de configuration syslinux dans le référentiel de Yumi sur GitHub: https://github.com/bwnickle/YUMI/blob/master/src/menu/
la source
ignore_uuid
peut être omis; aussi, pour tous ceux qui souhaitent copier l'ensemble minimal de fichiers à partir du CD, consultez sfxpt.wordpress.com/2014/02/18/… . -À- dire,rsync -vuaR .disk casper /mnt/usbpen/boot/lub1310
.Ok, puisque vous n'êtes pas intéressé par d'autres solutions, vous devrez prendre plus de temps pour comprendre le fonctionnement du processus de réservation.
Le chargeur de démarrage charge le noyau et initrd en mémoire , puis passe l'exécution au noyau. Après ce point, toute exécution est transmise au processus init / upstart dans l'initrd et à tous les scripts que le premier processus appelle. Les scripts de l'initrd ne savent vraiment rien du système de fichiers, ni du pathos relatif d'où il a été chargé. Ils ne peuvent pas simplement référencer un gros système de fichiers caspar dans ce répertoire.
L'initrd des livecds contient des scripts qui leur permettent de localiser le système de fichiers. Pour le système Ubuntu, il recherche un fichier particulier dans un dossier particulier à la racine de chaque système de fichiers connu sur chaque lecteur qu'il peut voir. S'il ne trouve rien, vous obtenez l'erreur que vous avez mentionnée.
Vous pouvez transmettre l'
ISO-SCAN
option à dans le cadre de votre ligne d'ajout. Cet argument indiquera au script qu'au lieu d'analyser les systèmes de fichiers, il effectuera un bouclage pour monter une image ISO et lire les fichiers à l'intérieur.La simple suppression de fichiers dans un répertoire aléatoire que vous définissez n'est probablement pas prise en charge. Je n'ai pas regardé les scripts initrd livecd récemment, mais je ne connais pas d'options qui vous permettent de spécifier un répertoire arbitraire pour les fichiers extraits.
Si vous voulez un comportement qui n'a pas déjà été conçu par les développeurs, vous devrez recompiler vos initrds avec vos propres scripts et outils pour charger le système de fichiers racine. Laisser l'ISO sur le système de fichiers, puis utiliser l'
iso-scan/filename=$isofile
option est la méthode que vous pouvez utiliser sans avoir à reconstruire votre initrd.la source