Xen vs b44

Après moult heures passées à backporter des bouts de Xen 3.0.4 vers Xen 3.0.3 pour essayer de garder un peu de cohérence dans mon packaging, j’ai fini par choisir la solution de facilité et récupérer Xen 3.0.4 chez XenSource. Eh-bin-ça-marche. Enfin cette saloperie de broadcom 4400 daigne faire transiter des lutins magiques depuis un dom0. Bon leur quenelle est en 2.6.16, le boot est un peu chaotique, mais j’ai du link convivial.

update

Rappel des faits.

Y’a quelques semaines, on m’a confié ce monstre pour en faire un calculateur meteo de poche. Muni d’un Xen -c’est ce que j’ai proposé-, le laptop, modulo le support des instructions VT et assez de RAM, devra pouvoir faire tourner une version minimale de nos solutions. Premier echec, le modèle initial était muni d’un chip Intel T5500, et comme on peut le lire sur cette page de wikipedia, ce CPU ne supporte pas les instructions VT. Patience est mère de toutes les vertus, après quelques jours d’attente, je reçois donc le même modèle muni d’un T5600. Un rapide grep vmx /proc/cpuinfo finit de me rassurer. Confiant, j’installe gentiement une debian des familles, apt-get install xen-blabla, reboot, nickel, ssh pwet: no route to host. “Qu’est-ce que…”, ifconfig -a: pas d’eth0. Et là, c’est le début de l’enfer, un tour rapide sur google me renseigne sur la detresse qui va être la mienne: le module b44, supportant la Broadcom 4400 qui munit ce laptop, ne fonctionne pas sous Xen 3.0.3 (une histoire sordide de DMA_BITS hardcodé à 31). Je hacke, je tweake, je backporte, avec panic’s pour seuls résultats. En désespoir de cause, je récupère, comme dit plus haut, la version binaire de Xen 3.0.4 et là… dhclient eth0, boum, ça marche.

Epilogue

Il a tout de même subsisté un petit stress, alors que je m’appretais à xm create mon premier domU hvm, je me vois rembarré par une erreur du style: “unable to start hvm, is your CPU VT/AMD-V compatible or is it enabled in your BIOS ?”. Eh bin non justement, c’est absolument pas enabled dans le BIOS pour la simple raison que ces petites truites de chez HP ne permettent pas, par defaut, d’agir sur l’activation des instructions VT du nx7400. Avouez que c’est quand même particulièrement crétin de vendre du matos de ouf sans fournir la possibilité de s’en servir. Fort heureusement, en fouillant un peu sur le site d’HP, je finis par découvrir un upgrade pour le bios en question, dont la mention “ready for Vista” ne laisse absolument pas présumer qu’il ajoute une entrée dans le BIOS: “Enable Virtualization Technology”. Bref, flashage, reboot, activation du VT, reboot, et ?… crash de Xen. C’est fatiguant un peu. Reboot sur un kernel classique, las, je re-apt-get xen-blabla, re-install.sh du Xen 3.0.4 binaire, je traffique un peu mon menu.lst, et là, probablement parce ce laptop en avait plus qu’assez que je le maltraite, reboot et…ça-marche. Pour finir, re-packaging d’un noyau Xenifié à l’aide de make-kpkg en utilisant le tarball source de XenSource, dpkg -i, et me voici enfin en possession d’une debian Xenifiée fonctionnelle sur un portable muni d’un CPU VT-capable.

J’f’rais pas ça tous les jours.