Depuis quelques jours, plusieurs forums GNU/Linux s’enflamment pour une petite bestiole toute de blanc vêtue : le Seagate Dockstar.
Je ne vais pas le présenter en détails, d’autres l’ont fait mieux que moi, je vous renvoie donc à l’excellent article du blog de Galipe.
Nerd devant l’éternel, j’ai évidemment craqué pour la chose
(je vais même en recevoir un deuxième dans les prochains jours)
J’ai commencé à le bidouiller, en installant Debian dessus avec la méthode de Jeff Doozan, puis Plugbox (un fork d’Arch Linux dédié aux “plug computers” ARM).
Mais j’étais loin d’être satisfait de ces installations : en effet, elles se font avec une clé USB branchée sur le Dockstar, afin de contenir le système de fichiers.
Non seulement je trouvais un peu bête de condamner un port USB, mais la méthode était également loin d’être fiable : problèmes de “cold-boot”, boot qui ne se fait pas sans qu’on sache pourquoi, un peu la galère en définitive …
Avant même de recevoir la bête, j’avais dans ma tête l’idée de la faire booter sur le réseau : c’est idéal, cette machine est constamment branchée, ça laisse tous les ports USB libres et ça ne consomme rien de plus
Aujourd’hui, excédé par un énième foirage de boot par USB, j’ai décidé de creuser.
Une méthode avait déjà été publiée pour les SheevaPlug, extrêmement semblables : http://www.plugcomputer.org/plugwiki/index.php/Setting_up_TFTP_and_NFS
L’idée est de :
- demander à uBoot (le bootloader du Dockstar) de charger un kernel Linux par TFTP
- booter ce kernel en lui demandant de démarrer sur un partage NFS
Ayant plusieurs machines bootant sur le réseau par PXE, j’avais déjà des serveurs TFTP et NFS fonctionnels pour cet usage (je ne détaillerai pas non plus de ce côté, le web est rempli de documentation là-dessus), il ne me restait plus qu’à m’y mettre pour le Dockstar.
Après quelques tâtonnements (moins que je ne pensais), voici une procédure qui fonctionne au poil.
Je n’ai pas inventé grand chose, quasiment tout vient de la méthode pour SheevaPlug que j’ai linkée au dessus.
Commençons.
Les choses peuvent dépendre d’où vous en êtes dans le bidouillage du Dockstar, mais il suffit que vous ayez un accès SSH à la bestiole pour pouvoir commencer.
Nous allons débuter par l’installation d’un uBoot correct.
Installer un bon uBoot
Cette étape est facultative si vous avez déjà installé un uBoot alternatif pour pouvoir booter sur USB, mais cet uBoot-là est normalement meilleur.
(et c’est réversible)
Suivez les explications claires et détaillées de Jeff Doozan.
Créer l’arborescence d’un système Plugbox sur le serveur NFS
J’ai choisi d’utiliser Plugbox pour une raison simple : c’est une Arch Linux pour plug-computers, et compilée pour le CPU des SheevaPlug/Dockstar
Sur votre serveur, placez-vous donc dans un répertoire vide partagé par NFS, et exécutez les commandes suivantes en root :
wget http://plugapps.com/os/PlugboxLinux-1.0.1.tar.gz wget http://sheeva.with-linux.com/sheeva/2.6.33/sheeva-2.6.33-Modules.tar.gz tar -xzvf PlugboxLinux-1.0.1.tar.gz # This will take a long time wget -O boot/uImage http://sheeva.with-linux.com/sheeva/2.6.33/sheeva-2.6.33-uImage tar -xzvf sheeva-2.6.33-Modules.tar.gz rm PlugboxLinux-1.0.1.tar.gz rm sheeva-2.6.33-Modules.tar.gz
Elles sont issues du guide d’installation de Plugbox, disponible ici.
Vous obtiendrez un répertoire contenant l’arborescence complète de votre système Plugbox.
Notez précisément le chemin local complet vers celui-ci.
Placer l’image du kernel sur le serveur TFTP
Cette image est le fichier /boot/uImage du système que vous venez de créer.
Copiez-la dans le répertoire partagé par votre serveur TFTP.
Configurer uBoot soigneusement
La configuration de uBoot se fait grâce à l’utilitaire blparam, que l’on peut se procurer ici sous forme d’un binaire précompilé et exécutable directement depuis un système Pogoplug (celui d’origine sur le Dockstar), Debian ou Plugbox.
Ce binaire est téléchargeable à cette adresse : http://plugapps.com/os/pogoplug/uboot/blparam
Exécutez-le depuis votre Dockstar (dans le répertoire /tmp pour ne pas avoir à écrire sur la NAND, et n’oubliez pas le petit chmod +x qui va bien), vous allez obtenir la liste des paramètres actuels de votre Dockstar.
Par contre, il peut aussi servir à modifier ces paramètres : pour cela il faut l’exécuter de cette manière :
#./blparam 'paramètre=valeur'
On peut ainsi modifier les paramètres prédéfinis, mais également en rajouter et même en supprimer (en assignant une valeur nulle au paramètre).
Voici les paramètres à rajouter/modifier :
bootcmd_net=tftpboot 0x2000000 $(image_name);setenv bootargs $(console) $(bootargs_root2) nfsroot=$(serverip):$(rootpath2) ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvNetConfig) $(mvPhoneConfig); bootm 0x2000000; bootcmd3=setenv bootcmd run bootcmd2; saveenv; run bootcmd_net image_name=<nom que vous avez donné à l'image kernel dans votre serveur TFTP> bootargs_root2=root=/dev/nfs rw serverip=<IP de votre serveur NFS/TFTP> rootpath2=<chemin local complet jusqu'à votre système de fichiers Plugbox sur le serveur NFS : /var/blabla/... ou autre> ipaddr=<IP que vous voulez donner à votre Dockstar> bootargs_end=:::DB88FXX81:eth0:none mvNetConfig=mv_net_config=(<adresse MAC du Dockstar, chaque valeur séparée par des : >,0:1:2:3),mtu=1500 mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs arcNumber=2097 mainlineLinux=yes
Passez-les un à un via blparam.
Pour référence, voici la liste complète des paramètres du mien : http://ledek.free.fr/dl/blparam
(si vous êtes observateur, vous remarquerez que mon serveur TFTP et mon serveur NFS sont sur la même machine ; si les vôtres sont sur des machines différentes, il faudra séparer serverip en 2 paramètres distincts – pas difficile)
Enfin, nous allons passer à la dernière valeur, la plus importante : bootcmd.
Que j’explique un peu : dans les paramètres, j’ai fait en sorte de ne rien toucher d’autre, ce qui fait que pour l’instant, même avec toutes ces modifications, le Dockstar fonctionnera exactement comme avant.
Tout dépendra de ce que vous donnerez comme valeur à bootcmd.
Commencez par fixer :
bootcmd=run bootcmd3
Puis redémarrez.
Le Dockstar tentera de booter via TFTP/NFS, et si tout va bien vous pourrez vous logger sur votre nouveau système.
Mais quoi qu’il arrive, le boot suivant se fera sur la NAND, vous arriverez sur Pogoplug.
J’ai fait cela pour une raison très simple : si vous vous êtes trompé dans votre configuration et que le boot réseau échoue, cela va vous permettre de la corriger. (rebootez manuellement le Dockstar afin de revenir sur Pogoplug)
Si cela n’avait pas été le cas, il aurait été impossible de récupérer le Dockstar sans câble série.
Donc, si le boot réseau s’est bien déroulé la première fois, vous pouvez maintenant fixer définitivement le boot réseau :
bootcmd=run bootcmd_net
Désormais, le Dockstar bootera systématiquement sur le réseau avec les paramètres que vous avez fixés.
Inutile de préciser que toute cette étape est très sensible pour la santé de votre matériel, vérifiez à 2,3,4 fois que vous n’avez pas fait d’erreur.
Essayez également de comprendre ce que vous faites, une coquille de ma part est toujours possible, même si je me corrige.
Je ne pourrais être tenu responsable, blablabla…
Et maintenant,
Enjoy
Quelques liens utiles :
Le topic sur HFR, les fous du Dockstar y sont rassemblés ![]()
Les photos de mon Dockstar.
Installer Debian pour Dockstar sur clé USB, méthode de Jeff Doozan.
Salut, si j’ai bien compris le principe, ça veut dire qu’il te faut une autre machine allumée en plus du dockstar, pour que celui-ci puisse charger son système. Je vois pas bien l’intérêt, je commence à m’intéresser au système, j’en ai reçu un, mais je suis en phase découverte
L’intérêt c’est que j’ai déjà un serveur à la maison qui tourne 24h/24
Donc ça ne me coûte rien de plus.
Par contre, si tu cherches à utiliser le Dockstar comme serveur, effectivement, ça n’est pas une bonne solution.
Le boot sur NFS sert surtout dans le cas où tu as déjà un serveur et que tu veux utiliser le Dockstar comme une machine minuscule planquée dans un endroit où tu ne mettrais pas un vrai PC (bruit, encombrement, …) afin d’utiliser des périphériques USB à cet endroit (carte son USB, webcam, …)
C’est dans cette optique que j’ai acheté mes Dockstar, et là le boot réseau me convient particulièrement, ça m’évite de laisser une clé USB dessus, je n’ai pas de limite de place, et c’est très fiable
OK merci de la précision, effectivement dans mon cas c’est pas intéressant, l’idéal pour moi serait de pouvoir mettre un système le plus complet possible directement sur la Nand.
Je vais continuer à suivre le Topic sur Hardware.fr
Ping : Dockstar et boot réseau : optimisation — Hippopota.me/blog : le blog de deK
Si tu as une armée de Dockstar, tu peux en avoir une qui sert de serveur tftpd et toutes les autres qui bootent leur système dessus en réseau
Salut,
je me demandais si tu avais un lien pour l’acheter au tarif normal, car comme c’est marqué sur le blog de Galipe, tout le monde a remonté le prix (allant jusqu’à 100€ !). Le mieux que j’ai trouvé c’est cdiscount avec 25€…
Merci d’avance
Il n’y a plus que CDiscount qui en ont à bon prix à l’heure actuelle : je leur en ai commandé un deuxième, mais ils se sont mélangés les pinceaux dans mon colis, j’ai reçu une 8400GS à la place …
Donc je renvoie ça au plus vite en espérant qu’il leur en reste.
Salut !
Je suis très intéressé par le boot par le réseau.
Merci pour tes articles qui me seront bientôt utiles pour mes DS et surement pour d’autres pc à la maison.
Petites questions: sous quel OS tourne ton serveur PXE ?
.
Comment se passent les modifications de données comme l’ajout de programme dans ce genre de configuration ? les données s’écrivent en direct sur le répertoire sur le serveur ou une sauvegarde se fait lorsque le client s’arrete ? Je n’ai rien trouvé de clair à ce sujet, tous les tutos trouvés ne parlent que d’installation de l’os via le réseau mais pas du fonctionnement d’un pc qui booterait sur le réseau… ou alors quelque chose m’échappe ce qui ne serait pas surprenant
Dernière chose si je ne te prends pas trop ton temps, où trouver une doc claire pour l’installation et la configuration d’un serveur permettant ce genre de boot ? J’ai parcourru le net sans résultat, les docs sont nombreuses comme tu le dis dans ton article, mais les méthodes sont pas vraiment homogènes, et aucune ne traite de l’après installation.
Merci d’avance pour tes réponses.
Salut,
Pour info…
Un lien pour utiliser le port série :
http://www.yourwarrantyisvoid.com/2010/07/21/seagate-dockstar-add-an-accessible-serial-port/
Un lien pour acheter le cordon :
http://shop.ebay.fr/i.html?LH_AvailTo=71&_nkw=USB+Data+Cable+for+Nokia+6800&_arm=1&_armm=63&_ruu=http%3A%2F%2Fshop.ebay.fr%2Fi.html%3F_nkw%3DUSB%2BData%2BCable%2Bfor%2BNokia%2B6800%26_arr%3D1&_rdc=1
Bye
Mon blog est hébergé par un Seagate Dockstar, depuis 1 mois, et je vous livre une rapide analyse des statistiques de connexion depuis le début de la mise en exploitation, pour montrer qu’un site web rapide et optimisé, n’a pas besoin de beaucoup de bande passante, ni de processeur énergivore !
J’ai réaliser un article sur le sujet
http://www.it-wars.com/index.php?article193/seagate-dockstar-1er-mois-d-exploitation
Bonjour,
Je viens de mettre en ligne sur mon blog un benchmark sur les performances du seagate dockstar avec nginx pour l’autohébergement … Moins de 4W de consommation pour plus de 3000 visiteurs uniques/jours ! VIVE le DockSTar
http://goo.gl/z1Lkg
Cordialement,
Vincent RABAH