Page 1 sur 1

[GRUB] Booter sur une clé USB ?

Publié : dim. 01 avr. 2007, 17:15
par Cactus
Bonjour à tous,

C'est une question qui doit être abordée régulièrement, mais je n'ai trouvé aucun sujet ici, alors je le lance... :wink:

Voilà... je sais qu'il existe des liveCD pour Arch, mais mon idée serait plutôt de mettre notre chère distrib sur une clé usb, qui booterait seule, et/ou depuis un CD (pour les PC un peu anciens qui ne savent pas démarrer sur USB).

Alors, quelles sont les différentes étapes pour concrétiser mon projet ?

Je vois une difficulté majeure : indiquer à Grub (j'aimerais si possible conserver ce bootloader) de booter sur USB (et ce depuis un CDROM ou la clé déjà en usb), en lui donnant les moyens (modules ? option ligne kernel ?)

La clé usb serait très probablement en /dev/sda1, mais comment indiquer à grub un périph sdxy ? (sachant qu'il fonctionne en (hdX,Y) ).

Si il existe un tuto déjà existant (ce qui ne m'étonnerait pas), merci d'en donner le lien ! :wink:

Merci ! :chinois:

Cactus.

Publié : dim. 01 avr. 2007, 17:28
par Cactus
Un lien intéressant pour créer un CD de boot contenant Grub :
http://www.gnu.org/software/grub/manual ... CD_002dROM

Reste à le configurer proprement pour lancer Arch sur une clé usb (enfin, un DD externe en ce qui me concerne). ;)

Publié : dim. 01 avr. 2007, 18:34
par Cactus
Encore un lien pour créer soi-même un initrd qui sait accéder à un périph usb :
http://www.benusa.com/linux/boot.htm

J'ai lu par ailleurs que Grub considérait toujours la syntaxe (hdx,y), et ce même pour les sda... en fait, il attribue x=1,2, etc... dans l'ordre de détection. Donc les sda seront définis après les /dev/hdXY...

La question que je me pose : si j'ai un DD en /dev/hda1 et un CDROM en /dev/hdc1, Grub va attribuer (hd0,y) pour le DD, (hd2,y) pour le CDROM... mais un DD externe (/dev/sda) sera compris en (hd1,y) (n° non réservé) ou (hd3,y) ou (hd5)...???

Publié : lun. 02 avr. 2007, 10:31
par _alexmyself
LARCH peut se mettre sur une clef usb, et avantage plutot sympa, tu pourras sauvegarder les changements effectués durant la session.

larch est fait en bash et quelques parties en python, ca peut servir de boite a idées.

http://four.fsphost.com/gradgrind/

le créateur s'est aidé d'autre script, leurs adresse est sur le site, tu devrait y trouver ce que tu cherches je pense.

Publié : lun. 02 avr. 2007, 15:32
par Cactus
Merci beaucoup, je vais regarder ça de plus près... :wink:

Publié : lun. 02 avr. 2007, 15:43
par Tebo
La question que je me pose : si j'ai un DD en /dev/hda1 et un CDROM en /dev/hdc1, Grub va attribuer (hd0,y) pour le DD, (hd2,y) pour le CDROM... mais un DD externe (/dev/sda) sera compris en (hd1,y) (n° non réservé) ou (hd3,y) ou (hd5)...???
Pour deux dd un ide l'autre externe:
hda=(hd0,0)
sda=(hd1,0)

Le mieux est d'installer sur le dd externe grub sur le mbr. De cette façon il sera normalement toujours reconnu (hd0,0) si tu boot en usb. La seul chose qui peut changer changer c'est sdxxx si il y'a d'autre dd. Moi j'ai une debian que je promène comme sa.

Ps: pour avoir un azerty dans grub, menu.lst:

Code : Tout sélectionner

# Emulation d'un clavier azerty_FR (merci à Yannick)
setkey less backquote
setkey greater tilde
setkey ampersand 1
setkey 1 exclam
setkey tilde 2
setkey 2 at
setkey doublequote 3
setkey 3 numbersign
setkey quote 4
setkey 4 dollar
setkey parenleft 5
setkey 5 percent
setkey minus 6
setkey 6 caret
setkey backquote 7
setkey 7 ampersand
setkey underscore 8
setkey 8 asterisk
setkey backslash 9
setkey 9 parenleft
setkey at 0
setkey 0 parenright
setkey parenright minus
setkey numbersign underscore
setkey a q
setkey A Q
setkey z w
setkey Z W
setkey caret bracketleft
setkey dollar bracketright
setkey q a
setkey Q A
setkey m semicolon
setkey M colon
setkey bracketleft quote
setkey percent doublequote
setkey asterisk backslash
setkey bracketright bar
setkey w z
setkey W Z
setkey comma m
setkey question M
setkey semicolon comma
setkey period less
setkey colon period
setkey slash greater
setkey exclam slash
setkey bar question

Publié : lun. 02 avr. 2007, 16:42
par Cactus
1. Merci pour le script pour passer grub en azerty... y'a juste à copier-coller ? en fait, j'ose pas le faire, car si ça merde, j'ai plus de PC... :?

2. j'ai rien compris à l'ordre des (hd0) et (hd1) de grub, là !

3. je sens que (lorsque j'en aurai le temps), je me construirai une Larch sur mon DD externe. Je me débrouillerai aussi pour me faire un CD de démarrage qui bootera ensuite sur l'usb. :wink:

Publié : lun. 02 avr. 2007, 17:55
par warnaud
Cactus a écrit :1. Merci pour le script pour passer grub en azerty... y'a juste à copier-coller ? en fait, j'ose pas le faire, car si ça merde, j'ai plus de PC... :?
ça risque rien car au "pire", tu relances n'importe quel CD et tu montes ta partition où y'a /boot/grub/menu.lst et tu remets comme avant
Cactus a écrit : 2. j'ai rien compris à l'ordre des (hd0) et (hd1) de grub, là !
Alors en fait le délire c'est que grub peut lancer d'autres systèmes que linux ... et la notation hd0 n'a rien à voir avec hda. hd0 = 1er disque de la première nappe que ça soit du ide sata
Exemple débile avec quelqu'un qui aurait un disque ide et un disque sata, hd0 = hda (notation "linux" du permier disque de la première nappe IDE) et hd1 = sda(notation du premier DD SATA de la première nappe SATA :p)
Cactus a écrit : 3. je sens que (lorsque j'en aurai le temps), je me construirai une Larch sur mon DD externe. Je me débrouillerai aussi pour me faire un CD de démarrage qui bootera ensuite sur l'usb. :wink:
y'a bon ça :D !

Publié : lun. 02 avr. 2007, 23:22
par Cactus
1. oui, effectivement, une sauvegarde .bak me semble nécessaire... :wink:

2. ok, je ne cherche plus à comprendre, je m'en remets aux formidables scripts de LARCH... :bravo:

3. LARCH... oui, quand j'aurai le temps... en fait, je voulais avoir un clone mobile de mon système... sauf que je suis déjà sur un PC portable, c'est un peu idiot. Non, finalement, je vais plutôt opter pour une solution clé usb 2 ou 4 Go (quand ce sera à moins de 30 €) pour en faire un rescue OS, démo, etc... 8) (les liveCD sont vraiment trop longs pour décompresser les programmes, et pour la reconnaissance auto).

EDIT : je me demande d'ailleurs si LARCH peut utiliser autre chose que unionfs... :roll:

Publié : lun. 02 avr. 2007, 23:41
par _alexmyself
au boot option c2r = Copy To Ram, ca devrait accelerer ton live cd :D

unionfs fonctionne plus (si j'ai bien compris c'est parceque l'un des mainteneurs du noyau en avait pas envie...bien vu non ?) avec le noyau "stock", maintenant c'est ..tiens j'ai oublir..aifs ? un truc comme ça..

Publié : lun. 02 avr. 2007, 23:48
par Cactus
J'avais testé la SLAX il y a 2 ans, et quelle que soit le copy-to-ram était encore plus long ! ok, ça roxxxxe ensuite !
Mais bon, 1/2 heure le boot, bof......
En fait, avec les clés de 2 ou 4 Go, nul besoin de compresser, la place ne manque pas, et la rapidité est là (en usb 2.0 évidemment).

De toute façon, je vais attendre qq mois encore, le temps d'avoir une clé 4 Go à 30€... 8)

Publié : mar. 03 avr. 2007, 15:30
par Tebo
2. ok, je ne cherche plus à comprendre, je m'en remets aux formidables scripts de LARCH...
Les convention de nommage de grub 8)
De toute façon, je vais attendre qq mois encore, le temps d'avoir une clé 4 Go à 30€
Heu pour 40€ tu as un disque dur 40go, 2.5 auto-alimenté par l'usb :lol:

Publié : mar. 03 avr. 2007, 22:06
par Cactus
Merci pour le lien, j'irai voir prochainement. :wink:

Pour le DD 2.5", ça reste vachement plus gros qu'une clé. La clé, je peux tout le temps la garder sur moi, je peux donc facilement l'utiliser à tout moment... le DD rentrerait difficilement dans ma banane (déjà très chargée), donc bof... mais je suis d'accord, le coût du Go n'est pas le même... :?

Re: [GRUB] Booter sur une clé USB ?

Publié : mer. 25 mars 2009, 12:52
par farvardin
pour info si vous avez accès à grub (soit sur la machine qui doit démarrer la clé ou bien par un livecd), et que la machine n'a qu'un disque dur, normalement modifier une entrée de grub existante pour la remplacer par un simple:

Code : Tout sélectionner

root (hd1,0)       #disque 2, partition 1
chainloader +1  #démarre le système présent sur cette partition, c-a-d. syslinux par exemple 
devrait être suffisant. Par contre je ne sais pas s'il existe des livecd permettant de vérifier quel disque est bien attribué à l'usb. Si on a une machine avec plusieurs disques, cela doit être problématique.

Re: [GRUB] Booter sur une clé USB ?

Publié : mer. 25 mars 2009, 14:37
par Cactus
Joli déterrage de topic ! :bravo:

Pour l'histoire de la détection de la clé usb, il y a plusieurs solutions :

1. FaunOS fait une recherche sur tous les périph des stockage et recherche un fichier précis, et quand il le trouve, c'est la clé !

2. ma solution : la plupart du temps, si l'usb est placé en 1ère position dans l'ordre de boot, la clé est en n° 0 dans grub (sda).
EDIT : j'ai un doute, je vérifierai et corrigerai rapidement si nécessaire.
En plus, j'ai toujours un miniCD-RW (8 cm) bootable où j'ai recopié le /boot, et modifié les lignes du menu.lst en remplaçant (hdx,y) par (cd), ce qui fait que le noyau démarre depuis le CD. Utile pour les PC qui ne bootent pas sur l'usb.
J'ai donné toute la marche à suivre dans un topic (dont je suis l'auteur) sur ce forum, je vous laisse chercher... ;)