Quelques antécédents:
- Venant d'un arrière-plan largement Windows (bien que je connaisse Ubuntu, etc.) et utilisant une machine Windows 7 pour effectuer cette tâche
- Installation réussie de GRUB sur le MBR du lecteur USB (lecteur FAT32 8 Go):
- Avoir créé une structure de base sur le lecteur: / boot / grub, / boot / img, / boot / kernel
Question:
J'ai quelques questions de base pour les débutants, mais celles auxquelles j'ai eu du mal à trouver des réponses via Google / StackExchange, etc.
- Je comprends que le dossier / boot / img / [SystemName] stockera l'image pour un système spécifique, qui peut utiliser différentes (ou les mêmes) versions de noyaux linux stockées dans le répertoire / boot / kernel (du moins, c'est comme ça que je j'aimerais l'installer)
- Cependant, la plupart de ces systèmes ont juste un noyau dans leurs répertoires appelé "linux" (sans indiquer la version). Je peux rechercher quel noyau tous ces utilisent, mais quel est le meilleur endroit pour que les noyaux eux-mêmes soient copiés dans / boot / kernel?
- Après avoir obtenu les noyaux, j'imagine que le reste consiste principalement à copier le périphérique dans / boot / img / et à créer l'entrée appropriée dans menu.lst, correct? Je peux le faire système par système une fois que je peux me référer aux noyaux.
But général:
J'essaie de créer un lecteur flash USB de 8 Go qui me permettra de démarrer plusieurs systèmes d'exploitation à partir d'un menu de démarrage GRUB. Pour ajouter ou soustraire des systèmes d'exploitation, je voudrais seulement avoir à copier les fichiers appropriés dans un dossier / boot / img / [SystemName] et / boot / kernel selon le cas, puis modifier le fichier menu.lst. Donc, cette première étape consiste à trouver les noyaux que beaucoup de ces systèmes d'exploitation partagent, car j'espère réduire la duplication.
kernel
usb
dual-boot
boot-loader
grub-legacy
SeanKilleen
la source
la source
Réponses:
Ce que vous essayez de réaliser, c'est d'étirer la technologie de démarrage :) Cependant, je pense que c'est possible, bien que je ne sois pas suffisamment informé pour vous donner un aperçu complet.
Tout d'abord, comme dit précédemment, les distributions ont des exigences très différentes. Deuxièmement, la bonne chose d'autre part, vous pouvez également trouver des distributions qui nécessitent des exigences minimales.
Je recommanderais d'utiliser GRUB4DOS comme chargeur de démarrage. Voir ce lien pour l'utiliser avec USB (car il a la commande find --set root -, qui est importante si vous avez un appareil mobile comme USB).
Ensuite, vous devez décider du nombre de partitions que vous utiliserez. "L'installation complète" standard est toujours dans une seule partition. Donc, si vous avez une clé USB de 8 Go et prenez une partition de 4 Go (ce qui permet une installation minimale), vous seriez limité à 2 «installations complètes» différentes des principales distributions comme Debian ou Fedora.
Cependant, il existe quelques petites distributions Linux spécialisées. Par exemple, "Puppy Linux" est très petit et possède un mode spécial "Frugal Installation". Il existe en plusieurs versions (par exemple, il existe MacPup avec des tentatives d'implémentation d'un Apple comme Desktop, ou Fatdog64 qui est un Linux 64 bits).
Dans ce mode "Frugal installation", il utilise exactement 1 répertoire et peut être installé en parallèle sur un Linux ou Windows existant sur le disque dur (ou USB). Je suis sûr qu'il existe d'autres distributions qui prennent en charge des modes similaires.
Étant donné que Puppy Linux est petit (<150 Mo) et en supposant que vous réservez un petit fichier de sauvegarde pour chaque installation (512 Mo), vous pouvez facilement installer comme 10 systèmes d'exploitation différents sur la clé USB. Il existe des Linux encore plus petits (Slitaz, Tinycore), que vous pourriez utiliser.
Par exemple, j'attache le fichier menu.lst (GRUB4DOS) de mon installation PC actuelle, les 8 premières entrées sont toutes différentes de l'installation de Puppy Linux sur hd0,2 (c'est-à-dire la 3ème partition sur le 1er disque dur), puis il y a un minimum Installation de Debian dans une petite partition supplémentaire ainsi que Windows-XP d'origine.
Le menu.lst sur votre clé USB pourrait ressembler, la commande GRUB4DOS
find --set-root --ignore-floppies /lupq511/initrd.gz
(recherche ce fichier sur tous les lecteurs) pourrait être très utile si vous utilisez USB, vous n'avez donc pas à utiliser d'entrées fixes pour votre lecteur.Avec les informations ci-dessus, quelques commentaires sur vos questions originales:
Q: * Je comprends que le dossier / boot / img / [SystemName] stockera l'image pour un système spécifique, qui peut utiliser différentes (ou les mêmes) versions de noyaux Linux stockées dans le répertoire / boot / kernel (au moins, c'est comme ça que j'aimerais le configurer)
R: Je ne sais pas si cela va fonctionner, car la plupart des principales distributions s'attendent à avoir le droit exclusif de leur partition et à installer une structure de répertoires spécifique pour leurs fichiers. À mon avis, il est préférable de respecter la configuration par défaut et de fournir ce que la distribution attend, c'est-à-dire que certains ont besoin d'une partition exclusive, certains seront satisfaits d'un simple répertoire sur une partition partagée. Je ne dis pas qu'il n'est pas possible d'installer plusieurs systèmes d'exploitation sur une partition de manière non par défaut, mais cela demande des problèmes et, à mon avis, n'est pas pratique pour un nouveau venu Linux. Une solution de contournement possible que je mentionne au bas de mon message (installations "Wubi-like").
Q: * Cependant, la plupart de ces systèmes ont juste un noyau dans leurs répertoires appelé "linux" (sans indiquer la version). Je peux rechercher quel noyau ces utilisateurs utilisent tous, mais quel est le meilleur endroit pour obtenir les noyaux eux-mêmes à copier dans / boot / kernel?
R: Je pense que les noyaux devraient aller exactement là où les distributions les ont habituellement. Il n'est pas nécessaire de les stocker dans un dossier séparé / boot / kernel, et je ne recommanderais pas non plus d'essayer de les partager entre les distributions. L'espace de stockage est minimal pour un noyau (comme 2-3 Mo). Il y a vraiment beaucoup de versions et sous-versions et parfois il y a même des correctifs spécifiques appliqués aux noyaux de distributions. Brancher un noyau différent / non testé est une expérience inutile.
Q: * Après avoir récupéré les noyaux, j'imagine que le reste consiste principalement à copier le périphérique dans / boot / img / et à créer l'entrée appropriée dans menu.lst, n'est-ce pas? Je peux le faire système par système une fois que je peux me référer aux noyaux.
R: Comme mentionné précédemment, il vaut mieux créer des partitions séparées pour les distributions qui en ont besoin et mélanger les distributions moins gourmandes dans leurs propres dossiers. Traitez le noyau, l'initrd et le reste de la distribution comme une unité.
Une dernière idée. Si vous ne souhaitez pas utiliser différentes partitions, vous pouvez essayer quelque chose comme des installations "WUBI" pour les distributions exigeant une installation complète sur sa propre partition. Cela signifie que vous créez des fichiers volumineux avec ses propres systèmes de fichiers ext2 / ext3 sur l'USB, puis les montez en tant que «lecteurs» et y installez le système d'exploitation. (Je l'appelle WUBI, car c'est l'application la plus connue).
Ce qui suit devrait être une entrée menu.lst de Grub4dos pour démarrer une "installation Wubi".
D' ici .
Vous voyez, il y a 2 commandes "set root", la seconde après "root.disk" qui contient Linux, est montée en tant que loop0.
J'espère que je pourrais donner quelques idées, bien que ce ne soit pas une visite complète.
la source
Voici deux guides:
Je pense que les deux utilisent des partitions distinctes pour chaque noyau.
Les entrées dans " /boot/grub/menu.lst " sont comme ceci:
la source
Cela dépend vraiment des distributions que vous y mettez. Certains d'entre eux font des choses désagréables dans les initramfs, donc cela devient difficile. Certaines distributions en direct recherchent une étiquette, d'autres recherchent uuid. Vous ne pouvez pas fournir cela.
La solution n'est pas facile, vous devez créer de nouveaux ramdisks personnalisés pour vos distributions en direct.
j'espère que je ne me suis pas trompé: D
la source
Vous aurez certainement besoin d'une sorte d'espace utilisateur pour accompagner chacun de ces noyaux. (Programmes, configuration, travaux.) Traditionnellement, vous utilisiez au moins une partition pour chaque système d'exploitation séparé, et la partition GRUB elle-même était montée en tant que / boot (vous n'auriez donc pas, en fait, de démarrage en tant que sous-répertoire de ce partition; ce serait le répertoire racine, avec grub / comme sous-répertoire.)
la source