Etherbootez Votre Xbox !


FFlF
 Share

Messages recommandés

Yo all !

Qu'est-ce que l'etherboot ?

Et bien c'est un peu comme le PXE mais en plus vieux : http://etherboot.org

En gros ça consiste à faire démarrer une machine depuis des données qui sont situées sur une autre machine sur le réseau, on peut ainsi faire démarrer une machine sans disques ! Ou faire démarrer une machine sur un système qui n'est pas sur son disque dur ou DVD ! Ou mettre à jour tout un cluster en ne faisant que redémarrer les noeuds !

Pour ce faire vous aurez besoin de :

- une XboX munie d'un Cromwell récent (un Xromwell devrait faire l'affaire aussi)

- une autre machine munie d'une carte réseau

L'autre machine reste à votre choix, elle devra être munie de ces trois services : tftp, dhcp, nfs.

Pour ma part j'utilise une Debian Sarge sur un PowerBook, une Xebian sur une autre Xbox fera très bien l'affaire, on doit même pouvoir faire ça avec un Windoz.

Comment ça va se passer ?

-On démarre la Xbox, et dans le menu de Cromwell on sélectionne "Etherboot",

-La boite envoie une requête DHCP sur le réseau,

-Le serveur reconnait la boite, lui attribue une IP et lui indique le fichier (qui contient un kernel) à télécharger pour booter,

-La boite télécharge ce fichier sur le serveur TFTP (trivial FTP) et boote dessus,

-Le kernel ainsi chargé monte un partage NFS (Network File System) afin de l'utiliser comme partition racine,

-Vous pouvez utiliser la Xbox qui a correctement démarré.

Bon cette fois on y va, on va commencer par

Compiler un kernel capable de booter par le réseau

Il s'agit là de compiler un kernel pour Xbox standard, il faudra simplement veiller à ce que certaines options soient compilées en dur, et surtout pas comme modules !

>DevicesDrivers>NetworkingSupport>NetworkingOptions>

Il faut cocher IP : kernel level autoconfiguration, ainsi que

IP : DHCP/BOOTP/RARP support (même si les 2 derniers ne doivent pas être nécessaires)

>DevicesDrivers>NetworkingSupport>Ethernet(10or100Mbit)>

le Reverse Engineered nForce Ethernet support doit être en dur (y) et pas en M comme par défaut

(j'y ai perdu deux jours alors croyez moi c'est important ;)

>FileSystems>NetworkFileSystems>

prenez tout ce qui concerne le NFS, toujours en dur, surtout le "Root file system on NFS"

s'il n'apparait pas retournez cocher le "kernel level autoconfig" dans "Devices Drivers".

Créer une Network Boot Image avec ce kernel

Cette image est le fichier que la boite ira chercher en premier lieu.

Il vous faut mknbi. apt-get install mknbi devrait fonctionner sur une Debian i386, sinon vous pouvez aller le chercher ici : http://sourceforge.net/project/showfiles.php?group_id=4233 il se compilera avec un simple make / make install sur toute machine à base de x86 avec du Perl dedans, comme j'ai que du PPC et des Xbox j'exécute ceci sur la machine cible (la Xbox).

On va maintenant l'appeler avec un tas de paramètres et lui passer notre bzImage toute fraiche :

mkelf-linux --output=xbox.nb --append="root=/dev/nfs nfsroot=192.168.0.66:/tftpboot/root ip=dhcp" --rootdir=192.168.0.66:/tftpboot/root --ip=dhcp /usr/src/linux/arch/i386/boot/bzImage

192.168.0.66 est l'ip de mon serveur, /tftpboot/root/ est le dossier que je destine à recevoir le système de fichier de mon client, l'option --append sert à donner les paramètres de boot du kernel. Certaines infos sont ici redondantes et ce n'est peut-être pas nécessaire, mais ça marche ainsi et j'ai pas envie de revenir en arrière pour vous le confirmer ;) Dans le linuxboot.cfg on apprend qu'il peut être utile de rajouter à la ligne append "devfs=mount kbd-reset", je sais pas trop à quoi ça sert, on verra par la suite si ça marche pas. Comment ça je suis pas sérieux ???

On se retrouve alors dans le dossier courant avec un xbox.nb qui n'est autre que notre Network Boot Image avec les paramètres qu'il faut pour qu'il aille monter le partage NFS de notre choix en partition racine.

On va maintenant s'occuper un peu de notre serveur

Le serveur TFTP

Pour une Debian ce sera comme d'hab apt-get install tftpd

On veillera à avoir cette ligne dans /etc/inetd.conf :

tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /tftpboot

on créera le dossier /tftpboot en y donnant le droit de lecture pour tout le monde.

On peut désormais copier notre xbox.nb dans ce dossier.

Le serveur DHCP

Il est sans doute déjà installé, sinon apt-get install dhcp3-server

et on va ajouter quelques lignes à la fin de /etc/dhcp3/dhcpd.conf :

subnet 192.168.0.0 netmask 255.255.255.0 {        host xbox {                hardware ethernet 00:50:F2:69:58:74;                fixed-address 192.168.0.67;                option host-name "xbox";                filename "/tftpboot/xbox.nb";                option root-path "192.168.0.66:/tftpboot/root";        }}

on donne ici l'adresse MAC de la carte réseau de la xbox (si vous ne le changez pas ça marchera jamais), on lui indique l'IP qu'elle va utiliser, le fichier qu'elle va aller chercher sur le serveur TFTP, et la partition root qu'elle va utiliser en NFS. Adaptez les chiffres et les chemins en fonction de vos besoins bien évidemment.

Le serveur NFS

Il existe sous 2 formes différentes : nfs-kernel-server et nfs-user-server. J'ai utilisé la version kernel, mais l'autre devrait aussi bien faire l'affaire, je n'ai pas poussé la recherche pour savoir lequel est le mieux adapté à notre situation.

Une fois installé, il faudra lui dire que 192.168.0.67 doit avoir accès à /tftpboot/root, pour celà on rajoute cette ligne dans /etc/exports :

/tftpboot/root 192.168.0.67(rw,no_root_squash,async)

Et vala ! Fin du tuto pour aujourd'hui !

Il vous faudra redémarrer tous ces services pour qu'ils prennent en compte les modif des fichiers de config, si vous ne voulez pas vous embêter redémarrez le serveur. Ensuite démarrez la Xbox, sélectionnez Etherboot, et enjoy !!

Comment ça ça marche pas ? Ha bon ? on n'a rien mis dans /tftpboot/root ?

Ha ben alors c'est normal que ça marche pas...

Bon vous l'aurez compris il ne reste plus qu'à créer un système de fichier racine complet et à votre goût à cet endroit et vous aurez un système utilisable. Si j'en dit pas plus c'est parce que je n'ai pas encore accompli cette tache, si vous savez comment on peut faire ça très simplement je suis tout ouïe :)

Sinon en attendant de mes nouvelles http://www.google.fr/linux est votre ami, on trouve aussi un tas de liens interessants sur http://www.etherboot.org .

Bon etherbootage !!!

Lien vers le commentaire
Partager sur d'autres sites

Bizarre, pas de réaction, pourtant, avis à tous ceux qui voulaient faire tourner windows 98 sur leur xbox(moi je voulais faire un cluster, mais c'est encore en chantier ...), faire booter votre xbox par le réseau (ajoutons à cela un ptit serveur x lancé sur une autre machine et Linux Terminal Server Project ) et vous avez une xbox qui consomme quasiment rien en ressources systèmes, et qui devrait pouvoir faire tourner un windows 98 sans problèmes je pense(en fait, c'est plus les ressources du serveur sur le réseau qui seront bouffées)

Enfin, je croit que c'est clair que l'interet principal de etherboot + LTSP c'est pas de faire touner windows, c'est plus de pouvoir utiliser sa xbox comme un pc, sans modifier le disque dur, y a juste Crowmell a mettre.

Comme je le disait, je voulais le faire sur des vieux ordis, c'est plus simple, mais vu la puissance de la xbox, c'ets net que c'est frais ce que t'essaie de faire FFlF, tiens nous au courant des évolutions.

Modifié par cc-paris-
Lien vers le commentaire
Partager sur d'autres sites

total respect pour ton boulot FFIF eek , mais juste une remarque qui ne concerne que moi, à force de migrer vers de tels objectifs, on ne s'éloignerai pas du fait que la xbox est une console à la base et qu'elle est faite pour s'amuse et non pour faire tourner windaube 98, on a des pc pour çà.

Sinon chapeau bas tout de meme pour cette maitrise du systeme xbox :ok:

Lien vers le commentaire
Partager sur d'autres sites

Ben pesonnellement je m'éclate à faire etherbooter cette machine c'est bien mieux que de jouer à Halo2 en mode légendaire, et si personne n'avait fait tourner Linux sur cette machine je n'en aurai certainement jamais acheté. Et je pense qu'il vaut mieux baisser le chapeau devant les membres de la team xbox-linux et ceux qui sont derrière etherboot ;)

cc-paris- : je crois pas que ça puisse intéresser les windozien ce truc, par contre pour ton cluster à mon avis c'est de la balle. Le but n'est pas vraiment d'utiliser les ressources d'un serveur, on peut faire exécuter le serveur X par la Xbox et ne bouffer ainsi au serveur que ses ressources disques et réseau, aucun temps de calcul ni de RAM.

Mon but dans l'immédiat c'est de faire un machine à locker les HDD à base d'une Xbox à moitiée vide branchée sur mon portable, quand j'aurais le temps je jetterai un oeil au cluster parce que j'ai déjà un petit stock de boites noires à exploiter ;)

Lien vers le commentaire
Partager sur d'autres sites

Comme je t'ai dit FFlf, mon cluster en est encore à l'état de chantier, mais tot ou tard, il sera op, juste qqes questions, pour faire pucer ma xbox, sui allé voir un vendeur, et j'ai acheté la console modifiée avec tout d'installé, donc je ne connait pas grd chose des caractéristiques de la puce qui est sur ma xbox, à part un démontage, pour une analyse visuelle, un moyen de connaitre le modèle de puce installé ??

Pour l'histoire du cluster, c un projet que j'ai eu, pour la compression de dvd en divx, qui devrait en intéresser plus d'un, pour ceux que ça intéresse, les logiciels qui me semblent le plus adapté :

- ltsp

- etherboot, comme expliqué ci-dessus(voir http://rom-o-matic.net/ c utile)

- dvd::rip

- cluster nfs

Mais, outre la compression de divx, je compte utiliser le cluster comme serveur apache, mais ac ltsp, y parait qu'il y a des failles de sécurité qui apparaissent, donc prudence ...

Là c'est le bac donc pas trop le tps de bidouiller, mais faut que je teste ça.

Mais c'est clair que faut avoir quand une bonne dose de connaissances linux pr y arriver, nempeche, vu l'arrivée de la nouvelle xbox, les consoles xbox vont bientot rien couter, et pour un cluster puissant et pas trop bruyant, c'est plutot bien !!

++

Lien vers le commentaire
Partager sur d'autres sites

à part un démontage, pour une analyse visuelle, un moyen de connaitre le modèle de puce installé ??
raincoat -v !!

Ca dira pas forcément le nom de la puce, mais si elle n'est pas protégée en écriture ça dira quel type de flashrom elle utilise et sa taille. Raincoat est disponible avec toutes les bonnes distributions xbox-linux ;)

LTSP j'ai l'impression que ça colle pas tout à fait au projet de cluster, ça me semble plutot bien orienté client X non ?

Lien vers le commentaire
Partager sur d'autres sites

Invité xboeuf

C'est cool ton truc !

avec le reseau que j'ai ici je vais essayé de m'amuser un peu !

je ne sais pas si ma carte mere du PC est capable

Par contre j'ai deja testé sur un Mac :

1 server Panther et un iMacG4, démarrer l'iMac avec une image disc du systeme sur le server, ça l'fait bien ;)

Modifié par xboeuf
Lien vers le commentaire
Partager sur d'autres sites

ok, je teste "raincoat -v" + tard pcq j'avai viré linux, javai besoin d'espace disque.

Pr ce qui est de ltsp, ben ça te permet, associé à clusternfs d'utiliser sur ton cluster, des machines qui n'ont pas de disque dur.

Autrement dit, t'utilises linux sur ta xbox, ainsi que sa puissance de calcul, et tout ça sans installer quoi que ce soit sur le disque dur.

C'est pas évident à mettre en oeuvre, mais simple pour la maintenance, et pratique pour des ordis qui sont bien anciens.

je ne sais pas si ma carte mere du PC est capable

Si t'as un lecteur de disquette, ou de cd, va sur rom-o-matic.net, tu clique sur une version(la + récente), et tu lui demande de générer un fichier pr disquette, ou iso pr cd, qui soit compatible avec ton matos.

Dans le bios, tu boote sur le lecteur de disquette, et c'est bon.

Pour le truc par cd, je croit pas que c'est .iso, qu'il faut prendre, cherche sur des forums, c'est un format différent, me rappelle plus quoi.

FFlF, y aurait moyen de faire un etherboot sur la xbox, avec un cd adapté??

pcq j'y connais rien en hardware, et ce serait pratique pr ceux qui sont un peu frileux pr toucher au bios de la puce.

Lien vers le commentaire
Partager sur d'autres sites

Salutation à tous,

je trouve ce post très intéressant, et j'en remercie grandement l'auteur pour tous les efforts qu'il a consenti à nous faire partager. Alors déjà, même si on en reste là, merci ;) .

La raison de mon message n'est pas cependant totalement fortuite !

En fait, j'ai tout récemment placé la distrib XDSL sur ma xbox (elle est si simple si performante et si légère :wub: ), et outre booter via E: sur ses propres fichiers, le bootstrap à la bonne prétention de proposer un icône ETHERBOOT.

Ne maîtrisant absolument tous les concepts précités, je me demandais si une bonne âme pouvait m'expliquer (sans trop de longueur car même si je suis hermétique pour le moment à tout cela, je suis tout de même analyse programmeur donc bon, on va partir sur le fait que j'ai les bases ;) ) comment par exemple transformer un W98 en ROM pour l'etherboot et comment faire charger cette image au bootstrap de ma XDL si cela est possible ?

Découvrant cette technologie avec un fort intérêt, je vous remercie par avance des détails que vous pourriez m'apporter (dans votre grande bonté blush ) !

Merci

@+

Celiphane

Lien vers le commentaire
Partager sur d'autres sites

Pour ton truc de windows 98, ce serait pas + simple lancer linux, et après d'émuler windows avec des logiciels adaptés.

Je connait pas les noms, mais t'en as un qui marche pour les jeux, et d'autres qui sont adaptés à tt ce qui est pas jeux.

Je suis pas sur que ce soit possible ce que tu vx faire, pcq j'ai bcp entendu parler du noyau linux(le kernel), mais sous windows, jamais rien entendu de similaire.

Et pk tu vx windows sur ta xbox??, linux est moins gourmand, plus adapté, et permet de faire tt ce que tu vx(sauf jouer en 3d, mais y a la xbox pour ça !!)

++

Lien vers le commentaire
Partager sur d'autres sites

Salut,

j'oserai dire que cette réponse ne me convient pas ;) . (<< hého les gars il est chié lui, celiphane de mes deux...>> :P )

Bon, pour recentrer le débat hors M$, disons que je désire etherbooter un linux alors. Je dois réaliser une ROM de ce linux, a moins que quelqu'un sache me dire où en trouver une toute prête.

Aussi, mon serveur chez moi tourne sous XP pro, et donc les différents services réseaux nécessaire à l'etherbootage, dans mon cas, se doivent de tourner sous cet OS (sinon je laisse tomber, je vais pas refaire toute mon architecture réseau pour "essayer" cette technologie).

Quelqu'un saurait-il réaliser un guide ou un tour des outils axés etherboot disponibles sous Win ?

@+

Celiphane

Lien vers le commentaire
Partager sur d'autres sites

lol, dsl, je disais juste ce que je pensais logique.

Ben, disons que pr faire de l'etherboot sous win, je pense qu'il faut mettre de la tune.

T'as bien ces 2 liens, clustering ->MSCS

Mais, là on parle de système d'exploitation, pas de ROM.

Si t'as des notions d'anglais:ici, .

Sur google, tu trouves vite fait des liens, mais apparemment scandisk pose un pbm pr monter le système de fichier sur le réseau.

++

Lien vers le commentaire
Partager sur d'autres sites

Bon moi j'ai rien compris à l'etherboot :))))

Le buildroot que j'ai indiqué un peu plus haut ben je crois que je m'en sort pas avec, mais ça doit être une bêtise.

J'ai l'impression que dès que mon système commence à démarrer le réseau, il est contraint de quitter le partage NFS sur lequel il est monté, si quelqu'un a des détails sur la configuration à faire pour éviter ça je suis toujours tout ouïe :)

Lien vers le commentaire
Partager sur d'autres sites

Excellent ce site ! :wub: un bon gros concentré.

En suivant trois lien je me suis retrouvé avec des infos capitales entre les doigts :

http://wiki.debian.net/?DiskLess

http://wiki.debian.net/?NetworkBooting

http://wiki.debian.net/?NFSRootInitrd

Avec tout ça je pense que la principale chose qui me manque, c'est un bon initrd.

Lien vers le commentaire
Partager sur d'autres sites

la principale chose qui me manque, c'est un bon initrd.
The initrd also allows for easy reconfiguration of the booting process which was valuable for developing our process. These two files are packaged into a compound file of the appropriate format via the mknbi-Linux utility.

Ben oui, un bon initrd, te permet une maintenance plus facile de ton cluster

While the standard initrd image is appropriate for the head node, as it performs a standard boot, a custom initrd must be assembled for the other nodes. The kernel modules, utility binaries, and scripts included in the initrd can be customized using the mkinitrd utility.(...) Next we mount an NFS partition from the host node and pivot that mount to root in place of the initrd and continue booting.

Apparemment, il te faut un initrd différent selon que c'est pr le "head node" ou les "others node". Là, je voit pas trop de quoi ils parlent, pour moi y a le serveur, et les autres noeuds qui sont traités tous de la même manière, mais si vs voulez essayer de mx comprendre : ici

Ils t'indiquent un utilitaire, et manifestement, ce serait le initrd qui permettrait de monter la partition réseau et ensuite de la passer en root.

Donc ton problème vient surement du initrd, bon courage.

++

Modifié par cc-paris-
Lien vers le commentaire
Partager sur d'autres sites

Pour ton initrd, j'ai trouvé un lien qui pourrait t'intéresser, ici

Ils parlent d'etherboot, de cluster, et de LTSP(voir liens précédents), donc, ce logiciel ne sert sans doute pas qu'à faire du monitoring, il px peut-être servir en partie à résoudre ton pbm.

3.2 Tagging the image for LTSP boot

Until now this has been pretty straightforward, regular compilation of Linux kernel. Now we need to make the kernel image bootable from the network by tagging it. For this we need mknbi (MaKe Network Bootable Image). There is a script called buildk (distributed with ltsp_initrd_kit of LTSP that takes care of practical stuff such as creating an initrd for the boot process and packing it with the image. This script produces NBI images that are mostly ready to use by just copying the file to the location defined in dhcpd.conf. But with Cromwell... NBI images wouldn't load at all for some reason. There are a few known netboot-ready formats, but for the current implementation of Cromwell etherboot, it seems that ELF-image seems to work best. Therefore we convert the image to ELF with nbitoelf-tool, which is distributed with the mknbi-package.

J'ai pas lu tout ce qu'il y avait sur le lien que je t'ai donné, mais d'après ce qu'il y a ici, il y aurait un lien entre LTSP et le initrd, j'ai pas tout comprit, mais c'est peut-être une piste à suivre, je devrais pas tarder à débuter mon cluster, je vs tient au courant.

++

Lien vers le commentaire
Partager sur d'autres sites

  • 1 month later...

Bon, finalement, j'ai pas eu autant de pc que je le voulais pour mon cluster, mais avec ma xbox, ça pourrait faire un de plus.

T'as abandonné le projet d'etherboot ???

Je dit ça, parce que ce post n'est plus très actif, malgré qu'il soit super interessant, et m'interesse grandement.

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share