{"id":72,"date":"2010-08-29T02:56:48","date_gmt":"2010-08-29T00:56:48","guid":{"rendered":"http:\/\/mmed.roulleau.net\/?p=72"},"modified":"2010-08-29T02:56:48","modified_gmt":"2010-08-29T00:56:48","slug":"mythtv-les-ssd-et-le-demarrage-trop-rapide","status":"publish","type":"post","link":"https:\/\/mmed.roulleau.net\/?p=72","title":{"rendered":"MythTV, les SSD et le d\u00e9marrage trop rapide"},"content":{"rendered":"<p>Souvent, les nouvelles technologies ont des probl\u00e8mes de jeunesse. Fr\u00e9quemment, elles n&rsquo;apportent pas vraiment tous les b\u00e9n\u00e9fices auxquelles on s&rsquo;attendait. Et parfois m\u00eame, elles marchent trop bien.<\/p>\n<p>La dr\u00f4le d&rsquo;exp\u00e9rience que j&rsquo;ai eu l&rsquo;occasion de vivre avec un SSD fait partie de ce dernier cas.<\/p>\n<p>Un des avantages du disque SSD, bien connu et qui fait baver de nombreux adeptes des benchmark, est la rapidit\u00e9 de d\u00e9marrage du syst\u00e8me. Dans le contexte d&rsquo;un PC Home Cinema, cette caract\u00e9ristique en fait un v\u00e9ritable \u00ab\u00a0must-have\u00a0\u00bb, un petit plus pouvant drastiquement am\u00e9liorer le <a href=\"http:\/\/en.wikipedia.org\/wiki\/Wife_acceptance_factor\">WAF<\/a>. C&rsquo;est donc tout naturellement que, apr\u00e8s l&rsquo;achat, j&rsquo;ai pris un plaisir non d\u00e9nu\u00e9 de fiert\u00e9 pu\u00e9ril \u00e0 d\u00e9couvrir que mon syst\u00e8me pouvait \u00eatre \u00ab\u00a0pr\u00eat\u00a0\u00bb (frontend MythTV lanc\u00e9) en moins de 20 secondes, d\u00e9part arr\u00eat\u00e9 depuis grub, et ce sans optimisation particuli\u00e8re et alors m\u00eame que j&rsquo;utilise un environnement de bureau plut\u00f4t lourd (KDE). Bref, tout \u00e0 fait ce que j&rsquo;attendais.<\/p>\n<p>Mais oh, surprise, les d\u00e9mons de l&rsquo;informatique ont d\u00e9termin\u00e9 qu&rsquo;il \u00e9tait important de me fournir mati\u00e8re \u00e0 article, et ont donc introduit un effet de bord particuli\u00e8rement vicieux : mon syst\u00e8me d\u00e9marre parfois trop vite. Ou plus exactement, MythTV se lance trop rapidement ! Alors m\u00eame que je ne suis pas pass\u00e9 au massivement parall\u00e8le Upstart, restant fid\u00e8le au bon vieux init de System V que je ma\u00eetrise bien, le d\u00e9marrage pourtant essentiellement s\u00e9quentiel de mon syst\u00e8me arrive quand m\u00eame \u00e0 faire des siennes. J&rsquo;explique :<\/p>\n<p>Sympt\u00f4me : le vilain \u00e9cran me demandant de rentrer les param\u00e8tres du backend \u00e0 la main appara\u00eet une fois sur deux, car le backend mentionn\u00e9 dans la configuration n&rsquo;est pas joignable.<br \/>\nCause : l&rsquo;interface r\u00e9seau est trop lente \u00e0 se rendre disponible, les logiciels sont charg\u00e9s bien plus vite que la normale, et les requ\u00eates TCP \u00e0 destination d&rsquo;autres machines de mon r\u00e9seau local n&rsquo;aboutissent parfois\u00a0 pas au moment du d\u00e9marrage.<br \/>\nRem\u00e8de : un petit script <em>quick-and-dirty<\/em> super simple qui ping ma machine principale avant de lancer MythTV. Il suffit ensuite d&rsquo;appeler ce script par votre lanceur habituel en lieu et place du lanceur du frontend MythTV.<\/p>\n<pre>#!\/bin\/bash\n\nkillall mythfrontend\nkillall mythwelcome\n\nping -c2 192.168.0.1 &gt; \/dev\/null\nresult=$?\nwhile [ $result -ne 0 ]\ndo\nsleep 1\n#bonus : vous pouvez glisser ici un petit r\u00e9veil par le r\u00e9seau.\n#wakeonlan -i 192.168.0.255 &lt;adresse_mac&gt;\nping -c2  &gt; \/dev\/null\nresult=$?\ndone\n\nmythfrontend &amp;\n<\/pre>\n<h1>Bonus<\/h1>\n<p>La m\u00eame chose peut \u00eatre valable pour lancer le backend sur une machine trop rapide. Il faut donc adapter le script <em>\/etc\/init.d\/mythbackend<\/em> et ajouter le m\u00eame genre de test simplet.<br \/>\nJe vous offre une petite subtilit\u00e9 gratuite qui m\u00e9rite \u00e0 elle seule cette section bonus : attention \u00e0 ne pas oublier de commenter l&rsquo;\u00e9ventuelle ligne \u00ab\u00a0set -e\u00a0\u00bb ! Celle-ci \u00e0 pour int\u00e9ressante (et d\u00e9testable dans notre cas) particularit\u00e9 de commander l&rsquo;interruption compl\u00e8te du script d\u00e8s lors qu&rsquo;une des commandes n&rsquo;a pas retourner le code ok (z\u00e9ro en bash). Vous vous doutez bien que cette option est invalidante quand on cherche \u00e0 tester par ping une machine susceptible de ne pas r\u00e9pondre.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Souvent, les nouvelles technologies ont des probl\u00e8mes de jeunesse. Fr\u00e9quemment, elles n&rsquo;apportent pas vraiment tous les b\u00e9n\u00e9fices auxquelles on s&rsquo;attendait. Et parfois m\u00eame, elles marchent trop bien. La dr\u00f4le d&rsquo;exp\u00e9rience que j&rsquo;ai eu l&rsquo;occasion de vivre avec un SSD fait partie de ce dernier cas. Un des avantages du disque SSD, bien connu et qui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[13,29,41,43],"_links":{"self":[{"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=\/wp\/v2\/posts\/72"}],"collection":[{"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=72"}],"version-history":[{"count":0,"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=\/wp\/v2\/posts\/72\/revisions"}],"wp:attachment":[{"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=72"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=72"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mmed.roulleau.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}