<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://petaramesh.org/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Ashram de Swâmi Petaramesh - Ubuntu</title>
  <link>http://petaramesh.org/</link>
  <description>Ashram de Swâmi Petaramesh, Grand Guru de la Secte des Adorateurs de Cela.</description>
  <language>fr</language>
  <pubDate>Wed, 15 Oct 2008 20:59:57 +0200</pubDate>
  <copyright>CreativeCommons.org BY-NC-SA 2.0 FR</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Noyau 2.6.27 Ubuntu custom pour Acer Aspire One</title>
    <link>http://petaramesh.org/post/2008/09/01/Noyau-2627-Ubuntu-custom-pour-Acer-Aspire-One</link>
    <guid isPermaLink="false">urn:md5:3be0a0942d255c04bc2b8a4bb16b4613</guid>
    <pubDate>Mon, 01 Sep 2008 17:07:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>Acer Aspire One</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;Tout chaud sorti du four, un beau noyau 2.6.27 &lt;em&gt;Ubuntu custom&lt;/em&gt; pour votre &lt;em&gt;Acer Aspire One&lt;/em&gt; !&lt;/p&gt;


&lt;p&gt;Non, ce billet ne bégaie pas, c'est la même chose, mais dans une version plus récente ;-)&lt;/p&gt;


&lt;p&gt;(Hé non les filles, le billet de fesses est encore reporté à une date ultérieure ;-)&lt;/p&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Mis à jour le 09/09/2008&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;Et c'est donc enfin un 2.6.27 &lt;em&gt;Ubuntu&lt;/em&gt; qui supporte l'ensemble des périphériques de l&lt;em&gt;'Acer Aspire One&lt;/em&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Noyau allégé de tout ce qui est inutile sur un &lt;em&gt;Aspire One&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Optimisé pour cette architecture.&lt;/li&gt;
&lt;li&gt;Boote plus vite qu'un noyau &lt;em&gt;Ubuntu&lt;/em&gt; de série à configuration identique.&lt;/li&gt;
&lt;li&gt;Compilé aussi largement que possible de manière statique, économisant les chargements de modules, et permettant théoriquement (je n'ai pas testé) de booter sans utiliser l&lt;em&gt;'initramfs&lt;/em&gt; pour un boot encore nettement plus rapide.&lt;/li&gt;
&lt;li&gt;Inclut le support du &lt;em&gt;Wi-Fi&lt;/em&gt; de l&lt;em&gt;'Aspire One&lt;/em&gt; sans rien devoir installer d'autre, avec le module &lt;em&gt;ath5k&lt;/em&gt; et non plus le module &lt;em&gt;MadWifi&lt;/em&gt;.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#pnote-1590-1&quot; id=&quot;rev-pnote-1590-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; &lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#pnote-1590-2&quot; id=&quot;rev-pnote-1590-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Inclut le pilote &lt;em&gt;jmb38x_ms&lt;/em&gt; du lecteur de cartes multifonction et devrait supporter les &lt;em&gt;memory stick&lt;/em&gt;.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#pnote-1590-3&quot; id=&quot;rev-pnote-1590-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Inclut le support &lt;em&gt;alsa&lt;/em&gt; du son, qui fonctionne.&lt;/li&gt;
&lt;li&gt;Inclut le module &lt;em&gt;uvcvideo&lt;/em&gt; : La webcam fonctionne.&lt;/li&gt;
&lt;li&gt;Bref, y'a tout qui fonctionne parfaitement chez moi à l'exception dérisoire du voyant du &lt;em&gt;Wi-Fi&lt;/em&gt;, mais je ne garantis rien chez vous ;-)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Installation :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Télécharger les fichiers attachés (noyau, headers), puis :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sudo dpkg -i --force-overwrite linux-image-2.6.27-a1sp008_2.6.27-a1sp008-10.00.Custom_i386.deb linux-headers-2.6.27-a1sp008_2.6.27-a1sp008-10.00.Custom_i386.deb&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eteindre (normalement) la machine, la redémarrer, sélectionner le nouveau noyau.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le fichier de config (qui m'a donné bien de la peine) est également joint pour les curieux qui voudraient l'examiner sans installer le noyo :-}&lt;/p&gt;


&lt;p&gt;Vos retours et commentaires sont les bienvenus.&lt;/p&gt;


&lt;hr /&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Addendum 06/09 :&lt;/strong&gt;&lt;/em&gt; Le pilote &lt;em&gt;Wi-Fi ath5k&lt;/em&gt; fonctionne, mais pas toujours. Il arrive qu'il ne parvienne pas à démarrer la carte &lt;em&gt;Wi-Fi&lt;/em&gt; et se mette à bouffer 100% des ressources du système en essayant de le faire (???).&lt;/p&gt;


&lt;p&gt;J'ai donc compilé un nouveau noyo &lt;code&gt;2.6.27-a1sp010&lt;/code&gt; (ci-dessous) presque semblable au précédent, mais qui comporte à la fois le pilote &lt;em&gt;ath5k&lt;/em&gt; et le pilote &lt;em&gt;MadWifi&lt;/em&gt;,&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#pnote-1590-4&quot; id=&quot;rev-pnote-1590-4&quot;&gt;4&lt;/a&gt;]&lt;/sup&gt; permettant de choisir aisément lequel on veut utiliser, et avec de plus le pilote &lt;em&gt;acer_wmi&lt;/em&gt; que j'avais précédemment oublié (Ooops ;-)&lt;/p&gt;


&lt;p&gt;L'installation se fait comme pour le précédent. Ensuite :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si on veut utiliser le pilote &lt;em&gt;MadWifi&lt;/em&gt; &lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#pnote-1590-5&quot; id=&quot;rev-pnote-1590-5&quot;&gt;5&lt;/a&gt;]&lt;/sup&gt; :
&lt;ul&gt;
&lt;li&gt;Mettre dans le fichier &lt;code&gt;/etc/modules&lt;/code&gt; une ligne &amp;quot;&lt;code&gt;ath_pci&lt;/code&gt;&amp;quot;&lt;/li&gt;
&lt;li&gt;Mettre dans le fichier &lt;code&gt;/etc/modprobe.d/blacklist-local&lt;/code&gt; une ligne &amp;quot;&lt;code&gt;blacklist ath5k&lt;/code&gt;&amp;quot;&lt;/li&gt;
&lt;li&gt;Eteindre la machine, puis la rallumer&lt;/li&gt;
&lt;li&gt;L'interface &lt;em&gt;Wi-Fi&lt;/em&gt; s'appellera alors &lt;em&gt;ath0&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Si on veut utiliser le pilote &lt;em&gt;ath5k&lt;/em&gt; :
&lt;ul&gt;
&lt;li&gt;Mettre dans le fichier &lt;code&gt;/etc/modules&lt;/code&gt; une ligne &amp;quot;&lt;code&gt;ath5k&lt;/code&gt;&amp;quot;&lt;/li&gt;
&lt;li&gt;Mettre dans le fichier &lt;code&gt;/etc/modprobe.d/blacklist-local&lt;/code&gt; une ligne &amp;quot;&lt;code&gt;blacklist ath_pci&lt;/code&gt;&amp;quot;&lt;/li&gt;
&lt;li&gt;Eteindre la machine, puis la rallumer&lt;/li&gt;
&lt;li&gt;L'interface &lt;em&gt;Wi-Fi&lt;/em&gt; s'appellera alors &lt;em&gt;wlan0&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comme ça, chacun peut utiliser le pilote de son choix ;-)&lt;/p&gt;


&lt;hr /&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Addendum 09/09 :&lt;/strong&gt;&lt;/em&gt; Noyau &lt;em&gt;2.6.27-a1sp011&lt;/em&gt;, en attachement. Pratiquement identique au &lt;em&gt;2.6.27-a1sp010&lt;/em&gt;, mais compilé avec l'option &amp;quot;&lt;code&gt;CONFIG_MMC_UNSAFE_RESUME=y&lt;/code&gt;&amp;quot; permettant de conserver (à vos risques et périls) le montage de la carte SD après une suspension / réveil.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;&lt;ins&gt;N.B. :&lt;/ins&gt;&lt;/strong&gt; Les signatures &lt;em&gt;GnuPG&lt;/em&gt; de tous mes noyaux et fichiers de config sont disponibles aux mêmes URLs que les fichiers eux-mêmes, en y ajoutant simplement pour chacun l'extension &amp;quot;&lt;code&gt;.asc&lt;/code&gt;&amp;quot;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#rev-pnote-1590-1&quot; id=&quot;pnote-1590-1&quot;&gt;1&lt;/a&gt;] Il faut donc charger le module &lt;em&gt;ath5k&lt;/em&gt;...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#rev-pnote-1590-2&quot; id=&quot;pnote-1590-2&quot;&gt;2&lt;/a&gt;] On perd au passage (temporairement ? ;-) la gestion de la LED &lt;em&gt;Wi-Fi&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#rev-pnote-1590-3&quot; id=&quot;pnote-1590-3&quot;&gt;3&lt;/a&gt;] Je n'en ai pas, donc je n'ai pas essayé.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#rev-pnote-1590-4&quot; id=&quot;pnote-1590-4&quot;&gt;4&lt;/a&gt;] &lt;code&gt;madwifi-hal-0.10.5.6-r3861-20080903&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/09/01/#rev-pnote-1590-5&quot; id=&quot;pnote-1590-5&quot;&gt;5&lt;/a&gt;] La LED &lt;em&gt;Wi-Fi&lt;/em&gt; pourra alors être utilisée&lt;/p&gt;&lt;/div&gt;</description>
    
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/config-2.6.27-a1sp008"
      length="66839" type="text/plain" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-headers-2.6.27-a1sp008_2.6.27-a1sp008-10.00.Custom_i386.deb"
      length="7217266" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-image-2.6.27-a1sp008_2.6.27-a1sp008-10.00.Custom_i386.deb"
      length="8844762" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-headers-2.6.27-a1sp010_2.6.27-a1sp010-10.00.Custom_i386.deb"
      length="7221482" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-image-2.6.27-a1sp010_2.6.27-a1sp010-10.00.Custom_i386.deb"
      length="9132446" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/config-2.6.27-a1sp010"
      length="67124" type="text/plain" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-headers-2.6.27-a1sp011_2.6.27-a1sp011-10.00.Custom_i386.deb"
      length="7216622" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-image-2.6.27-a1sp011_2.6.27-a1sp011-10.00.Custom_i386.deb"
      length="9115120" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/config-2.6.27-a1sp011"
      length="67124" type="text/plain" />
    
    
          <comments>http://petaramesh.org/post/2008/09/01/Noyau-2627-Ubuntu-custom-pour-Acer-Aspire-One#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/09/01/Noyau-2627-Ubuntu-custom-pour-Acer-Aspire-One#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1590</wfw:commentRss>
      </item>
    
  <item>
    <title>Noyau &quot;Ubuntu&quot; custom pour Acer Aspire One</title>
    <link>http://petaramesh.org/post/2008/08/24/Noyau-Ubuntu-custom-pour-Acer-Aspire-One</link>
    <guid isPermaLink="false">urn:md5:5ccfd799076970ff23c0397f89ce13b5</guid>
    <pubDate>Sun, 24 Aug 2008 15:57:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>Acer Aspire One</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;Tout chaud sorti du four, un beau noyau &lt;em&gt;Ubuntu custom&lt;/em&gt; pour votre &lt;em&gt;Acer Aspire One&lt;/em&gt; !&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;strong&gt;Billet mis à jour le 29/08/2008 :&lt;/strong&gt; Noyau &lt;code&gt;2.6.24-19-a1sp010&lt;/code&gt;, très légèrement amélioré par rapport au précédent.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Voici donc le premier que j'ose sortir en public ;-)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Noyau allégé de tout ce qui est inutile sur un &lt;em&gt;Aspire One&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Optimisé pour cette architecture.&lt;/li&gt;
&lt;li&gt;Boote (au moins) 10 secondes plus vite qu'un noyau &lt;em&gt;Ubuntu&lt;/em&gt; de série à configuration identique.&lt;/li&gt;
&lt;li&gt;Compilé aussi largement que possible de manière statique, économisant les chargements de modules, et permettant théoriquement (je n'ai pas testé) de booter sans utiliser l&lt;em&gt;'initramfs&lt;/em&gt; pour un boot encore nettement plus rapide.&lt;/li&gt;
&lt;li&gt;Inclut le support du &lt;em&gt;Wi-Fi&lt;/em&gt; de l&lt;em&gt;'Aspire One&lt;/em&gt; sans rien devoir installer d'autre.&lt;/li&gt;
&lt;li&gt;Fonctionne parfaitement chez moi, mais je ne garantis rien chez vous ;-)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Manque :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le module &lt;em&gt;uvcvideo&lt;/em&gt; de support de la webcam, qu'il faudra que je compile séparément par la suite (autrement dit, la webcam ne fonctionnera pas avec ce noyau &lt;em&gt;seul&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Installation :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Télécharger les fichiers attachés (noyau, headers), puis :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;sudo dpkg -i linux-image-2.6.24-19-a1sp010_2.6.24-19-a1sp010-10.00.Custom_i386.deb linux-headers-2.6.24-19-a1sp010_2.6.24-19-a1sp010-10.00.Custom_i386.deb&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eteindre (normalement) la machine, la redémarrer, sélectionner le nouveau noyau.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le fichier de config (qui m'a donné bien de la peine) est également joint pour les curieux qui voudraient l'examiner sans installer le noyo :-}&lt;/p&gt;


&lt;p&gt;Vos retours et commentaires sont les bienvenus.&lt;/p&gt;</description>
    
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/config-2.6.24-19-a1sp010"
      length="66301" type="text/plain" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-image-2.6.24-19-a1sp010_2.6.24-19-a1sp010-10.00.Custom_i386.deb"
      length="8313002" type="application/x-debian-package" />
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/kernel/linux-headers-2.6.24-19-a1sp010_2.6.24-19-a1sp010-10.00.Custom_i386.deb"
      length="8855508" type="application/x-debian-package" />
    
    
          <comments>http://petaramesh.org/post/2008/08/24/Noyau-Ubuntu-custom-pour-Acer-Aspire-One#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/08/24/Noyau-Ubuntu-custom-pour-Acer-Aspire-One#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1584</wfw:commentRss>
      </item>
    
  <item>
    <title>Une clé de contact pour votre portable chiffré : Version 1.6</title>
    <link>http://petaramesh.org/post/2008/07/21/Une-cle-de-contact-pour-votre-portable-chiffre-%3A-Version-16</link>
    <guid isPermaLink="false">urn:md5:490252cb2391318d22903d498c62a732</guid>
    <pubDate>Mon, 21 Jul 2008 23:12:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>authentification</category><category>chiffrement</category><category>cryptographie</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;Ce billet est là uniquement pour signaler une mise à jour du script &lt;em&gt;&lt;a href=&quot;http://petaramesh.org/public/arc/projects/cryptsetup/bootkeyscript&quot;&gt;bootkeyscript&lt;/a&gt;&lt;/em&gt; proposé dans mon précédent billet &amp;quot;&lt;a href=&quot;http://petaramesh.org/post/2007/11/29/Une-cle-de-contact-pour-votre-portable-chiffre&quot; hreflang=&quot;fr&quot;&gt;Une clé de contact pour votre portable chiffré&lt;/a&gt;&amp;quot;.&lt;/p&gt;


&lt;p&gt;Avec la version 1.6, il est désormais possible de spécifier la partition où se trouve le fichier-clé déverrouillant le système, non seulement par son &lt;em&gt;device&lt;/em&gt; (i.e. &lt;code&gt;sdb1&lt;/code&gt;) mais également par son &lt;em&gt;label&lt;/em&gt; de filesystem ou son &lt;em&gt;UUID&lt;/em&gt;,&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/07/21/#pnote-1570-1&quot; id=&quot;rev-pnote-1570-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; ce qui permet d'utiliser une fichier-clé sur un périphérique dont le nom est susceptible de changer d'une fois sur l'autre.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/07/21/#rev-pnote-1570-1&quot; id=&quot;pnote-1570-1&quot;&gt;1&lt;/a&gt;] Si le &lt;em&gt;filesystem&lt;/em&gt; contenant le fichier-clé est chiffré &lt;em&gt;LUKS&lt;/em&gt;, il est seulement possible d'utiliser l&lt;em&gt;'UUID&lt;/em&gt; du conteneur &lt;em&gt;LUKS&lt;/em&gt;, mais pas le &lt;em&gt;label&lt;/em&gt; ou l&lt;em&gt;'UUID&lt;/em&gt; du filesystem qui est à l'intérieur.&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/07/21/Une-cle-de-contact-pour-votre-portable-chiffre-%3A-Version-16#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/07/21/Une-cle-de-contact-pour-votre-portable-chiffre-%3A-Version-16#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1570</wfw:commentRss>
      </item>
    
  <item>
    <title>Installation de KUbuntu sur un Acer Aspire One</title>
    <link>http://petaramesh.org/post/2008/07/16/Installation-de-KUbuntu-sur-un-Acer-Aspire-One</link>
    <guid isPermaLink="false">urn:md5:faca53e501dadff336f02443db052df2</guid>
    <pubDate>Wed, 16 Jul 2008 16:31:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>Acer Aspire One</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;&lt;img src=&quot;http://petaramesh.org/public/arc/img/info/2008/.aspire_one_A_sq.jpg&quot; alt=&quot;Acer Aspire One&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;L&lt;em&gt;'Aspire One&lt;/em&gt; est décidément une délicieuse petite machine dont je suis enchanté d'être l'heureux propriétaire.&lt;/p&gt;


&lt;p&gt;Ce qui ne gâche rien, une &lt;em&gt;&lt;a href=&quot;http://www.kubuntu-fr.org/&quot; hreflang=&quot;fr&quot;&gt;Kubuntu&lt;/a&gt; 8.04 Hardy Heron&lt;/em&gt; y tourne comme une horloge.&lt;/p&gt;


&lt;p&gt;Petit tutorial d'installation, &lt;em&gt;non-geeks&lt;/em&gt; passez votre chemin ;-)&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;==&amp;gt; &lt;em&gt;Billet mis à jour le 15 août 2008&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;h3&gt;Avertissement&lt;/h3&gt;


&lt;p&gt;Mon &lt;em&gt;Aspire One&lt;/em&gt; souffre d'un bug de BIOS majeur : Le réglage dans le BIOS d'un &amp;quot;&lt;em&gt;mot de passe superviseur&lt;/em&gt;&amp;quot; rend ensuite tout accès au BIOS impossible : le mot de passe est refusé dans tous les cas de figure. Seule solution, &lt;a href=&quot;http://www.cgsecurity.org/wiki/CmosPwd&quot; hreflang=&quot;fr&quot;&gt;supprimer le mot de passe&lt;/a&gt;, mais si vous vous êtes arrangé entre-temps pour rendre votre machine &lt;em&gt;imbootable&lt;/em&gt;, vous serez totalement coincé. Je vous déconseille donc fortement de définir un mot de passe dans le BIOS, et encore davantage avant d'avoir terminé l'installation de votre système d'exploitation.&lt;/p&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update 17/07 12:34 :&lt;/strong&gt;&lt;/em&gt; Je me suis souvenu d'un vieux BIOS qui m'avait fait le même coup dans le temps, et j'ai finalement réussi à régler un mot de passe BIOS &amp;quot;superviseur&amp;quot; qui fonctionne en n'utilisant que des chiffres de la rangée du haut du clavier, &lt;em&gt;sans&lt;/em&gt; la touche [Majuscule] - puisque c'est du QWERTY lors du boot, et que l'emploi de la touche [Majuscule] n'est vraiment pas conseillé avec les mots de passe de BIOS...&lt;/p&gt;


&lt;h3&gt;Créer le support d'installation&lt;/h3&gt;


&lt;p&gt;Télécharger une image ISO de &lt;a href=&quot;http://www.kubuntu-fr.org/telechargement&quot; hreflang=&quot;fr&quot;&gt;CD Kubuntu Desktop live standard&lt;/a&gt;, et la transférer sur une clé USB rendue bootable avec l'utilitaire &lt;a href=&quot;http://startx.ro/sugar/&quot; hreflang=&quot;en&quot;&gt;isotostick.sh&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Installation de Kubuntu&lt;/h3&gt;


&lt;p&gt;Démarrer normalement l'installation de Kubuntu, en choisissant le partitionnement manuel du disque SSD.&lt;/p&gt;


&lt;p&gt;J'ai personnellement installé ça sous forme &lt;a href=&quot;http://petaramesh.org/post/2007/11/21/Ubuntu-%3A-Chiffrement-integral-du-disque-dur-dun-portable&quot; hreflang=&quot;fr&quot;&gt;entièrement chiffrée&lt;/a&gt; avec &lt;a href=&quot;http://petaramesh.org/post/2007/11/29/Une-cle-de-contact-pour-votre-portable-chiffre&quot; hreflang=&quot;fr&quot;&gt;clé de contact&lt;/a&gt;, mais je décris ici une installation plus ordinaire.&lt;/p&gt;


&lt;h4&gt;Suggestion de partitionnement du disque SSD:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;sda1 :&lt;/strong&gt; &lt;code&gt;/boot&lt;/code&gt;, &lt;em&gt;ext2&lt;/em&gt;, 96 Mo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sda2 :&lt;/strong&gt;  &lt;code&gt;/&lt;/code&gt; (racine du filesystem), &lt;em&gt;ext2&lt;/em&gt;, toute la place disponible moins 1 Go (le disque est trop petit pour qu'il soit sensé de perdre de la place en créant de multiples partitions...)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sda3 :&lt;/strong&gt; Swap, 1 Go&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On utilisera un filesystem &lt;em&gt;ext2&lt;/em&gt; plutôt qu&lt;em&gt;'ext3&lt;/em&gt; sur le SSD pour économiser les écritures de journal, lentes sur ce périphérique, et susceptible de l'user plus rapidement (les mémoires flash utilisées pour les disques SSD ayant un nombre de cycles d'écriture limité).&lt;/p&gt;


&lt;p&gt;Installer ensuite normalement.&lt;/p&gt;


&lt;p&gt;Après installation d'une Ubuntu / Kubuntu standard, les seules choses qui ne marchent pas sur l'Acer Aspire One sont :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le Wi-Fi&lt;/li&gt;
&lt;li&gt;Les lecteur de cartes mémoires&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;...ce qui est quand même embêtant.&lt;/p&gt;


&lt;h3&gt;Premières modifications&lt;/h3&gt;


&lt;h4&gt;/boot/grub/menu.lst : Sélection du &lt;em&gt;timer&lt;/em&gt;&lt;/h4&gt;


&lt;p&gt;On accélérera légèrement le boot en spécifiant le timer correct à utiliser : &amp;quot;&lt;code&gt;clocksource=hpet&lt;/code&gt;&amp;quot; à ajouter tant dans la ligne pseudo-commentée &amp;quot;&lt;code&gt;defoptions&lt;/code&gt;&amp;quot; que dans les lignes &amp;quot;kernel&amp;quot; correspondant à chaque noyau.&lt;/p&gt;


&lt;pre&gt;# defoptions=clocksource=hpet quiet splash&lt;/pre&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;pre&gt;kernel /vmlinuz-2.6.24-19-generic root=/dev/sda2 ro clocksource=hpet quiet splash&lt;/pre&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update 12/08/2008 :&lt;/strong&gt;&lt;/em&gt; De même, on commencera à résoudre (partiellement...) le problème du &lt;em&gt;SSD lent&lt;/em&gt; de l&lt;em&gt;'Aspire One&lt;/em&gt; en réglant le noyau pour l'utilisation de l&lt;em&gt;'IO scheduler &amp;quot;deadline&amp;quot;&lt;/em&gt;, en ajoutant, dans le même fichier &lt;code&gt;menu.lst&lt;/code&gt;, tant dans la ligne pseudo-commentée &amp;quot;&lt;code&gt;kopt&lt;/code&gt;&amp;quot; que dans les lignes &amp;quot;kernel&amp;quot; correspondant à chaque noyau :&lt;/p&gt;


&lt;pre&gt;# kopt=root=/dev/sda2 ro elevator=deadline&lt;/pre&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;pre&gt;kernel /vmlinuz-2.6.24-19-generic root=/dev/sda2 ro elevator=deadline clocksource=hpet quiet splash&lt;/pre&gt;


&lt;h4&gt;Script de gestion du lecteur de cartes SD JMicron&lt;/h4&gt;


&lt;p&gt;J'ai récupéré le script &lt;a href=&quot;http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/jmb38x_d3e.sh&quot;&gt;jmb38x_d3e.sh&lt;/a&gt; sur la &lt;em&gt;Linpus&lt;/em&gt; Linux fournie avec la machine.&lt;br /&gt;
Installer ce script dans le répertoire /usr/local/sbin, et le rendre exécutable (&lt;code&gt;chmod 754 /usr/local/sbin/jmb38x_d3e.sh&lt;/code&gt;). Nous l'utiliserons par la suite.&lt;/p&gt;


&lt;h4&gt;Accélération de l'accès au disque SSD&lt;/h4&gt;


&lt;p&gt;&lt;em&gt;(Paragraphe ajouté le 12/08/2008, modifié le 14/08)&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Le disque SSD de l&lt;em&gt;'Aspire One&lt;/em&gt; étant notoirement et tristement lent, ce qui se manifeste par des &amp;quot;blocages&amp;quot; périodiques du système de quelques secondes durant les phases d'écriture intense, nous allons tenter d'optimiser la méthode d'accès à ce disque.&lt;/p&gt;


&lt;p&gt;Les paramètres que je propose ci-dessous sont encore &lt;em&gt;expérimentaux&lt;/em&gt;, je les modifie régulièrement un peu ici ou là pour tenter d'améliorer les performances autant que faire se peut. Vous pouvez tester vos propres valeurs, celles-ci sont assez efficaces...&lt;/p&gt;


&lt;p&gt;Pour cela, créons un script &lt;code&gt;/usr/local/sbin/slowvm.sh&lt;/code&gt; dans lequel nous mettrons :&lt;/p&gt;

&lt;pre&gt;
#! /bin/bash
#
# Swami Petaramesh, 2008/08/14
#
# slowvm.sh (pour Acer Aspire One)

# Controle de la LED Wi-Fi de l'Aspire One
echo 3 &amp;gt;/proc/sys/dev/wifi0/ledpin
echo 3 &amp;gt;/proc/sys/dev/wifi0/softled

# SP : Economisons le SSD
sysctl -q -w vm.swappiness=1            # Strongly discourage swapping
sysctl -q -w vm.vfs_cache_pressure=50   # Don't shrink the inode cache aggressively

# Utilise l'I/O Scheduler &amp;quot;deadline&amp;quot; pour privilegier les lectures
# aux dépens des écritures sur le SSD lentissime de l'Aspire One
echo deadline &amp;gt;/sys/block/sda/queue/scheduler
echo 512 &amp;gt;/sys/block/sda/queue/read_ahead_kb
echo 256 &amp;gt;/sys/block/sda/queue/nr_requests
echo 0 &amp;gt;/sys/block/sda/queue/iosched/front_merges
echo 50 &amp;gt;/sys/block/sda/queue/iosched/read_expire
echo 15000 &amp;gt;/sys/block/sda/queue/iosched/write_expire
echo 128 &amp;gt;/sys/block/sda/queue/iosched/writes_starved

# Evite les ecritures sur disque et les concentre
# mais pas trop...
echo 60 &amp;gt; /proc/sys/vm/dirty_ratio
echo 40 &amp;gt; /proc/sys/vm/dirty_background_ratio
echo 6000 &amp;gt; /proc/sys/vm/dirty_expire_centisecs
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs

exit 0
&lt;/pre&gt;


&lt;p&gt;Rendons maintenant ce script exécutable : &lt;code&gt;chmod 755 /usr/local/sbin/slowvm.sh&lt;/code&gt;&lt;/p&gt;


&lt;h4&gt;Modification de &lt;code&gt;/etc/rc.local&lt;/code&gt;&lt;/h4&gt;


&lt;p&gt;&lt;em&gt;(Paragraphe mis à jour le 12/08/2008)&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Nous allons ajouter à la fin de &lt;code&gt;/etc/rc.local&lt;/code&gt; (avant la ligne &amp;quot;&lt;code&gt;exit 0&lt;/code&gt;&amp;quot;) un ensemble d'instructions destinées à diminuer les écritures sur le disque SSD (par appel du script précédent), économiser l'énergie pour augmenter l'autonomie de batterie, et activer le lecteur de cartes mémoire.&lt;/p&gt;


&lt;p&gt;Ajouter les lignes :&lt;/p&gt;

&lt;pre&gt;
# SP : Economisons le SSD
/usr/local/sbin/slowvm.sh

# SP: d'apres le rc.last.ctrl de Linpus
echo ondemand &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand &amp;gt; /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

[ -L /sys/bus/usb/devices/1-5/power/level ] &amp;amp;&amp;amp; echo auto &amp;gt; /sys/bus/usb/devices/1-5/power/level
[ -L /sys/bus/usb/devices/5-5/power/level ] &amp;amp;&amp;amp; echo auto &amp;gt; /sys/bus/usb/devices/5-5/power/level

# SP: Accelere l'hibernation et reduit la taille de l'image
echo 0 &amp;gt; /sys/power/image_size

# SP: D'apres Linpus, pour lecteur de carte MMC multiformat
setpci -d 197b:2381 AE=47
nice /usr/local/sbin/jmb38x_d3e.sh &amp;amp;

# SP: D'apres Linpus
/usr/bin/setkeycodes e025 130
/usr/bin/setkeycodes e026 131
/usr/bin/setkeycodes e027 132
/usr/bin/setkeycodes e029 133
/usr/bin/setkeycodes e071 134
/usr/bin/setkeycodes e072 135
/usr/bin/setkeycodes e055 159
/usr/bin/setkeycodes e056 158
# /SP
&lt;/pre&gt;


&lt;h4&gt;Réglages ACPI&lt;/h4&gt;


&lt;p&gt;&lt;em&gt;(Paragraphe ajouté le 12/08/2008, mis à jour le 15/08)&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Nous allons enfin appeler le script &lt;code&gt;/usr/local/sbin/slowvm.sh&lt;/code&gt; lorsque le système passe sur batterie ou sur secteur, faute de quoi le noyau pourrait remettre des valeurs par défaut moins performantes. Pour cela, créons simplement des liens symboliques :&lt;/p&gt;


&lt;pre&gt;ln -sv /usr/local/sbin/slowvm.sh /etc/acpi/ac.d/99-slowvm.sh
ln -sv /usr/local/sbin/slowvm.sh /etc/acpi/battery.d/99-slowvm.sh
ln -sv /usr/local/sbin/slowvm.sh /etc/acpi/resume.d/99-slowvm.sh&lt;/pre&gt;


&lt;h4&gt;Modification de &lt;code&gt;/etc/sysctl.conf&lt;/code&gt;&lt;/h4&gt;


&lt;p&gt;&lt;em&gt;(Paragraphe mis à jour le 14/08/2008)&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Ajouter les lignes suivantes à la fin de &lt;code&gt;/etc/sysctl.conf&lt;/code&gt; :&lt;/p&gt;

&lt;pre&gt;
# decrease swap usage to maximize SSD life
vm.swappiness = 1
# Don't shrink the inode cache aggressively
vm.vfs_cache_pressure = 50

# Controle de la LED Wi-Fi de l'Aspire One
dev.wifi0.ledpin = 3
dev.wifi0.softled = 3
&lt;/pre&gt;


&lt;h4&gt;Modification de &lt;code&gt;/etc/initramfs-tools/modules&lt;/code&gt;&lt;/h4&gt;


&lt;p&gt;Ajouter les lignes :&lt;/p&gt;

&lt;pre&gt;
fuse
softcursor
bitblit
font
tileblit
fbcon
fan
processor
thermal
usbcore
uhci_hcd
ehci_hcd
libata
ata_generic
ata_piix
pata_acpi
scsi_mod
sd_mod
sg
usb_storage
mmc_block
sdhci
mmc_core
pci_hotplug
pciehp
dm_mod
dm_crypt
blkcipher
cbc
aes_i586
sha256_generic
mbcache
ext2
pcspkr
button
battery
ac
wmi_acer
evdev
led_class
acer_acpi
cpufreq_conservative
freq_table
cpufreq_ondemand
cpufreq_powersave
cpufreq_stats
cpufreq_userspace
acpi_cpufreq
r8169
&lt;/pre&gt;


&lt;h4&gt;Modificaton de &lt;code&gt;/etc/initramfs-tools/initramfs.conf&lt;/code&gt;&lt;/h4&gt;


&lt;p&gt;Modififier la ligne &amp;quot;&lt;code&gt;MODULES=most&lt;/code&gt;&amp;quot; en &amp;quot;&lt;code&gt;MODULES=dep&lt;/code&gt;&amp;quot;&lt;/p&gt;


&lt;h4&gt;Régénération de l&lt;em&gt;'initramfs&lt;/em&gt;&lt;/h4&gt;


&lt;p&gt;Exécuter : &lt;code&gt;sudo update-initramfs -u&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Redémarrer ensuite la machine.&lt;/p&gt;


&lt;h3&gt;Son&lt;/h3&gt;


&lt;p&gt;Pour que le son continue de fonctionner après réveil d'une &lt;em&gt;suspension&lt;/em&gt; ou d'une &lt;em&gt;hibernation&lt;/em&gt;, ajouter à la fin du fichier &lt;code&gt;/etc/modprobe.d/alsa-base&lt;/code&gt; la ligne :&lt;/p&gt;


&lt;pre&gt;options snd-hda-intel model=acer&lt;/pre&gt;


&lt;p&gt;(Merci à &amp;quot;&lt;em&gt;EricNevers&lt;/em&gt;&amp;quot; pour cette info donnée dans le &lt;a href=&quot;http://petaramesh.org/post/2008/07/16/#c57431&quot; hreflang=&quot;fr&quot;&gt;commentaire #52&lt;/a&gt; et que j'inclus au billet pour plus de visibilité)&lt;/p&gt;


&lt;h3&gt;Webcam&lt;/h3&gt;


&lt;p&gt;La webcam doit fonctionner. Elle peut être essayée facilement avec le programme &amp;quot;&lt;em&gt;ucview&lt;/em&gt;&amp;quot; que l'on peut installer comme suit :&lt;/p&gt;


&lt;pre&gt;wget -q http://www.unicap-imaging.org/downloads/public.key -O- | sudo apt-key add -&lt;/pre&gt;


&lt;p&gt;Ouvrir ensuite le gestionnaire de paquetages &lt;em&gt;Adept&lt;/em&gt;, choisir de modifier les dépôts, et dans les &amp;quot;&lt;em&gt;dépôts logiciels de tierces-parties&lt;/em&gt;&amp;quot;, ajouter la ligne :&lt;/p&gt;


&lt;pre&gt;deb http://unicap-imaging.org/packages hardy main contrib&lt;/pre&gt;


&lt;p&gt;Installer ensuite le package &amp;quot;&lt;code&gt;ucview&lt;/code&gt;&amp;quot;. On pourra alors faire joujou avec la webcam.&lt;/p&gt;


&lt;h3&gt;Wi-Fi Atheros&lt;/h3&gt;


&lt;p&gt;&lt;em&gt;(Paragraphe mis à jour le 12/08/2008)&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;L&lt;em&gt;'Aspire One&lt;/em&gt; est équipé d'une carte Wi-FI Atheros AR5BXB63 (selon l'étiquette collée dessous) qui fait partie de la famille AR5007, présente sur de très nombreux portables et connue pour ne pas fonctionner brute de décoffrage sous Ubuntu.&lt;/p&gt;


&lt;p&gt;Elle est reconnue par &amp;quot;&lt;code&gt;lspci&lt;/code&gt;&amp;quot; comme :&lt;/p&gt;

&lt;pre&gt;Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)&lt;/pre&gt;


&lt;p&gt;...et avec &amp;quot;&lt;code&gt;lspci -n&lt;/code&gt;&amp;quot; :&lt;/p&gt;

&lt;pre&gt;03:00.0 0200: 168c:001c (rev 01)&lt;/pre&gt;


&lt;p&gt;Il faudra compiler un package &lt;em&gt;madwifi&lt;/em&gt; spécialement patché, à partir de ses sources : &lt;code&gt;madwifi-hal-0.10.5.6-r3835-20080801&lt;/code&gt; , que l'on se procurera ici : &lt;a href=&quot;http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/&quot;&gt;http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Installer d'abord les package &amp;quot;&lt;code&gt;build-essential&lt;/code&gt;&amp;quot; et &amp;quot;&lt;code&gt;libc6-dev&lt;/code&gt;&amp;quot;:&lt;/p&gt;


&lt;pre&gt;sudo aptitude install build-essential libc6-dev&lt;/pre&gt;


&lt;p&gt;Décompresser l'archive &lt;code&gt;madwifi-hal-0.10.5.6-r3835-20080801&lt;/code&gt; dans un répertoire de son choix, et se rendre (comme  &amp;quot;root&amp;quot;, après &amp;quot;&lt;code&gt;sudo -s&lt;/code&gt;&amp;quot;) dans le répertoire obtenu, puis :&lt;/p&gt;


&lt;pre&gt;cd scripts
./madwifi-unload
./find-madwifi-modules.sh -r
cd ..
make install&lt;/pre&gt;


&lt;p&gt;Une fois ceci fait, rebooter la machine, ensuite de quoi le Wi-Fi devrait fonctionner.&lt;/p&gt;


&lt;p&gt;Conservez le répertoire source de &lt;em&gt;madwifi&lt;/em&gt; sur la machine : à chaque fois que vous mettrez à jour votre noyau, ceci écrasera vos pilotes Wi-Fi, et il faudra en refaire alors l'installation, ce qui ne prend que quelques instants.&lt;/p&gt;


&lt;p&gt;&lt;em&gt;(Paragraphe partiellement modifié à la suite d'un  &lt;a href=&quot;http://petaramesh.org/post/2008/07/16/#c57415&quot; hreflang=&quot;fr&quot;&gt;commentaire #51&lt;/a&gt; de &amp;quot;geo92&amp;quot;.)&lt;/em&gt;&lt;/p&gt;


&lt;h3&gt;Lecteurs de cartes mémoires&lt;/h3&gt;


&lt;p&gt;L&lt;em&gt;'Aspire One&lt;/em&gt; est équipé d'un lecteur &lt;em&gt;JMicron JMB38X&lt;/em&gt; :&lt;/p&gt;

&lt;pre&gt;
04:00.0 System peripheral: JMicron Technologies, Inc. Unknown device 2382
        Subsystem: JMicron Technologies, Inc. Unknown device 2382
        Flags: fast devsel, IRQ 255
        Memory at 74100000 (32-bit, non-prefetchable) [disabled] [size=256]
        [virtual] Expansion ROM at 73100000 [disabled] [size=64K]
        Capabilities: [a4] Power Management version 3
        Capabilities: [80] Express Endpoint IRQ 0
        Capabilities: [94] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-

04:00.2 SD Host controller: JMicron Technologies, Inc. Unknown device 2381 (prog-if 01)
        Subsystem: JMicron Technologies, Inc. Unknown device 2381
        Flags: bus master, fast devsel, latency 0, IRQ 19
        Memory at 74100100 (32-bit, non-prefetchable) [size=256]
        Capabilities: [a4] Power Management version 3
        Capabilities: [80] Express Endpoint IRQ 0
        Capabilities: [94] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-

04:00.3 System peripheral: JMicron Technologies, Inc. Unknown device 2383
        Subsystem: JMicron Technologies, Inc. Unknown device 2383
        Flags: fast devsel, IRQ 255
        Memory at 74100200 (32-bit, non-prefetchable) [disabled] [size=256]
        Capabilities: [a4] Power Management version 3



        Capabilities: [80] Express Endpoint IRQ 0
        Capabilities: [94] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-

04:00.4 System peripheral: JMicron Technologies, Inc. Unknown device 2384
        Subsystem: JMicron Technologies, Inc. Unknown device 2384
        Flags: fast devsel, IRQ 255
        Memory at 74100300 (32-bit, non-prefetchable) [disabled] [size=256]
        Capabilities: [a4] Power Management version 3
        Capabilities: [80] Express Endpoint IRQ 0
        Capabilities: [94] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
&lt;/pre&gt;


&lt;p&gt;Malheureusement, le module pilote de ce lecteur n'est disponible qu'à partir des noyaux 2.6.25, or &lt;em&gt;Ubuntu Hardy&lt;/em&gt; possède un noyau 2.6.24.&lt;br /&gt;
Le noyau Linux &lt;em&gt;Linpus&lt;/em&gt; fourni avec l&lt;em&gt;'Acer Aspire One&lt;/em&gt; est un noyau spécialement patché pour y ajouter ce module, mais je n'ai pas réussi à en trouver le code source.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/07/16/#pnote-1567-1&quot; id=&quot;rev-pnote-1567-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;&lt;br /&gt;
J'ai fait des essais peu concluants avec des noyaux 2.6.26, y compris des essais de compilation de noyaux custom, mais le module &lt;code&gt;jmb38x&lt;/code&gt; obtenu semble différent et moins complet que celui fourni avec l&lt;em&gt;'Aspire One&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Quoiqu'il en soit, avec les modifications déjà indiquées plus haut, les lecteurs de cartes SD devraient fonctionner (ils fonctionnent chez moi) avec le pilote &lt;em&gt;sdhci&lt;/em&gt;, mais il sera probablement impossible de lire des &lt;em&gt;Memory sticks&lt;/em&gt; ou des cartes &lt;em&gt;XD&lt;/em&gt; dans le lecteur multiformat. Je n'ai pas essayé : je n'en avais pas sous la main.&lt;/p&gt;


&lt;p&gt;A noter une particularité des lecteurs JMicron : Il s'agit de lecteurs &lt;em&gt;PCI Hotplug&lt;/em&gt;, qui ne sont pas visibles dans &lt;code&gt;lspci&lt;/code&gt; &lt;em&gt;tant qu'une carte n'a pas été insérée dedans&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Pour une raison foireuse quelconque (probablement le manque du pilote &lt;em&gt;jmb38x&lt;/em&gt; complet), seul le &lt;em&gt;premier&lt;/em&gt; lecteur dans lequel une carte est insérée sera reconnu. Si on insère une carte dans le deuxième lecteur, pour que les deux cartes soient simultanément reconnues, il faudra faire :&lt;/p&gt;


&lt;pre&gt;sudo rmmod sdhci
sudo modprobe sdhci&lt;/pre&gt;


&lt;p&gt;Attention, la première carte ne doit pas être &amp;quot;montée&amp;quot; quand on fait cela !&lt;/p&gt;


&lt;h3&gt;Installer une extension mémoire d'un Go&lt;/h3&gt;


&lt;p&gt;Bien qu'Ubuntu puisse tourner dans 512 Mo de RAM, on est quand même beaucoup plus confortable avec plus, et surtout, on sollicitera moins le swap, ce qui rendra la machine plus rapide et ménagera la durée de vie du disque SSD, pour une vingtaine d'Euros et quelques dizaines de minutes de pure terreur et de sueurs froides ;-)&lt;/p&gt;


&lt;p&gt;L'installation d'une extension mémoire sur cette machine est extrêmement délicate, puisqu'elle nécessite le démontage intégral de la machine et la dépose de sa carte mère. Les connecteurs &lt;acronym title=&quot;Zero Insertion Force&quot;&gt;ZIF&lt;/acronym&gt; qu'il sera nécessaire de débrancher pour cela sont &lt;strong&gt;minuscules et extrêmement fragiles, il faut faire pivoter leur partie marron vers le haut et non pas la tirer dans le sens de la nappe pour déconnecter les nappes.&lt;/strong&gt; Le démontage est risqué et &lt;ins&gt;annule certainement la garantie de la machine&lt;/ins&gt;, vous avez été prévenu ! Ne venez pas pleurer chez moi si vous massacrez votre &lt;em&gt;Aspire One&lt;/em&gt; tout neuf !&lt;/p&gt;


&lt;p&gt;J'ai installé dans cette machine une barrette de SO-DIMM Kingston 1 Go PC-5300 (667 MHz) qui est impeccablement supportée.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/07/16/#pnote-1567-2&quot; id=&quot;rev-pnote-1567-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;


&lt;p&gt;On peut trouver &lt;a href=&quot;http://www.blogeee.net/2008/07/08/lacer-aspire-one-mis-a-nu/&quot; hreflang=&quot;fr&quot;&gt;chez blogeee.net&lt;/a&gt; d'intéressantes photos de la machine démontée  ...mais pas la manière de le faire.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Mode d'emploi :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Retirer la batterie.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Déposer le clavier :&lt;/strong&gt; C'est une des étapes très délicates, et difficile à faire sans un peu &amp;quot;marquer&amp;quot; la machine. A l'aide d'un tournevis plat très fin, repousser les trois &amp;quot;clips&amp;quot; qui tiennent le clavier en haut de celui-ci, et dégager soigneusement le haut du clavier, puis le retirer. Déconnecter sa nappe du connecteur ZIF en basculant très délicatement la partie marron de celui-ci vers le haut. C'est plus que fragile !&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Déposer les vis sous le boîtier :&lt;/strong&gt; Déposer toutes les vis visibles. Attention, cette machine est montée avec de vis de nombreuses tailles différentes. En démontant, prendre soin de bien noter &amp;quot;quelle vis va dans quel trou&amp;quot;. Il y a trois vis dans le compartiment de batterie, et deux sous les patins caoutchouc (&amp;quot;pieds&amp;quot;) arrières de la machine (côté charnière de l'écran), que l'on pourra ensuite recoller si on les a très soigneusement décollés.&lt;/li&gt;
&lt;li&gt;Ouvrir à nouveau la machine, et &lt;strong&gt;ôter toutes les vis situées sous l'emplacement du clavier et repérées par un triangle.&lt;/strong&gt; Une de ces vis est couleur inox. Là aussi, bien noter quelle vis allait dans quel trou !&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Déconnecter&lt;/strong&gt; extrêmement soigneusement &lt;strong&gt;la nappe de connexion du touchpad&lt;/strong&gt; de son connecteur ZIF.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Déclipser&lt;/strong&gt; ensuite &lt;strong&gt;le haut du boîtier&lt;/strong&gt;, et l'ouvrir.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Démonter la vis retenant la carte Wi-Fi&lt;/strong&gt;, et déconnecter celle-ci.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Déconnecter&lt;/strong&gt; très soigneusement &lt;strong&gt;la nappe de la carte fille&lt;/strong&gt; de son connecteur ZIF.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Débrancher le connecteur du câble audio.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ôter les vis restantes retenant la carte mère&lt;/strong&gt; de manière à pouvoir soulever celle-ci.&lt;/li&gt;
&lt;li&gt;Il n'est pas nécessaire d'enlever complètement la carte mère, seulement de pouvoir &lt;strong&gt;la soulever assez pour pouvoir insérer la barrette de RAM dans son slot&lt;/strong&gt;, situé dessous.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remonter ensuite l'ensemble&lt;/strong&gt; dans l'ordre inverse des opérations. Veiller à bien ranger le câble d'antenne Wi-Fi qui ne doit pas être &lt;em&gt;sur&lt;/em&gt; les cartes, sinon on ne pourra pas refermer correctement la machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et voilà une machine avec 1,5 Go de RAM !&lt;/p&gt;


&lt;p&gt;C'est à peu près toutes les notes que j'avais sous le coude pour l'instant ;-)&lt;/p&gt;


&lt;hr /&gt;


&lt;p&gt;&lt;strong&gt;&lt;em&gt;Addendum 19 juillet :&lt;/em&gt; Les performances du SSD de l&lt;em&gt;'Aspire One&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Je trouve depuis le début le SSD de l&lt;em&gt;'Aspire One&lt;/em&gt; assez lent, particulièrement en écriture, avec des &amp;quot;figés&amp;quot; périodiques de quelques secondes du système, voyant disque allumé fixe.&lt;br /&gt;
Ma configuration est particulière avec une installation entièrement chiffrée sur LVM LUKS, AES 128, et il n'est donc pas évident de faire la part des choses entre la vitesse intrinsèque du SSD et l&lt;em&gt;'overhead&lt;/em&gt; imposé au processeur par le chiffrement / déchiffement à la volée.&lt;/p&gt;


&lt;p&gt;À titre indicatif, voici ce que me donnent quelques essais en lecture / écriture :&lt;/p&gt;


&lt;h5&gt;Test de lecture &lt;em&gt;hdparm&lt;/em&gt;&lt;/h5&gt;

&lt;pre&gt;
# hdparm -tT /dev/sda
/dev/sda:
 Timing cached reads:   1186 MB in  2.00 seconds = 593.20 MB/sec
 Timing buffered disk reads:   76 MB in  3.06 seconds =  24.83 MB/sec
&lt;/pre&gt;


&lt;p&gt;La vitesse de lecture de 24.83 MB/sec semble compatible avec ce que j'observe du fonctionnement de la machine, vitesse à laquelle il faut rajouter les avantages spécifiques au SSD : Temp de démarrage nul, temps de &lt;em&gt;seek&lt;/em&gt; nul, ce qui donne des performances pratiques en lecture supérieures à celles de la plupart des disques durs traditionnels de portables.&lt;/p&gt;


&lt;h5&gt;Tests d'écriture réels (à travers la couche de chiffrement, donc avec l&lt;em&gt;'overhead&lt;/em&gt;)&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Création sur disque d'un fichier de 100 Mo&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
$ time dd if=/dev/zero of=dummy bs=1M count=100; time sync
100+0 enregistrements lus
100+0 enregistrements écrits
104857600 octets (105 MB) copiés, 0,337884 s, 310 MB/s

real    0m0.351s
user    0m0.004s
sys     0m0.336s
&lt;/pre&gt;


&lt;p&gt;=&amp;gt; La machine &amp;quot;rend la main&amp;quot; au bout de 0,35 seconde&lt;/p&gt;

&lt;pre&gt;
real    0m9.865s
user    0m0.008s
sys     0m0.004s
&lt;/pre&gt;


&lt;p&gt;=&amp;gt; L'écriture réelle sur disque (vidage du cache du noyau) prend 9,67 secondes supplémentaires&lt;/p&gt;


&lt;p&gt;Le débit global d'écriture sur disque SSD est donc de ~= 9,79 Mo/sec. pour une fichier de 100 Mo, chiffrement inclus.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Création sur disque d'un fichier de 1000 Mo&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
$ time dd if=/dev/zero of=dummy bs=1M count=1000; time sync
1000+0 enregistrements lus
1000+0 enregistrements écrits
1048576000 octets (1,0 GB) copiés, 127,92 s, 8,2 MB/s

real    2m7.930s
user    0m0.012s
sys     0m3.716s
&lt;/pre&gt;


&lt;p&gt;=&amp;gt; La machine &amp;quot;rend la main&amp;quot; au bout de 2 minutes 8 secondes. On voit qu'on a dépassé le cache en écriture du noyau (avec 1,5 Go de RAM), et qu'on est donc impacté par la vitesse d'écriture réelle sur le disque.&lt;/p&gt;

&lt;pre&gt;
real    1m15.527s
user    0m0.000s
sys     0m0.008s
&lt;/pre&gt;


&lt;p&gt;=&amp;gt; L'écriture réelle sur disque (vidage du cache du noyau) prend 1 minute 15 secondes supplémentaires.&lt;/p&gt;


&lt;p&gt;Le débit global d'écriture sur disque SSD est donc de ~= 4.92 Mo/sec. pour une fichier de 1000 Mo, chiffrement inclus. On voit qu'on est deux fois plus lent qu'avec un fichier de 100 Mo, et que là, c'est vraiment lent. L&lt;em&gt;'overhead&lt;/em&gt; de chiffrement ne semble pas impliqué directement dans la différence de vitesse, mais plutôt simplement le fait d'avoir débordé le cache du noyau.&lt;br /&gt;
Il est également possible que les algorithmes de &lt;em&gt;wear levelling&lt;/em&gt; du disque SSD entrent en ligne de compte, puisqu'ils sont potentiellement suceptibles de doubler le nombre d'écritures réelles sur le disque SSD (déplacement de blocs durant l'écriture).&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/07/16/#rev-pnote-1567-1&quot; id=&quot;pnote-1567-1&quot;&gt;1&lt;/a&gt;] ...qui devrait être fourni par Acer par respect des obligations imposées par la &lt;acronym title=&quot;General Public License&quot;&gt;GPL&lt;/acronym&gt;...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/07/16/#rev-pnote-1567-2&quot; id=&quot;pnote-1567-2&quot;&gt;2&lt;/a&gt;] D'après ce que j'ai lu ici ou là, mais non vérifié personnellement, une barrette supplémentaire d'1 Go de RAM est la taille maximale supportée par le BIOS de la machine.&lt;/p&gt;&lt;/div&gt;</description>
    
          <enclosure url="http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/jmb38x_d3e.sh"
      length="2418" type="text/plain" />
    
    
          <comments>http://petaramesh.org/post/2008/07/16/Installation-de-KUbuntu-sur-un-Acer-Aspire-One#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/07/16/Installation-de-KUbuntu-sur-un-Acer-Aspire-One#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1567</wfw:commentRss>
      </item>
    
  <item>
    <title>Pôôôôôôôôôô !</title>
    <link>http://petaramesh.org/post/2008/06/01/Poooooooooo</link>
    <guid isPermaLink="false">urn:md5:5a044a6f112084c97e08e651a525d9a5</guid>
    <pubDate>Sun, 01 Jun 2008 19:56:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>impôts</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;Après une matinée de distribution de tracts au marché sous une pluie battante, je me suis fait cet après-midi le grand plaisir annuel de la &lt;em&gt;déclaration des pôôôôs&lt;/em&gt; accompagné du tri &lt;em&gt;spécial années bissextiles&lt;/em&gt; de l'infâme pile de paperasses et des immondes boîtes d'archives... Rien que du bonheur !&lt;/p&gt;


&lt;p&gt;Alors au passage un petit tuyau si jamais l'envie (enfin, l'envie...) vous prend de déclarer vos &lt;em&gt;pôôôôôs&lt;/em&gt; en utilisant &lt;em&gt;Firefox 3 Bêta&lt;/em&gt; sur une &lt;em&gt;Ubuntu 8.04 Hardy&lt;/em&gt;.&lt;/p&gt;    &lt;p&gt;En effet, le site du &lt;em&gt;père Cepteur&lt;/em&gt; commencera par vous dire que votre navigateur n'est &amp;quot;peut-être pas compatible'' avant de cependant vous laisser continuer sans problème.&lt;/p&gt;


&lt;p&gt;C'est seulement au moment de signer avec votre sang et votre &lt;em&gt;certificat numérique&lt;/em&gt; la déclaration terminée que ça se corsera et que le système se coincera, si vous utilisez le &lt;em&gt;Java 6&lt;/em&gt; de &lt;em&gt;Sun&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Pas de panique cependant, il vous suffit de désinstaller, éventuellement temporairement, le &lt;em&gt;Java 6&lt;/em&gt;, d'installer le &lt;em&gt;Java 5&lt;/em&gt; et de recommencer. Le &lt;em&gt;père Cepteur&lt;/em&gt; aura même eu la gentilesse de se souvenir de ce que vous aviez tapé, vous n'aurez donc plus qu'à faire &amp;quot;&lt;em&gt;Suivant... Suivant... Suivant...&lt;/em&gt;&amp;quot; et à signer enfin en bas.&lt;/p&gt;


&lt;p&gt;Pour désinstaller le &lt;em&gt;Java 6&lt;/em&gt; et passer au &lt;em&gt;Java 5&lt;/em&gt;, il vous suffit en &lt;em&gt;console root&lt;/em&gt; de...&lt;/p&gt;


&lt;pre&gt;aptitude purge sun-java6-plugin
aptitude install sun-java5-plugin&lt;/pre&gt;


&lt;p&gt;Une fois les &lt;em&gt;pôôôôôs&lt;/em&gt; potames, pour désinstaller le &lt;em&gt;Java 5&lt;/em&gt; et réinstaller le &lt;em&gt;java 6&lt;/em&gt;...&lt;/p&gt;


&lt;pre&gt;aptitude purge sun-java5-plugin sun-java5-jre sun-java5-bin
aptitude install sun-java6-plugin&lt;/pre&gt;


&lt;p&gt;...et la blague est faite.&lt;/p&gt;


&lt;p&gt;Sinon mon p'tit bonhomme de même pas 6 ans est en larmes parce que sa petite amoureuse qui a passé la nuit à la maison est partie et qu'il ne la reverra pas avant demain matin... Ces deux-là sont salement accrochés :-}&lt;/p&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/06/01/Poooooooooo#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/06/01/Poooooooooo#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1513</wfw:commentRss>
      </item>
    
  <item>
    <title>Hibernatus</title>
    <link>http://petaramesh.org/post/2008/05/28/Hibernatus</link>
    <guid isPermaLink="false">urn:md5:9436b3802c6c5750ae7388db442acec7</guid>
    <pubDate>Wed, 28 May 2008 18:03:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>geekerie</category><category>hibernation</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;Depuis que les &lt;acronym title=&quot;membres de la Commission Nationale Informatique et Libertés&quot;&gt;CNILonautes&lt;/acronym&gt; ont été placés en hibernation dans leur caisson cryogénique en 1978 et n'en sont jamais ressortis, l'idée a fait son chemin.&lt;/p&gt;


&lt;p&gt;C'est ainsi que désormais, &lt;em&gt;Ubuntu&lt;/em&gt; gère très convenablement l'hibernation (et la suspension) des ordinateurs portables. Mais qu'est-ce donc ?&lt;/p&gt;    &lt;p&gt;Les ordinateurs portables fonctionnant sur de misérables petites batteries pouilleuses, leur autonomie est fortement limitée. On a donc cherché dès l'origine à augmenter cette autonomie par diverses méthodes, la plus évidente étant de mettre en &amp;quot;veille&amp;quot; ou d'éteindre l'ordinateur dès qu'on ne l'utilise pas.&lt;/p&gt;


&lt;p&gt;Eteindre l'ordinateur et le rallumer pose cependant deux problèmes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Celui du temps nécessaire à l'extinction complète et au redémarrage (boot, ouverture de session...)&lt;/li&gt;
&lt;li&gt;Celui de pouvoir retrouver les choses dans l'état exact où on les avait laissées (connexions réseau, affichage, documents ouverts...)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En l'absence de solution à ces problèmes, devoir éteindre et rallumer un ordinateur représente une importante perte de temps et est donc peu praticable.&lt;/p&gt;


&lt;p&gt;Des méthodes &amp;quot;améliorées&amp;quot; ont donc été mises au point, et leur usage n'est d'ailleurs pas limité aux seuls ordinateurs portables - on peut très bien les utiliser avec une machine de bureau pour en limiter autant que possible la consommation électrique quand on ne s'en sert pas, par exemple.&lt;/p&gt;


&lt;p&gt;Les versions récentes de GNU/Linux gèrent très bien ces méthodes sur les ordinateurs dont le matériel (&lt;acronym title=&quot;Advanced Configuration and Power Interface&quot;&gt;ACPI&lt;/acronym&gt;) (et les périphériques !) les supportent, et &lt;em&gt;Ubuntu Hardy&lt;/em&gt; sait aussi bien effectuer la &lt;em&gt;suspension&lt;/em&gt; que &lt;em&gt;l'hibernation&lt;/em&gt; des 3 modèles très différents de portables sur lesquels je les ai essayées.&lt;/p&gt;



&lt;h4&gt;La suspension &amp;quot;en RAM&amp;quot;&lt;/h4&gt;


&lt;p&gt;La &lt;em&gt;suspension en RAM&lt;/em&gt; est la méthode la plus rapide, mais la moins complète. Elle consiste à placer les périphériques du système &lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-1&quot; id=&quot;rev-pnote-1509-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; soit :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dans un état de &amp;quot;sommeil&amp;quot; à très faible consommation d'énergie&lt;/li&gt;
&lt;li&gt;ou complètement hors-tension&lt;/li&gt;
&lt;li&gt;ou à les laisser en fonction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;...selon ce que chaque périphérique et le BIOS de la machine permettent, puis à interrompre le fonctionnement du processeur, laissant uniquement la mémoire RAM alimentée et rafraîchie, ce qui consomme très peu d'énergie.&lt;/p&gt;


&lt;p&gt;Dans cet état, l'autonomie de la batterie du portable peut passer de quelques heures à plusieurs jours ; toutefois la machine n'est pas &amp;quot;éteinte&amp;quot; et continue de consommer. Une fois la batterie complètement vide, elle s'éteindra &amp;quot;pour de bon&amp;quot; ce qui aura sur le système un effet à peu près équivalent à ce qu'aurait eu une coupure de courant brutale, à ceci près que l'état des systèmes de fichiers sera meilleur au redémarrage (puisque les systèmes de fichiers auront été &amp;quot;synchronisés&amp;quot; juste avant la mise en &lt;em&gt;suspension&lt;/em&gt; et qu'aucune écriture sur disque ne pouvait être en cours durant la suspension).&lt;/p&gt;


&lt;p&gt;Le &amp;quot;réveil&amp;quot; de la machine depuis l'état de suspension est rapide (quelques secondes), puisque la mémoire RAM est restée chargée. Il n'y a pas de &amp;quot;&lt;em&gt;boot&lt;/em&gt;&amp;quot; à faire ; le système doit &amp;quot;seulement&amp;quot; redémarrer son processeur et remettre les périphériques dans leur état de fonctionnement antérieur - ce qui est la partie le plus longue et la plus susceptible de causer des problèmes.&lt;/p&gt;



&lt;h4&gt;L'&amp;quot;hibernation&amp;quot; sur disque&lt;/h4&gt;


&lt;p&gt;L'hibernation sur disque est une méthode complète qui permet de réellement éteindre la machine, lui permettant de demeurer en l'état sans consommation électrique pour une durée indéfinie.&lt;br /&gt;
La mise en &lt;em&gt;hibernation&lt;/em&gt; commence par la suspension de l'exécution de toutes les tâches en cours, puis l'enregistrement de l'état actuel des périphériques (quand cela est possible), puis la &amp;quot;compression&amp;quot; du contenu de la mémoire RAM suivie de l'écriture de cette &amp;quot;image mémoire compressée&amp;quot; dans la partition de &lt;em&gt;swap&lt;/em&gt;. Une fois tout ceci fait, la machine est alors (complètement) éteinte et peut donc rester dans cet état indéfiniment.&lt;/p&gt;


&lt;p&gt;Le &amp;quot;réveil&amp;quot; de la machine depuis l'état d&lt;em&gt;'hibernation&lt;/em&gt; est plus long et plus complexe que pour la simple suspension. Pour le BIOS de l'ordinateur, c'est d'abord une mise en route &amp;quot;ordinaire&amp;quot;, le chargement du &lt;em&gt;bootloader&lt;/em&gt; (&lt;em&gt;grub&lt;/em&gt;, &lt;em&gt;lilo&lt;/em&gt;...), suivi du chargement de l&lt;em&gt;'initramfs&lt;/em&gt; et du démarrage du noyau. Ça commence donc réellement comme un &lt;em&gt;boot&lt;/em&gt; ordinaire.&lt;/p&gt;


&lt;p&gt;Ensuite, le programme &amp;quot;&lt;em&gt;resume&lt;/em&gt;&amp;quot; est appelé et decouvre la présence de l'image mémoire compressée dans la partition de &lt;em&gt;swap&lt;/em&gt;. Le programme &lt;em&gt;resume&lt;/em&gt; prend alors le pas sur la séquence de démarrage habituelle, il recopie et décompresse l'image mémoire sauvegardée en RAM, réinitialise les périphériques à partir de leur état sauvegardé (un peu comme lors d'un réveil de &lt;em&gt;suspension&lt;/em&gt;), puis reprend l'exécution à partir de l'image restaurée en mémoire : l'ordinateur se trouve alors (théoriquement) dans l'état exact qui était le sien juste avant la mise en hibernation : utilisateur connecté, systèmes de fichiers montés, connections réseau, applications et fichiers ouverts, etc.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-2&quot; id=&quot;rev-pnote-1509-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;&lt;strong&gt;N.B.:&lt;/strong&gt;&lt;/ins&gt; Il est possible de booter normalement &lt;em&gt;sans&lt;/em&gt; reprise une machine qui a été &lt;em&gt;hibernée&lt;/em&gt; si l'on passe au noyau le paramètre de boot &amp;quot;&lt;em&gt;noresume&lt;/em&gt;&amp;quot;. Dans ce cas, la machine bootera &amp;quot;normalement&amp;quot; dans l'état qui aurait été le sien après avoir subi une coupure de courant brutale.&lt;/p&gt;



&lt;h4&gt;Problèmes techniques&lt;/h4&gt;


&lt;p&gt;Les plus gros problèmes rencontrés avec les systèmes de &lt;em&gt;suspension&lt;/em&gt; ou d&lt;em&gt;'hibernation&lt;/em&gt; sont ceux relatifs aux périphériques du système. En effet, en fonctionnement normal, ils ont été initialisés par le BIOS, puis par leur &lt;em&gt;pilote&lt;/em&gt;, puis leur état a été éventuellement modifié par l&lt;em&gt;'application&lt;/em&gt; qui les utilise, etc.&lt;br /&gt;
Au &amp;quot;réveil&amp;quot;, l'application (qui n'a rien vu) s'attend à retrouver les périphériques dans l'état exact où ils étaient auparavant, &lt;em&gt;sans&lt;/em&gt; avoir besoin de les initialiser à nouveau.&lt;br /&gt;
Ceci implique que le système de suspension / hibernation / réveil doit être en mesure de &lt;em&gt;déterminer&lt;/em&gt; et enregistrer l'état précis de tous les périphériques (par exemple mode vidéo en cours, vitesse actuelle du port série, volume réglé sur la carte son, firmware chargé dans une carte Wi-Fi, etc...) avant de les éteindre, et de restaurer cet état précis au réveil, avant de rendre la main au fonctionnement normal du système. Or ce n'est pas &lt;em&gt;toujours&lt;/em&gt; possible, certains périphériques (surtout les anciens ou ceux non prévus pour des ordinateurs capables d'hibernation) étant capables d'exécuter une commande de changement d'état, mais incapables de faire un &amp;quot;rapport&amp;quot; de leur état courant au système. D'autres périphériques peuvent avoir des états tellement complexes (carte vidéo) qu'il n'est pas forcément possible de récupérer &lt;em&gt;l'ensemble&lt;/em&gt; des informations nécessaires.&lt;br /&gt;
On peut alors rencontrer des problèmes avec de tels périphériques,&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-3&quot; id=&quot;rev-pnote-1509-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt; comme avoir un périphérique qui ne fonctionne plus au réveil, une image vidéo qui ne se rétablit pas complètement, une connexion réseau qui refuse de revenir, etc.&lt;br /&gt;
Ceci est d'autant plus vrai dans le mode &lt;em&gt;hibernation&lt;/em&gt;, où les périphériques sont complètement &lt;em&gt;éteints&lt;/em&gt; que dans le mode &lt;em&gt;suspension&lt;/em&gt; où certains périphériques peuvent être placés en mode &lt;em&gt;sommeil&lt;/em&gt; et conserver eux-mêmes leur &amp;quot;état&amp;quot; - ils ne sont pas complètement éteints.&lt;br /&gt;
De gros progrès ont été faits, et les suites logicielles d'hibernation et de réveil comportent des kyrielles de &amp;quot;méthodes spéciales&amp;quot; pour différents types de périphériques&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-4&quot; id=&quot;rev-pnote-1509-4&quot;&gt;4&lt;/a&gt;]&lt;/sup&gt; ; toutefois, il peut encore parfois demeurer des problèmes. Vous vous montrerez indulgent après avoir lu cet article ;-)&lt;/p&gt;



&lt;h4&gt;Pièges à prévoir&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Problèmes liés à la &lt;em&gt;suspension&lt;/em&gt; :
&lt;ul&gt;
&lt;li&gt;Lors de la &lt;em&gt;suspension&lt;/em&gt;, le système n'est pas complètement hors-tension. Il peut donc continuer à chauffer (et sur certains modèles, se décider à ventiler) dans certaines situations. De plus, il est possible que l'appui accidentel sur une touche&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-5&quot; id=&quot;rev-pnote-1509-5&quot;&gt;5&lt;/a&gt;]&lt;/sup&gt; provoque le réveil de la machine. Si vous enfermez votre portable &lt;em&gt;suspendu&lt;/em&gt; dans une housse ou un sac et que celui-ci se &lt;em&gt;réveille&lt;/em&gt; inopinément, ou chauffe, il risque de surchauffer et de griller faute de ventilation et par excès d'isolation ! Étudiez bien &lt;em&gt;votre&lt;/em&gt; machine pour connaître &lt;em&gt;son&lt;/em&gt; comportement avant de vous décider ou non à la trimballer &lt;em&gt;suspendue&lt;/em&gt; dans un sac (ce que je fais sans problème régulièrement avec mon &lt;em&gt;Asus EeePC&lt;/em&gt; par exemple).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Problèmes liés à l&lt;em&gt;'hibernation&lt;/em&gt; :
&lt;ul&gt;
&lt;li&gt;Pour pouvoir hiberner votre machine, vous &lt;em&gt;devez&lt;/em&gt; disposer d'une partition de &lt;em&gt;swap&lt;/em&gt; de taille appropriée, typiquement &lt;em&gt;grosso-modo&lt;/em&gt; 2 fois la taille de la RAM de votre machine, et l'ensemble de vos périphériques doit accepter l'opération sans casse (faut essayer ;-)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Problèmes liés à la &lt;em&gt;suspension&lt;/em&gt; et à l&lt;em&gt;'hibernation&lt;/em&gt; :
&lt;ul&gt;
&lt;li&gt;Retrait ou ajout de périphériques : Quand votre ordinateur est &lt;em&gt;hiberné&lt;/em&gt;, et dans une certaine mesure, &lt;em&gt;suspendu&lt;/em&gt;, il ne peut pas se rendre compte de l'ajout ou de la suppression de nouveaux périphériques (branchement ou débranchement d'un câble secteur, d'un bidule USB, etc). Il se peut qu'au réveil il ne puisse pas effectuer les actions nécessaires à ce changement dont il ne se sera pas aperçu (changement du mode de gestion d'énergie, prise en compte du nouveau périphérique...). Pour cette raison, je conseille, si vous prévoyez de déplacer votre portable après l'avoir suspendu ou hiberné, de toujours retirer les périphériques (cordon secteur, clés USB...) &lt;em&gt;avant&lt;/em&gt; de le suspendre, et de toujours le réveiller complètement &lt;em&gt;avant&lt;/em&gt; de les reconnecter, de manière à ce qu'il soit toujours dans le même état précis à l'endormissement et au réveil et qu'il prenne en compte les changements de périphériques alors qu'il est &amp;quot;pleinement réveillé&amp;quot;.&lt;/li&gt;
&lt;li&gt;Systèmes de fichiers sur périphériques USB : À la &lt;em&gt;suspension&lt;/em&gt; ou l&lt;em&gt;'hibernation&lt;/em&gt;, le système perd le montage de &lt;em&gt;tous&lt;/em&gt; les systèmes de fichiers sur périphériques USB, ce qui peut poser problème (perte de données) s'il y a des fichiers ouverts ou des caches non vidés pour ces périphériques. Il est donc conseillé de démonter et ôter les périphériques de stockage USB avant de suspendre ou d'hiberner. Sur les noyaux 2.6.24 et supérieurs, la fonction &amp;quot;&lt;em&gt;usb persist&lt;/em&gt;&amp;quot; permet de résoudre le problème et de conserver les montages USB au réveil.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-6&quot; id=&quot;rev-pnote-1509-6&quot;&gt;6&lt;/a&gt;]&lt;/sup&gt; Ceci marche particulièrement bien avec mon &lt;em&gt;Asus EeePC&lt;/em&gt; pour conserver l'accès à sa carte mémoire SD à travers une &lt;em&gt;suspension&lt;/em&gt; ou une &lt;em&gt;hibernation&lt;/em&gt;.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-7&quot; id=&quot;rev-pnote-1509-7&quot;&gt;7&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;Considérations de performances&lt;/h4&gt;


&lt;p&gt;Si la &lt;em&gt;suspension&lt;/em&gt; et son réveil sont généralement très rapides, l&lt;em&gt;'hibernation&lt;/em&gt; et son réveil peuvent prendre beaucoup de temps. Sur une machine relativement peu puissante, il peut être bien plus long de l&lt;em&gt;'hiberner&lt;/em&gt; que de l'arrêter normalement, et bien plus long de la &lt;em&gt;réveiller&lt;/em&gt; que de faire un démarrage normal &amp;quot;à froid&amp;quot;.&lt;br /&gt;
Ceci remet fortement en question l'intérêt de l'hibernation puisqu'elle ne fait plus gagner aucun temps, et peut même en faire perdre, le seul intérêt demeurant alors est de retrouver le système dans l'état exact où on l'avait laissé, intérêt toutefois minoré par la capacité de KDE à restaurer au démarrage toutes les applications (ou presque) qui étaient en cours quand il a été arrêté.&lt;/p&gt;


&lt;p&gt;Il y a moyen (voir plus bas) d'agir sur le temps de mise en hibernation, mais ce sera au prix de la vitesse et de la réactivité de la machine après son réveil.&lt;/p&gt;


&lt;p&gt;En effet, une machine &lt;em&gt;réveillée après hibernation&lt;/em&gt; se montrera pour un temps plus lente et moins réactive qu'une machine &lt;em&gt;fraîchement bootée&lt;/em&gt;, notamment parce que son cache-disque et ses buffers auront été vidés et qu'une partie de sa mémoire aura été (et sera encore) swappée...&lt;/p&gt;



&lt;h4&gt;Considérations de sécurité&lt;/h4&gt;


&lt;p&gt;La &lt;em&gt;suspension&lt;/em&gt; et l&lt;em&gt;'hibernation&lt;/em&gt; peuvent avoir d'importantes conséquences sur la sécurité d'un portable, ne serait-ce que parce que toutes deux &lt;em&gt;réveillent&lt;/em&gt; le système dans l'état où il était à sa mise en veille, toutes applications et documents ouverts, et notamment que l'utilisateur n'a pas besoin de rouvrir sa session en tapant son login et son mot de passe.&lt;br /&gt;
&lt;em&gt;Normalement&lt;/em&gt;, une session graphique au &lt;em&gt;réveil&lt;/em&gt; soit se retrouver en mode &amp;quot;&lt;em&gt;verrouillé et économiseur d'écran activé&lt;/em&gt;&amp;quot;, ce qui nécessite la frappe du mot de passe de l'utilisateur pour accéder à la session, mais j'ai vu des cas plus ou moins imprévisibles où la session n'était pas verrouillée au réveil.&lt;br /&gt;
D'éventuelles sessions ouvertes sur des &amp;quot;consoles texte&amp;quot; ne seront &lt;ins&gt;pas&lt;/ins&gt; verrouillées au réveil de la machine.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La &lt;em&gt;suspension&lt;/em&gt; d'une machine peut être considérée du point de vue de la sécurité comme strictement équivalente à laisser la machine allumée avec la session verrouillée par un économiseur d'écran, ce qui est une sécurité assez &amp;quot;moyenne&amp;quot;, et encore faut-il que l'économiseur d'écran s'active effectivement...&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;L&lt;em&gt;'hibernation&lt;/em&gt; d'une machine a des conséquences très différentes :
&lt;ul&gt;
&lt;li&gt;Tout d'abord, l&lt;em&gt;'hibernation&lt;/em&gt; d'une machine est compatible avec une installation sur un disque complètement chiffré (LVM chiffrée contenant également le &lt;em&gt;swap&lt;/em&gt;), ce qui protège pleinement la machine pendant son hibernation &lt;em&gt;si&lt;/em&gt; on est dans un tel cas de figure.&lt;/li&gt;
&lt;li&gt;Comme la machine doit &lt;em&gt;booter&lt;/em&gt; avant de se &lt;em&gt;réveiller&lt;/em&gt;, elle pourra être verrouillée par un éventuel mot de passe de BIOS (qui n'offre par ailleurs pas une sécurité bien grande).&lt;/li&gt;
&lt;li&gt;Si la machine est installée sur LVM chiffrée, il faudra déverrouiller la LVM (comme lors d'un boot normal) pour pouvoir &lt;em&gt;réveiller&lt;/em&gt; une machine &lt;em&gt;hibernée&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;L&lt;em&gt;'hibernation&lt;/em&gt; d'une machine au swap non chiffré pose de sérieux problèmes de sécurité !&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Pensez qu'au moment de la mise en hibernation, &lt;ins&gt;absolument tout&lt;/ins&gt; ce qui se trouve en mémoire vive est copié sur le swap et y demeurera éventuellement un temps indéfini, y compris tous documents ouverts ainsi que des éléments qui sont d'habitude éventuellement protégés par le noyau pour &lt;em&gt;ne pas&lt;/em&gt; être écrits sur le swap en fonctionnement normal, comme des clés de chiffrement, des mots de passe, etc...&lt;/li&gt;
&lt;li&gt;Le programme &lt;em&gt;swsusp&lt;/em&gt; possède une fonction de &lt;em&gt;chiffrement de l'image mémoire&lt;/em&gt; avec une &amp;quot;clé jetable&amp;quot;, mais celle-ci ne &lt;em&gt;semble pas&lt;/em&gt; active sur Ubuntu 8.04. Quoi qu'il en soit, cette fonction permet de rendre inutilisable ce qui avait été écrit sur le &lt;em&gt;swap après&lt;/em&gt; le réveil de la machine, mais elle reste entièrement vulnérable &lt;em&gt;pendant qu'elle est en état hiberné&lt;/em&gt;, puisque la clé de déchiffrement doit également être stockée dans le &lt;em&gt;swap&lt;/em&gt; pour permettre le &lt;em&gt;réveil&lt;/em&gt; de la machine. Ceci de mon point de vue proscrit l'usage de l'hibernation pour toute machine pouvant contenir des données confidentielles, &lt;strong&gt;sauf&lt;/strong&gt; si l'hibernation est effectuée sur un &lt;em&gt;swap&lt;/em&gt; situé à l'intérieur d'une LVM entièrement chiffrée.&lt;/li&gt;
&lt;li&gt;L'utilisation d'un &lt;em&gt;swap&lt;/em&gt; dans une LVM chiffrée protège de ce problème, mais offre une sécurité moindre que celle apportée par un swap chiffré séparément par une clé aléatoire générée à chaque boot (ce qui est incompatible avec l&lt;em&gt;'hibernation&lt;/em&gt;...). En effet, dans ce dernier cas, après chaque boot le contenu précédent du swap est &lt;em&gt;irrémédiablement perdu pour tout le monde&lt;/em&gt;, tandis que dans le cas du &lt;em&gt;swap&lt;/em&gt; en LVM chiffrée, celui qui obtiendrait par force ou par ruse la clé de déchiffrement de la LVM pourrait alors aller farfouiller également dans les anciens contenus du swap.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Résolution de problèmes&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Si vous avez une machine qui vous dit &lt;q&gt;&lt;em&gt;swsusp: Not enough free memory&lt;/em&gt;&lt;/q&gt; quand vous tentez de l&lt;em&gt;'hiberner&lt;/em&gt;, puis se &lt;em&gt;réveille&lt;/em&gt; aussitôt, essayez :&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;echo 2048248 &amp;gt; /sys/power/image_size&lt;/pre&gt;


&lt;p&gt;...et recommencez.&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#pnote-1509-8&quot; id=&quot;rev-pnote-1509-8&quot;&gt;8&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si vous trouvez que votre machine est bien trop longue à &lt;em&gt;hiberner&lt;/em&gt; et à se &lt;em&gt;réveiller&lt;/em&gt;, essayez :&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;echo 0 &amp;gt; /sys/power/image_size&lt;/pre&gt;


&lt;p&gt;...vous obtiendrez en contrepartie une machine qui hibernera plus vite mais sera plus lente pendant un temps après s'être réveillée.&lt;/p&gt;


&lt;p&gt;Une fois que vous avez trouvé la commande qui vous convient, ajoutez-la une fois pour toutes dans &lt;code&gt;/etc/rc.local&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Pour plus d'infos à ce sujet, installer le package &lt;code&gt;linux-doc-2.6.24&lt;/code&gt; et lire le document &lt;code&gt;/usr/share/doc/linux-doc-2.6.24/Documentation/power/swsusp.txt.gz&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Voilà, on dira que ça sera tout pour cette fois ;-)&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-1&quot; id=&quot;pnote-1509-1&quot;&gt;1&lt;/a&gt;] Affichage, carte vidéo, carte réseau, modem, disques, contrôleurs de disque, contrôleurs USB, etc...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-2&quot; id=&quot;pnote-1509-2&quot;&gt;2&lt;/a&gt;] Pour plus d'infos sur l'hibernation, installer le package &lt;code&gt;linux-doc-2.6.24&lt;/code&gt; et lire les documents &lt;code&gt;/usr/share/doc/linux-doc-2.6.24/Documentation/power/swsusp*&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-3&quot; id=&quot;pnote-1509-3&quot;&gt;3&lt;/a&gt;] En particulier certains périphériques qui utiliseraient des pilotes &lt;em&gt;Windows&lt;/em&gt; via &lt;em&gt;ndiswrapper&lt;/em&gt; risquent de ne pas aimer...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-4&quot; id=&quot;pnote-1509-4&quot;&gt;4&lt;/a&gt;] Jetez donc un coup d'oeil au contenu des répertoires &lt;code&gt;/etc/acpi/suspend.d&lt;/code&gt; et &lt;code&gt;/etc/acpi/resume.d&lt;/code&gt;...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-5&quot; id=&quot;pnote-1509-5&quot;&gt;5&lt;/a&gt;] Avec certains portables, cela peut se produire si on appuie fort sur le &amp;quot;couvercle&amp;quot;, même fermé...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-6&quot; id=&quot;pnote-1509-6&quot;&gt;6&lt;/a&gt;] Pour plus d'infos sur &amp;quot;&lt;em&gt;usb persist&lt;/em&gt;&amp;quot;, installer le package &lt;code&gt;linux-doc-2.6.24&lt;/code&gt; et lire le document &lt;code&gt;/usr/share/doc/linux-doc-2.6.24/Documentation/usb/persist.txt.gz&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-7&quot; id=&quot;pnote-1509-7&quot;&gt;7&lt;/a&gt;] Le lecteur de carte mémoire de l&lt;em&gt;'Asus EePC&lt;/em&gt; a en interne une interface USB...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/28/#rev-pnote-1509-8&quot; id=&quot;pnote-1509-8&quot;&gt;8&lt;/a&gt;] Sur l'un de mes portables, j'utilise la valeur &lt;code&gt;268435456&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/05/28/Hibernatus#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/05/28/Hibernatus#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1509</wfw:commentRss>
      </item>
    
  <item>
    <title>Ubuntu: Verrouillage numérique au démarrage</title>
    <link>http://petaramesh.org/post/2008/05/28/Ubuntu%3A-Verrouillage-numerique-au-demarrage</link>
    <guid isPermaLink="false">urn:md5:6a24dc2a3829906c1a0e791a580fee78</guid>
    <pubDate>Wed, 28 May 2008 12:10:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>informatique</category><category>Linux</category><category>NumLock</category><category>Ubuntu</category>    
    <description>&lt;p&gt;Un des petits détails chiants avec une &lt;em&gt;Ubuntu&lt;/em&gt; (ou une &lt;em&gt;Kubuntu&lt;/em&gt;, ou une &lt;em&gt;Debian&lt;/em&gt;...) brute de décoffrage, c'est de ne pas avoir le verrouillage numérique (&lt;em&gt;NumLock&lt;/em&gt;) activé automatiquement au démarrage de la machine, et de devoir le faire à la main.&lt;/p&gt;


&lt;p&gt;Pire encore, certaines machines ayant un clavier en interface USB allument dès le démarrage le voyant &lt;em&gt;NumLock&lt;/em&gt; alors qu'il n'est en fait pas activé, et il faut appuyer deux ou trois fois sur la touche &lt;em&gt;NumLock&lt;/em&gt; pour que le voyant reflète fidèlement l'état réel du clavier.&lt;/p&gt;


&lt;p&gt;Il existe sur le 'net de multiples articles apportant des solutions à ces problèmes, mais ces solutions sont souvent suboptimales. Voici donc des solutions simples et efficaces ;-)&lt;/p&gt;    &lt;h4&gt;Si vous utilisez le gestionnaire de session graphique &lt;em&gt;KDM&lt;/em&gt; de &lt;em&gt;KDE&lt;/em&gt;, sur &lt;em&gt;Kubuntu&lt;/em&gt; par exemple :&lt;/h4&gt;


&lt;p&gt;C'est le plus simple ! Pour avoir le verrouillage numérique activé dès le démarrage de votre session graphique, éditez (comme &lt;em&gt;root&lt;/em&gt;) le fichier &lt;code&gt;/etc/kde3/kdm/kdmrc&lt;/code&gt;, recherchez la ligne :&lt;/p&gt;


&lt;pre&gt;#NumLock=Off&lt;/pre&gt;


&lt;p&gt;...et remplacez-la simplement par&lt;/p&gt;


&lt;pre&gt;NumLock=On&lt;/pre&gt;


&lt;p&gt;N'oubliez pas d'enlever le &amp;quot;&lt;code&gt;#&lt;/code&gt;&amp;quot; de début qui en faisait un commentaire, enregistrez, et voilà !&lt;/p&gt;


&lt;h4&gt;Pour avoir le &lt;em&gt;NumLock&lt;/em&gt; dans les &amp;quot;consoles texte&amp;quot; :&lt;/h4&gt;


&lt;p&gt;À peine plus compliqué. Éditez (comme &lt;em&gt;root&lt;/em&gt;) le fichier &lt;code&gt;/etc/rc.local&lt;/code&gt; et, avant la ligne &amp;quot;&lt;code&gt;exit 0&lt;/code&gt;&amp;quot; finale, ajoutez le paragraphe suivant :&lt;/p&gt;

&lt;pre&gt;
# Petaramesh: Active NumLock sur les consoles
if [ -x /usr/bin/setleds -a -s /etc/default/console-setup ]; then
   . /etc/default/console-setup
   if [ -n &amp;quot;${ACTIVE_CONSOLES}&amp;quot; ]; then
      for cons in ${ACTIVE_CONSOLES}; do
         if [ -c &amp;quot;${cons}&amp;quot; ]; then
            /usr/bin/setleds -D +num &amp;lt; ${cons}
         fi
      done
   fi
fi
# /Petaramesh
&lt;/pre&gt;


&lt;h4&gt;Si vous utilisez le gestionnaire de session graphique &lt;em&gt;GDM&lt;/em&gt; de &lt;em&gt;Gnome&lt;/em&gt;, sur &lt;em&gt;Ubuntu&lt;/em&gt; :&lt;/h4&gt;


&lt;p&gt;Installez le package &lt;em&gt;numlockx&lt;/em&gt; :&lt;/p&gt;


&lt;pre&gt;sudo aptitude install numlockx&lt;/pre&gt;


&lt;p&gt;...puis éditez le fichier &lt;code&gt;/etc/gdm/Init/Default&lt;/code&gt; et, avant la ligne &amp;quot;&lt;code&gt;exit 0&lt;/code&gt;&amp;quot; finale, ajoutez le paragraphe suivant :&lt;/p&gt;

&lt;pre&gt;
if [ -x &amp;quot;/usr/bin/numlockx&amp;quot; ]; then
   /usr/bin/numlockx on || /bin/true
fi
&lt;/pre&gt;


&lt;p&gt;Et voilà !&lt;/p&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/05/28/Ubuntu%3A-Verrouillage-numerique-au-demarrage#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/05/28/Ubuntu%3A-Verrouillage-numerique-au-demarrage#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1508</wfw:commentRss>
      </item>
    
  <item>
    <title>Retailler à la volée une LVM chiffrée LUKS</title>
    <link>http://petaramesh.org/post/2008/05/27/Retailler-a-la-volee-une-LVM-chiffree-LUKS</link>
    <guid isPermaLink="false">urn:md5:5970b09cf694bf4e4204d39b35039b6e</guid>
    <pubDate>Tue, 27 May 2008 11:58:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>chiffrement</category><category>cryptographie</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;(&lt;em&gt;English abstract at end.&lt;/em&gt;)&lt;/p&gt;


&lt;p&gt;Et encore un article en &lt;em&gt;bas moldave&lt;/em&gt; qui s'annonce ;-)&lt;/p&gt;


&lt;p&gt;J'explique ci-dessous comment il est possible d'agrandir à la volée une LVM chiffrée LUKS sur laquelle est installé tout un système GNU/Linux chiffré (ici une &lt;em&gt;&lt;a href=&quot;http://ubuntu-fr.org/&quot; hreflang=&quot;fr&quot;&gt;Ubuntu&lt;/a&gt; 8.04 Hardy&lt;/em&gt;).&lt;/p&gt;


&lt;p&gt;Si cela vous parle autant que l'élevage du Yaka-Faucon en Patagonie septentrionale, passez votre chemin ;-)&lt;/p&gt;    &lt;p&gt;Ma problématique pour cette manip' était la suivante : un ordinateur portable entièrement chiffré (sauf /boot) dont le disque dur était partitionné de la manière suivante :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;sda1: &lt;code&gt;/boot&lt;/code&gt; (non chiffré)&lt;/li&gt;
&lt;li&gt;sda2: LVM chiffrée contenant le &lt;em&gt;root filesystem&lt;/em&gt; et la quasi-totalité des volumes logiques usuels (&lt;code&gt;/var&lt;/code&gt;, &lt;code&gt;/home&lt;/code&gt;...)&lt;/li&gt;
&lt;li&gt;sda3: un &lt;code&gt;/tmp&lt;/code&gt; chiffré utilisant une clé aléatoire générée au boot.&lt;/li&gt;
&lt;li&gt;sda4: un &lt;code&gt;swap&lt;/code&gt; chiffré utilisant une clé aléatoire générée au boot.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;L'objectif de la manip était d'&amp;quot;incorporer&amp;quot; le &lt;code&gt;/tmp&lt;/code&gt; et le &lt;em&gt;swap&lt;/em&gt; à l'intérieur de la LVM chiffrée principale et non plus à l'extérieur de celle-ci, de manière à pouvoir utiliser la fonction &amp;quot;&lt;em&gt;hibernation sur disque&lt;/em&gt;&amp;quot; de la machine, qui nécessite en pratique que le déchiffrement du &lt;em&gt;root filesystem&lt;/em&gt; au boot permette également l'accès au &lt;em&gt;swap&lt;/em&gt; sur lequel est stocké le fichier de reprise, le plus simple étant alors de mettre le swap dans la même LVM chiffrée que le reste des partitions.&lt;/p&gt;


&lt;p&gt;La même manip pourrait être utilisée à d'autres fins, par exemple augmenter l'espace disque utilisable après avoir recopié l'ensemble d'un système chiffré sur un disque neuf plus gros.&lt;/p&gt;


&lt;p&gt;Pour que ça soit plus drôle, nous allons faire ça en &lt;em&gt;live&lt;/em&gt;, sur le système tournant et bien chaud, et sans recourir au boot sur un CD-Rom.&lt;/p&gt;


&lt;p&gt;Cet article est en partie inspiré de l'article de &lt;em&gt;Bodhi.Zazen&lt;/em&gt; : &lt;em&gt;&lt;strong&gt;&lt;a href=&quot;http://ubuntuforums.org/showthread.php?p=4530641&quot; hreflang=&quot;en&quot;&gt;How to Resize a LUKS Encrypted File System.&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Avertissement : Ce type de manipulation est susceptible de provoquer la perte irréparable de l'ensemble des données présentes sur votre disque, si vous faites la moindre erreur durant les opérations, ou si j'ai fait la moindre erreur en les décrivant ! Faites une copie de sauvegarde de l'ensemble de votre système, vous êtes seul(e) responsable des dégâts que vous vous apprêtez à causer, même si une erreur s'est glissée dans mon article et si c'est moi qui vous ai foutu dedans. À vos risques et périls ! ;-)&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Dans mon cas particulier, je vais donc commencer par supprimer les partitions sda3 et sda4, dont le contenu sera perdu durant l'opération, mais cela est sans importance s'agissant d'un &lt;code&gt;/tmp&lt;/code&gt; et d'un &lt;em&gt;swap&lt;/em&gt;, puis je vais étendre la partition sda2 sur laquelle réside la LVM chiffrée afin de récupérer dedans l'espace laissé libre par les partitions supprimées, puis j'agrandirai le container chiffré qui occupe cette partition, puis j'agrandirai le volume physique de LVM qui est dedans, ce qui ajoutera à la LVM chiffrée l'espace ainsi récupéré, permettant alors d'y créer de nouveaux &lt;em&gt;volumes logiques&lt;/em&gt;, ou d'étendre les volumes logiques existants.&lt;/p&gt;


&lt;p&gt;Dans le cas général, on considèrera que nous disposerons d'une manière ou d'une autre d'espace disque libre immédiatement après la partition contenant la LVM chiffrée à étendre.&lt;/p&gt;


&lt;p&gt;Dans mon cas particulier, il me faut commencer par désactiver le swap (&lt;code&gt;swapoff -a&lt;/code&gt;) dont je vais supprimer la partition, démonter le &lt;code&gt;/tmp&lt;/code&gt;, et le démontage du &lt;code&gt;/tmp&lt;/code&gt; nécessite de fermer toute session graphique X (KDE ou Gnome) et d'arrêter le gestionnaire de session graphique (&lt;code&gt;invoke-rc.d kdm stop&lt;/code&gt; ou &lt;code&gt;invoke-rc.d gdm stop&lt;/code&gt; selon le cas), ce qui me fera donc travailler en mode console texte. Il me faudra ensuite désactiver les volumes chiffrés correspondants avant de pouvoir en supprimer les partitions.&lt;br /&gt;
Dans le cas général, si vous n'avez pas besoin de démonter une partition nécessaire, vous pouvez travailler dans un terminal depuis une session graphique.&lt;/p&gt;


&lt;h4&gt;Retaillage des partitions&lt;/h4&gt;


&lt;p&gt;Commençons donc par décrire l'étape de suppression des partitions inutiles, et de redimensionnement de la partition à agrandir.&lt;/p&gt;


&lt;p&gt;Nous allons pour cela utiliser le bon vieux &lt;code&gt;fdisk&lt;/code&gt; en console, et non pas un outil graphique, car seul &lt;code&gt;fdisk&lt;/code&gt; nous permettra de &lt;em&gt;supprimer&lt;/em&gt; notre partition essentielle (celle de la LVM chiffrée) et de la recréer exactement au même endroit, mais plus grande.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Lançons donc: &lt;code&gt;fdisk /dev/sda&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La première chose à faire est d'afficher la table de partitions actuelle en utilisant la commande &amp;quot;p&amp;quot;, et de noter absolument tous les jolis chiffres qui apparaîssent alors, de manière à pouvoir remettre manuellement les choses en l'état en cas de problème.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Puis nous utiliserons la commande &amp;quot;d&amp;quot; de &lt;em&gt;fdisk&lt;/em&gt; afin de détruire sans regret les partitions &amp;quot;4&amp;quot; et &amp;quot;3&amp;quot; dont nous n'avons plus besoin.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Puis nous arrivons à l'étape &lt;em&gt;&lt;strong&gt;vraiment terrifiante&lt;/strong&gt;&lt;/em&gt; de la manoeuvre, qui consiste à &lt;em&gt;supprimer&lt;/em&gt; la partition &lt;em&gt;sda2&lt;/em&gt;, c'est-à-dire celle de notre LVM chiffrée, ce qui revient très exactement à scier la branche sur laquelle notre système est assis. Supprimons donc courageusement la partition &amp;quot;2&amp;quot; à l'aide de la commande &amp;quot;d&amp;quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Pas de panique toutefois, les modifications ne seront &lt;em&gt;réellement&lt;/em&gt; apportées sur le disque qu'au moment où nous exécuterons la commande &amp;quot;w&amp;quot; finale, et nous aurons recréé la partition vitale d'ici-là, mais en plus grand. D'autre part, la modification de la table de partitions sera alors écrite sur le &lt;em&gt;disque dur&lt;/em&gt; lui-même, mais le noyau Linux n'en tiendra aucun compte puisqu'il est incapable de relire la table de partitions d'un disque ayant des partitions &lt;em&gt;montées&lt;/em&gt;. Il faudra donc rebooter le système pour que le changement de taille de la partition concernée soit pris en compte.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Après avoir supprimé la partition &amp;quot;2&amp;quot;, nous la recréons maintenant aussitôt, comme partition primaire, en utilisant la commande &amp;quot;n&amp;quot;. Nous veillerons alors à ce que la &amp;quot;nouvelle partition 2&amp;quot; commence à l'endroit exact du disque (numéro de cylindre) où elle commençait précédemment, et nous la laisserons s'étendre jusqu'à la fin du disque, utilisant ainsi tout l'espace disponible.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Après avoir recréé la partition, utilisons la commande &amp;quot;p&amp;quot; pour afficher la nouvelle table de partitions, et vérifions soigneusement à l'aide de nos notes qu'elle commence effectivement exactement au même endroit que précédemment.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Si c'est bien le cas, nous pouvons alors écrire nos modifications de manière définitive avec la commande &amp;quot;w&amp;quot;, qui nous fera également quitter &lt;em&gt;fdisk&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nous allons maintenant devoir &lt;em&gt;rebooter le système&lt;/em&gt; pour que la nouvelle table de partitions soit prise en compte. Toutefois, si nous avons (dans mon cas particulier) supprimé des partitions qui servaient antérieurement, nous devons en faire disparaître toute trace dans &lt;code&gt;/etc/fstab&lt;/code&gt; et &lt;code&gt;/etc/crypttab&lt;/code&gt;, puis régénérer notre initramfs (&lt;code&gt;update-initramfs -u&lt;/code&gt;) pour éviter de cruelles erreurs lors du reboot.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Rebootons donc bien proprement le système.&lt;/strong&gt; Ceci devrait se dérouler sans erreur.&lt;/p&gt;


&lt;h4&gt;Extension du volume LUKS chiffré&lt;/h4&gt;


&lt;p&gt;Après avoir rebooté, il nous faut théoriquement agrandir le volume chiffré supportant notre LVM. Je dis &lt;em&gt;théoriquement&lt;/em&gt; car mes observations semblent démontrer que le volume chiffré utilise automatiquement la nouvelle taille entière de la partition, mais comme je n'en suis pas absolument certain, le redimensionner &lt;em&gt;quand même&lt;/em&gt; ne fera pas de mal.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Affichons tout d'abord la taille actuelle de notre container de LVM chiffrée, supposant qu'il s'appelle &amp;quot;encVG&amp;quot; par exemple :&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;# cryptsetup status encVG
/dev/mapper/encVG is active:
 cipher:  aes-cbc-essiv:sha256
 keysize: 192 bits
 device:  /dev/sda2
 offset:  1032 sectors
 size:    312061593 sectors
 mode:    read/write&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&amp;quot;Agrandissons&amp;quot; (en théorie) maintenant le container :&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;cryptsetup resize encVG&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Affichons de nouveau sa taille (&lt;code&gt;cryptsetup status encVG&lt;/code&gt;) : Surprise : il semble que rien n'a changé, et que notre manip n'a donc servi à rien ? Ce n'est pas grave : nous utilisons désormais bel et bien la totalité de l'espace attribué à la partition sda2.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Agrandissement du volume physique de la LVM&lt;/h4&gt;


&lt;p&gt;C'est là que nous allons nous apercevoir que la manip' a marché !&lt;/p&gt;


&lt;pre&gt;# pvs
 PV                       VG   Fmt  Attr PSize   PFree
 /dev/mapper/encVG VG1 lvm2 a-   144.80G    0&lt;/pre&gt;


&lt;pre&gt;pvresize /dev/mapper/encVG&lt;/pre&gt;


&lt;pre&gt;# pvs
 PV                       VG   Fmt  Attr PSize   PFree
 /dev/mapper/encVG VG1 lvm2 a-   148.80G    4.0G&lt;/pre&gt;


&lt;p&gt;Eh oui ! le &amp;quot;&lt;code&gt;pvresize&lt;/code&gt;&amp;quot; nous a bien fait gagner 4 Go d'espace libre dans la LVM chiffrée !&lt;/p&gt;


&lt;h4&gt;Création des nouveaux volumes logiques&lt;/h4&gt;


&lt;p&gt;Nous pouvons maintenant créer (&lt;code&gt;lvcreate&lt;/code&gt;) un ou plusieurs nouveaux volumes logiques dans l'espace désormais disponible sur la LVM.  Dans mon cas, j'en recréerai deux, pour le &lt;code&gt;/tmp&lt;/code&gt; et pour le &lt;em&gt;swap&lt;/em&gt; bien sûr.&lt;/p&gt;


&lt;p&gt;Si vous souhaitez utiliser ce nouvel espace non pas pour créer de nouveaux volumes logiques, mais pour agrandir un volume déjà existant (&lt;code&gt;lvextend&lt;/code&gt;), je vous conseille toutefois de commencer par créer un nouveau volume logique, que vous supprimerez ensuite, mais entre-temps vous l'aurez rempli de données aléatoires, ce qui est toujours conseillé avant de commencer à utiliser un volume chiffré.&lt;/p&gt;


&lt;h4&gt;Remplissage des nouveaux volumes logiques avec des données aléatoires&lt;/h4&gt;


&lt;p&gt;Par exemple :&lt;/p&gt;


&lt;pre&gt;dd if=/dev/urandom of=/dev/mapper/VG1-newvolume bs=1M&lt;/pre&gt;


&lt;p&gt;(Si vous voulez accélérer cette étape, vous pouvez utiliser &lt;code&gt;/dev/zero&lt;/code&gt; à la place de &lt;code&gt;/dev/urandom&lt;/code&gt;, puisque, s'agissant d'un volume chiffré, le chiffrement donnera de toute manière un &lt;em&gt;aspect&lt;/em&gt; parfaitement aléatoire aux données qui seront physiquement écrites sur le disque (les zéros seront transformés en &lt;em&gt;random&lt;/em&gt; apparent).&lt;/p&gt;


&lt;h4&gt;Formatage des nouveaux volumes logiques&lt;/h4&gt;


&lt;p&gt;Nous n'avons plus désormais qu'à formater les nouveaux volumes logiques en fonction de leur utilisation projetée : &lt;code&gt;mke2fs&lt;/code&gt;, &lt;code&gt;mkswap&lt;/code&gt;, etc... ou, pour l'extension d'un volume existant, &lt;code&gt;lvextend&lt;/code&gt; puis &lt;code&gt;resize2fs&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/27/#pnote-1506-1&quot; id=&quot;rev-pnote-1506-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; par exemple.&lt;/p&gt;


&lt;h4&gt;Mise à jour de fstab&lt;/h4&gt;


&lt;p&gt;Enfin, nous pouvons monter nos nouveaux volumes, sans oublier bien sûr de les mentionner dans &lt;code&gt;/etc/fstab&lt;/code&gt; - il n'y a rien à ajouter dans &lt;code&gt;/etc/crypttab&lt;/code&gt; puisque l'entrée servant à déverrouiller globalement la LVM chiffrée y figure déjà.&lt;/p&gt;


&lt;p&gt;&lt;em&gt;That's all, folks !&lt;/em&gt;&lt;/p&gt;


&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;English abstract :&lt;/strong&gt;&lt;/em&gt; This article explains how to expand a LUKS-encryped LVM on which resides a fully encrypted GNU/Linux System, including its root filesystem. This can be done on the &amp;quot;&lt;em&gt;live&lt;/em&gt;&amp;quot; system without needing to boot from a &lt;em&gt;live CD&lt;/em&gt; or the like. Use an online translator such as &lt;em&gt;Google translate&lt;/em&gt; or &lt;em&gt;babelfish&lt;/em&gt; to obtain a truly bad, automated translation of this document ;-)&lt;/p&gt;


&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;Help Google :&lt;/em&gt; resize enlarge expand LUKS encrypted partition LVM container on the fly&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/27/#rev-pnote-1506-1&quot; id=&quot;pnote-1506-1&quot;&gt;1&lt;/a&gt;] À effectuer sur un volume préalablement &lt;em&gt;démonté&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/05/27/Retailler-a-la-volee-une-LVM-chiffree-LUKS#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/05/27/Retailler-a-la-volee-une-LVM-chiffree-LUKS#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1506</wfw:commentRss>
      </item>
    
  <item>
    <title>Une clé de contact pour votre portable chiffré : Mise à jour</title>
    <link>http://petaramesh.org/post/2008/05/11/Une-cle-de-contact-pour-votre-portable-chiffre-%3A-Mise-a-jour</link>
    <guid isPermaLink="false">urn:md5:59c965653ea4c66502aeb252b7365103</guid>
    <pubDate>Sun, 11 May 2008 09:46:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>authentification</category><category>chiffrement</category><category>cryptographie</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;Ce billet est là uniquement pour signaler une importante mise à jour de mon précédent billet &lt;q&gt;&lt;em&gt;&lt;a href=&quot;http://petaramesh.org/post/2007/11/29/Une-cle-de-contact-pour-votre-portable-chiffre&quot; hreflang=&quot;fr&quot;&gt;Une clé de contact pour votre portable chiffré&lt;/a&gt;&lt;/em&gt;&lt;/q&gt; et du script &lt;em&gt;&lt;a href=&quot;http://petaramesh.org/public/arc/projects/cryptsetup/bootkeyscript&quot;&gt;bootkeyscript&lt;/a&gt;&lt;/em&gt;&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/11/#pnote-1492-1&quot; id=&quot;rev-pnote-1492-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; qu'il propose.&lt;/p&gt;


&lt;p&gt;En effet, ce script s'est avéré dans sa version précédente pouvoir &lt;em&gt;très mal&lt;/em&gt; fonctionner avec une clé non chiffrée sur une clé USB formatée en FAT. Le voici maintenant &lt;em&gt;bien&lt;/em&gt; débuggé, partiellement réécrit et enrichi, ainsi que les explications qui vont avec.&lt;/p&gt;


&lt;p&gt;Que demande le peuple ? ;-)&lt;/p&gt;


&lt;h4&gt;Instructions de mise-à-jour :&lt;/h4&gt;


&lt;p&gt;Si vous utilisiez la précédente version de mon script &lt;em&gt;bootkeyscript&lt;/em&gt;, il vous suffit d'installer la nouvelle à la place de la précédente (typiquement dans &lt;code&gt;/usr/local/sbin&lt;/code&gt;) et de régénérer votre &lt;em&gt;initramfs&lt;/em&gt; avec &amp;quot;&lt;code&gt;update-initramfs -u&lt;/code&gt;&amp;quot;. C'est tout.&lt;/p&gt;


&lt;p&gt;Bon c'est pas tout ça, faut qu'on va aller pique-niquer ;-))&lt;/p&gt;


&lt;p&gt;(&lt;em&gt;Rectificatif :&lt;/em&gt; Ah non, tiens, le programme de la journée a l'air plutôt réglé sur &amp;quot;&lt;em&gt;Monstre engueulade familiale et hurlements uxoriens&lt;/em&gt;&amp;quot;... Soyons zen...)&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/05/11/#rev-pnote-1492-1&quot; id=&quot;pnote-1492-1&quot;&gt;1&lt;/a&gt;] (&lt;a href=&quot;http://petaramesh.org/public/arc/projects/cryptsetup/bootkeyscript.asc&quot;&gt;Signature GnuPG&lt;/a&gt;, &lt;a href=&quot;http://petaramesh.org/public/arc/projects/lfd/gpl_v3.txt&quot;&gt;licence GPL&lt;/a&gt;)&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/05/11/Une-cle-de-contact-pour-votre-portable-chiffre-%3A-Mise-a-jour#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/05/11/Une-cle-de-contact-pour-votre-portable-chiffre-%3A-Mise-a-jour#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1492</wfw:commentRss>
      </item>
    
  <item>
    <title>Mise à jour (K)Ubuntu 7.10 Gutsy =&gt; 8.04 Hardy LTS</title>
    <link>http://petaramesh.org/post/2008/04/30/Mise-a-jour-KUbuntu-710-Gutsy-804-Hardy-LTS</link>
    <guid isPermaLink="false">urn:md5:a4330479ca3344c94de872ca9e0edefe</guid>
    <pubDate>Wed, 30 Apr 2008 15:20:00 +0200</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;Plusieurs estimés disciples m'ont demandé par mail quelques infos ou conseils pour la mise à jour de leur machine vers la toute nouvelle (&lt;a href=&quot;http://kubuntu.org/&quot; hreflang=&quot;en&quot;&gt;K&lt;/a&gt;) &lt;a href=&quot;http://ubuntu-fr.org/&quot; hreflang=&quot;fr&quot;&gt;Ubuntu 8.04 Hardy&lt;/a&gt; &lt;acronym title=&quot;Long Term Support&quot;&gt;LTS&lt;/acronym&gt;.&lt;/p&gt;


&lt;p&gt;Je n'avais pas encore fait cette mise à jour ; je viens de la faire sur deux machines : Au rapport !&lt;/p&gt;    &lt;p&gt;Je viens donc de mettre à jour deux &lt;a href=&quot;http://kubuntu.org/&quot; hreflang=&quot;en&quot;&gt;Kubuntu&lt;/a&gt; 7.10 vers 8.04, et la bonne nouvelle c'est que ça s'est plutôt très bien passé, comme une lettre à la poste, en utilisant l&lt;em&gt;'updateur&lt;/em&gt; de &lt;a href=&quot;http://kubuntu.org/&quot; hreflang=&quot;en&quot;&gt;Kubuntu&lt;/a&gt; et sans rien faire de particulier.&lt;/p&gt;


&lt;p&gt;Si ça c'est bien passé avec &lt;a href=&quot;http://kubuntu.org/&quot; hreflang=&quot;en&quot;&gt;Kubuntu&lt;/a&gt;, je m'attends à ce que ça se passe encore plus facilement (si toutefois c'est possible) avec &lt;a href=&quot;http://petaramesh.org/post/2008/04/30/&quot; title=&quot;fr&quot;&gt;Ubuntu&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Les deux machines que j'ai mises à jour étaient une station de travail (Bipro Intel Xeon, système installé sur LVM) et mon bon vieux portable (système entièrement installé sur LVM chiffrée). Ce ne sont donc pas les configs les plus simples qui soient, et ça fait un bon test de mise à jour.&lt;/p&gt;


&lt;p&gt;Première note : Ces jours-ci, les miroirs primaires FTP Ubuntu sont totalement saturés. On comprend pourquoi. Je vous conseille donc très fort de sélectionner comme source de paquetages des miroirs alternatifs &lt;em&gt;avant&lt;/em&gt; de lancer la mise à jour :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mise à jour de mon portable en utilisant les miroirs de &lt;em&gt;free.fr&lt;/em&gt; : 2 heures.&lt;/li&gt;
&lt;li&gt;Mise à jour de l'autre station en utillisant le miroir &amp;quot;primaire France&amp;quot; : Plus de 24 heures.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Qu'on se le dise ;-)&lt;/p&gt;


&lt;p&gt;Après mise à jour, tout fonctionne impec sur les deux machines, y compris le Wi-Fi de mon portable qui utilise pourtant &lt;em&gt;ndiswrapper&lt;/em&gt;, typiquement le truc qui se casse à la mise à jour, ben là, même pas.&lt;/p&gt;


&lt;p&gt;Je note &lt;em&gt;un&lt;/em&gt; problème après cette mise à jour : Mon portable a une carte graphique ATI&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/04/30/#pnote-1478-1&quot; id=&quot;rev-pnote-1478-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; et j'utilisais le pilote propriétaire &lt;em&gt;fglrx&lt;/em&gt;. Là, j'ai vu une belle marche arrière :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Avec Ubuntu 7.04 : Tout marchait parfaitement&lt;/li&gt;
&lt;li&gt;Avec Ubuntu 7.10 : Impossible d'utiliser la &amp;quot;suspension&amp;quot; ou &amp;quot;l'hibernation&amp;quot; du portable. le pilote &lt;em&gt;fglrx&lt;/em&gt; coince.&lt;/li&gt;
&lt;li&gt;Avec Ubuntu 8.04 : Impossible de sortir de l'environnement graphique. Plantage systématique en quittant ou fermant la session (écran noir, plus rien ne répond, il est cependant possible de débloquer la machine en utilisant la &lt;em&gt;MagicSysRq&lt;/em&gt; key &amp;quot;&lt;code&gt;E&lt;/code&gt;&amp;quot;, qui tue tous les processus et permet alors de réobtenir la console et de voir ensuite la machine s'arrêter normalement).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour cette raison, je viens (pour le moment) d'abandonner l'usage du pilote propriétaire &lt;em&gt;fglrx&lt;/em&gt; pour le pilote ATI générique libre, abandonnant au passage l'utilisation de l'accélération 3D matérielle de ma carte graphique (dont je n'ai cependant que faire 98% du temps) et divisant par 2 les performances OpenGL. Bon.&lt;/p&gt;


&lt;p&gt;Je ne peux cependant pas en vouloir à Ubuntu, car il semble que c'est ATI qui rame très loin derrière les versions de noyau et de &lt;em&gt;xorg&lt;/em&gt; dans le développement de son pilote propriétaire... Espérons (voeu pieux) qu'ATI va se décider à pondre une &lt;em&gt;mise à jour qui marche&lt;/em&gt; pour son pilote. Ils commencent à me flégon... :-/&lt;/p&gt;


&lt;p&gt;Si vous avez une carte ATI utilisant &lt;em&gt;fglrx&lt;/em&gt;, je vous suggère de le désactiver (repasser au pilote ordinaire) et de  rebooter ensuite votre machine &lt;em&gt;avant&lt;/em&gt; de lancer la mise-à-jour vers &lt;em&gt;Hardy&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Pour le reste, RÀS, alors si vous vous sentez l'âme aventureuse, vous pouvez tenter le coup - sachant bien que si vous cassez votre bécane, ce ne sera pas ma faute ;-)&lt;/p&gt;


&lt;hr /&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Addendum 2 mai 2008 10:36 :&lt;/strong&gt;&lt;/em&gt; Mon problème de blocage à la fermeture de session avec le pilote &lt;em&gt;fglrx&lt;/em&gt; a été résolu &lt;a href=&quot;http://tsdgeos.blogspot.com/2008/04/fglrx-blocking-xorg-on-logout.html&quot; hreflang=&quot;en&quot;&gt;comme décrit ici&lt;/a&gt;, merci à Olivier Lacroix pour &lt;a href=&quot;https://answers.launchpad.net/ubuntu/+question/31480&quot; hreflang=&quot;en&quot;&gt;le tuyau&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Solution reçue moins de 24h après avoir posé la question. Décidément, le support de la communauté dans le Logiciel Libre, c'est vraiment que du bonheur ! Ramez une fois dans votre vie avec un problème similaire sous Windows, vous comprendrez la différence... (Typiquement, vous n'aurez la solution qu'en attendant 2 ans une hypothétique corrective, ou à défaut le jour où vous changerez de matériel...)&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://petaramesh.org/post/2008/04/30/#rev-pnote-1478-1&quot; id=&quot;pnote-1478-1&quot;&gt;1&lt;/a&gt;] J'en vois déjà des qui rigolent...&lt;/p&gt;&lt;/div&gt;</description>
    
    
    
          <comments>http://petaramesh.org/post/2008/04/30/Mise-a-jour-KUbuntu-710-Gutsy-804-Hardy-LTS#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/04/30/Mise-a-jour-KUbuntu-710-Gutsy-804-Hardy-LTS#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1478</wfw:commentRss>
      </item>
    
  <item>
    <title>LFD: Mise à jour</title>
    <link>http://petaramesh.org/post/2008/01/18/LFD%3A-Mise-a-jour</link>
    <guid isPermaLink="false">urn:md5:a3f796465e3eb5123966b66a83c31def</guid>
    <pubDate>Fri, 18 Jan 2008 14:19:00 +0100</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>chiffrement</category><category>cryptographie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;Voici une mise-à-jour de mon script &amp;quot;&lt;em&gt;&lt;a href=&quot;http://petaramesh.org/post/2007/11/13/LUKSfile-for-dummies&quot; hreflang=&quot;fr&quot;&gt;LUKSfile for dummies&lt;/a&gt;&lt;/em&gt;&amp;quot;.&lt;/p&gt;


&lt;p&gt;Cette nouvelle version permet désormais (optionnellement) la création et le montage de containers chiffrés LUKS intérieurement formatés en FAT16 ou FAT32, les rendant ainsi utilisables sous &lt;em&gt;Windows&lt;/em&gt; grâce au logiciel &lt;em&gt;&lt;a href=&quot;http://www.freeotfe.org/&quot; hreflang=&quot;en&quot;&gt;FreeOTFE&lt;/a&gt;&lt;/em&gt; pour Windows.&lt;/p&gt;


&lt;p&gt;On peut ainsi créer des containers chiffrés sur support amovible (clé USB, etc.) qui pourront être utilisés dans les deux environnement GNU/Linux ou Windows.&lt;/p&gt;


&lt;p&gt;N.B.: Créer des containers chiffrés formatés en FAT est déconseillé si ce n'est pas pour les partager entre les deux environnements. En effet :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Il est impossible d'effectuer un &lt;em&gt;fsck&lt;/em&gt; sur un container formaté en FAT, rendant toute réparation délicate en cas d'endommagement du filesystem.&lt;/li&gt;
&lt;li&gt;FAT est intrinsèquement beaucoup plus fragile qu&lt;em&gt;'ext3&lt;/em&gt; employé par défaut.&lt;/li&gt;
&lt;li&gt;Un &lt;em&gt;filesystem&lt;/em&gt; en FAT ne gère pas les droits &lt;em&gt;Un*x&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;</description>
    
          <enclosure url="http://petaramesh.org/public/arc/projects/lfd/lfd"
      length="43335" type="text/plain" />
          <enclosure url="http://petaramesh.org/public/arc/projects/lfd/lfd.asc"
      length="189" type="text/plain" />
          <enclosure url="http://petaramesh.org/public/arc/projects/lfd/gpl_v3.txt"
      length="35147" type="text/plain" />
    
    
          <comments>http://petaramesh.org/post/2008/01/18/LFD%3A-Mise-a-jour#comment-form</comments>
      <wfw:comment>http://petaramesh.org/post/2008/01/18/LFD%3A-Mise-a-jour#comment-form</wfw:comment>
      <wfw:commentRss>http://petaramesh.org/feed/rss2/comments/1302</wfw:commentRss>
      </item>
    
  <item>
    <title>Une clé de contact pour votre portable chiffré</title>
    <link>http://petaramesh.org/post/2007/11/29/Une-cle-de-contact-pour-votre-portable-chiffre</link>
    <guid isPermaLink="false">urn:md5:13f4af6a598b74d2ac08b3b032bc3848</guid>
    <pubDate>Thu, 29 Nov 2007 16:44:00 +0100</pubDate>
    <dc:creator>Petaramesh</dc:creator>
        <category>Informatique non-duelle</category>
        <category>authentification</category><category>chiffrement</category><category>cryptographie</category><category>geekerie</category><category>informatique</category><category>Linux</category><category>Ubuntu</category>    
    <description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Article mis à jour le 22 juillet 2008&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://petaramesh.org/public/arc/img/info/2007/SD_card.jpg&quot; alt=&quot;Carte flash SD&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Dans &lt;a href=&quot;http://petaramesh.org/post/2007/11/21/Ubuntu-%3A-Chiffrement-integral-du-disque-dur-dun-portable&quot; hreflang=&quot;fr&quot;&gt;mon précédent article&lt;/a&gt;, je vous ai expliqué comment chiffrer intégralement le disque dur de votre portable sous Linux, rendant l'ensemble des données et programmes qu'il contient absolument indéchiffrables et inaccessibles pour qui ne connaît pas la phrase secrète nécessaire à son déchiffrement.&lt;/p&gt;


&lt;p&gt;Nous allons aujourd'hui nous intéresser à une autre méthode de démarrage d'un tel portable : Celle qui consiste à utiliser une clé de déchiffrement stockée sur un support externe, qui jouera alors le rôle de &amp;quot;&lt;em&gt;clé de contact&lt;/em&gt;&amp;quot; de la machine : Si ce support externe est inséré, le portable pourra démarrer ; s'il est absent, le portable sera inutilisable.&lt;/p&gt;


&lt;p&gt;Nous verrons qu'il est également possible d'utiliser ce qu'on appelle &amp;quot;&lt;em&gt;dual form authentication&lt;/em&gt;&amp;quot;, une authentification forte basée à la fois sur quelque chose que vous &lt;em&gt;avez&lt;/em&gt;, et quelque chose que vous &lt;em&gt;savez&lt;/em&gt; : Un support externe, que vous avez, plus un mot de passe nécessaire à son utilisation. Si l'un des deux manque, point d'accès. C'est d'ailleurs ce que vous faites, comme monsieur Jourdain, à chaque fois que vous payez avec une carte bancaire.&lt;/p&gt;    &lt;p&gt;&lt;em&gt;(Short english summary at end)&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;L'un des avantages à avoir &lt;a href=&quot;http://petaramesh.org/post/2007/11/21/Ubuntu-%3A-Chiffrement-integral-du-disque-dur-dun-portable&quot; hreflang=&quot;fr&quot;&gt;chiffré tout son disque avec LUKS&lt;/a&gt;, c'est que ce système permet de modifier après coup la ou les phrases secrètes ou clés qui le verrouillent. On peut donc assez aisément : &lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2007/11/29/#pnote-1200-1&quot; id=&quot;rev-pnote-1200-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installer plusieurs phrases secrètes &lt;em&gt;différentes&lt;/em&gt; permettant de déverrouiller la machine, ce qui est utile si la machine a plusieurs utilisateurs légitimes : ainsi, aucun n'a besoin de connaître la phrase secrète de l'autre. Chacun la sienne !&lt;/li&gt;
&lt;li&gt;Ajouter une clé de déchiffrement qui ne sera pas une phrase secrète, mais un fichier hébergé sur un stockage externe (qui peut lui-même être chiffré, ce qui permet d'obtenir la &amp;quot;&lt;em&gt;dual form authentication&lt;/em&gt;&amp;quot;, ou authentification à double critère).&lt;/li&gt;
&lt;li&gt;Supprimer une phrase ou clé existante si l'on ne souhaite plus utiliser l'une des méthodes, si l'un des utilisateurs ne doit plus avoir accès à la machine ou si une phrase ou clé a été compromise, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La méthode hybride permet également de verrouiller le système avec une &lt;em&gt;phrase secrète&lt;/em&gt; longue et complexe - donc fastidieuse à taper - et alternativement avec un support externe contenant une clé qui peut être protégée par un mot de passe plus simple, voire pas de mot de passe du tout, en fonction des besoins de sécurité que l'on aura.&lt;/p&gt;


&lt;p&gt;En terme de &lt;em&gt;support externe&lt;/em&gt;, nous pourrons envisager l'usage d'une clé &amp;quot;&lt;em&gt;flash drive&lt;/em&gt;&amp;quot; USB,&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2007/11/29/#pnote-1200-2&quot; id=&quot;rev-pnote-1200-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; ou d'une carte mémoire type SD, etc, pour peu que la machine considérée soit équipée d'un lecteur adéquat.&lt;/p&gt;


&lt;p&gt;En partant du principe que nous avons déjà un système entièrement chiffré sur la base de &lt;a href=&quot;http://petaramesh.org/post/2007/11/21/Ubuntu-%3A-Chiffrement-integral-du-disque-dur-dun-portable&quot; hreflang=&quot;fr&quot;&gt;mon précédent article&lt;/a&gt;, la mise en oeuvre d'une clé sur support externe - avec ou sans double authentification - va être relativement simple : Je fournis ici un &amp;quot;&lt;em&gt;&lt;a href=&quot;http://petaramesh.org/public/arc/projects/cryptsetup/bootkeyscript&quot;&gt;bootkeyscript&lt;/a&gt;&lt;/em&gt;&amp;quot;&lt;sup&gt;[&lt;a href=&quot;http://petaramesh.org/post/2007/11/29/#pnote-1200-3&quot; id=&quot;rev-pnote-1200-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt; qui fait tout le boulot.&lt;/p&gt;


&lt;p&gt;En premier lieu, procurons-nous évidemment un support externe utilisable sur notre machine, et que nous utiliserons. Nous pouvons le partitionner et le formater de la manière de notre choix, le script &amp;quot;&lt;em&gt;&lt;a href=&quot;http://petaramesh.org/public/arc/projects/cryptsetup/bootkeyscript&quot;&gt;bootkeyscript&lt;/a&gt;&lt;/em&gt;&amp;quot; détectera automatiquement le système de fichiers utilisé.&lt;/p&gt;


&lt;p&gt;Si nous voulons utiliser une clé &amp;quot;simple&amp;quot; sur support externe, non protégée elle-même par mot de passe, nous pouvons nous contenter de mettre celle-ci dans une partition FAT existante de n'importe quel support externe, que nous pourrons également utiliser &amp;quot;comme d'habitude&amp;quot; pour y stocker tous documents et fichiers de notre choix, en prenant simplement grand soin de ne jamais effacer par mégarde la clé de notre système !&lt;/p&gt;


&lt;p&gt;Si nous voulons chiffrer la clé elle-même, nous créerons sur le support externe une petite partition que nous chiffrerons avec &lt;em&gt;LUKS&lt;/em&gt; avant d'y créer un filesystem &lt;em&gt;ext2&lt;/em&gt; sur lequel nous stockerons enfin la clé.&lt;br /&gt;
Ceux qui ne désirent pas cette &amp;quot;double protection&amp;quot; peuvent sauter l'étape de création d'une partition chiffrée sur le support externe.&lt;/p&gt;


&lt;h3&gt;Création d'une partition chiffrée sur le support externe&lt;/h3&gt;


&lt;p&gt;Nous utiliserons donc un outil de partitionnement (&lt;em&gt;fdisk&lt;/em&gt;, &lt;em&gt;gparted&lt;/em&gt;, etc...) pour créer sur le support amovible une petite partition (typiquement 10 Mo) de type &amp;quot;&lt;em&gt;Linux&lt;/em&gt;&amp;quot; (83), non formatée. Pour la suite de cet article, nous considérerons la partition créée, et située sur &lt;code&gt;/dev/sdb2&lt;/code&gt;. &lt;strong&gt;Adaptez bien évidemment les instructions qui suivent à l'emplacement de votre propre partition, sur votre propre périphérique, au risque de détruire irrémédiablement des données sur votre système.&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Commençons par remplir notre partition de clés de données aléatoires, selon la méthode habituelle :&lt;/p&gt;


&lt;pre&gt;dd if=/dev/urandom of=/dev/sdb2 bs=1M&lt;/pre&gt;


&lt;p&gt;Compte tenu de sa taille modeste, ça ne devrait prendre que quelques secondes.&lt;/p&gt;


&lt;p&gt;Faisons ensuite de cette partition un volume chiffré &lt;em&gt;LUKS&lt;/em&gt; :&lt;/p&gt;


&lt;pre&gt;cryptsetup luksFormat /dev/sdb2&lt;/pre&gt;


&lt;p&gt;Après un avertissement auquel il nous faut répondre &amp;quot;YES&amp;quot;, il nous sera demandé de taper deux fois la &lt;em&gt;phrase secrète&lt;/em&gt; ou mot de passe que nous utiliserons pour protéger nos clés. Rappelons-nous que nous devrons le taper à &lt;em&gt;chaque&lt;/em&gt; boot, et que cela vient en supplément de la possession matérielle du support. À moins d'être paranoïaque, nous pouvons donc nous contenter d'un mot de passe relativement court et facile à taper - mais de préférence, pas à deviner ;-) &lt;br /&gt;
Une fois le volume chiffré créé, nous devons l'activer :&lt;/p&gt;


&lt;pre&gt;cryptsetup luksOpen /dev/sdb2 ext_keys&lt;/pre&gt;


&lt;p&gt;Après avoir tapé le mot de passe, si nous tapons &amp;quot;&lt;code&gt;ls -l /dev/mapper&lt;/code&gt;&amp;quot;, nous devrions voir y apparaître un périphérique nommé &amp;quot;&lt;em&gt;ext_keys&lt;/em&gt;&amp;quot;, qui correspond au volume chiffré &amp;quot;&lt;code&gt;/dev/sdb2&lt;/code&gt;&amp;quot; actuellement ouvert.&lt;/p&gt;


&lt;p&gt;Il nous faut maintenant &amp;quot;formater&amp;quot; cette partition pour y créer un &lt;em&gt;filesystem ext2&lt;/em&gt; :&lt;/p&gt;


&lt;pre&gt;mke2fs -m 0 -L ext_keys /dev/mapper/ext_keys&lt;/pre&gt;


&lt;h3&gt;Génération d'un fichier-clé de 256 octets aléatoires&lt;/h3&gt;


&lt;p&gt;Nous allons maintenant &lt;em&gt;monter&lt;/em&gt; le volume externe de manière à pouvoir y créer un fichier-clé. Commençons par créer le répertoire qui servira de point de montage :&lt;/p&gt;


&lt;pre&gt;mkdir /mnt/ext_keys&lt;/pre&gt;


&lt;p&gt;Puis :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si nous n'avons &lt;strong&gt;&lt;ins&gt;pas&lt;/ins&gt;&lt;/strong&gt; chiffré le volume, nous utilisons directement la partition de l'unité externe :
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mount -t vfat -o defaults /dev/sdb2 /mnt/ext_keys&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Si nous &lt;strong&gt;&lt;ins&gt;avons&lt;/ins&gt;&lt;/strong&gt; chiffré le volume, nous montons sa version ouverte depuis &lt;code&gt;/dev/mapper&lt;/code&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mount -t ext2 -o noatime /dev/mapper/ext_keys /mnt/ext_keys&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nous n'avons plus qu'à générer un fichier de 256 octets aléatoires que nous nommerons .bootkey (par exemple).&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;N.B.:&lt;/ins&gt; Veillez bien à utiliser ici &lt;code&gt;/dev/random&lt;/code&gt; et non pas &lt;code&gt;/dev/urandom&lt;/code&gt; :&lt;/p&gt;


&lt;pre&gt;dd if=/dev/random of=/mnt/ext_keys/.bootkey&lt;/pre&gt;


&lt;p&gt;...à la suite de quoi un &amp;quot;&lt;code&gt;ls -la /mnt/ext_keys/&lt;/code&gt;&amp;quot; devrait bien nous montrer la présence de notre fichier-clé aléatoire de 256 octets.&lt;/p&gt;


&lt;p&gt;=&amp;gt; Un support externe peut être endommagé ou perdu ! Une mémoire flash n'est pas infaillible ! A ce stade, je vous conseille vivement de faire une copie de votre fichier-clé sur un ou plusieurs autres supports !&lt;/p&gt;


&lt;p&gt;Maintenant que notre fichier est généré (et sauvegardé), nous pouvons démonter l'unité externe :&lt;/p&gt;


&lt;pre&gt;umount /mnt/ext_keys
sync&lt;/pre&gt;


&lt;p&gt;et, si nous avions utilisé un volume chiffré, nous pouvons le désactiver :&lt;/p&gt;


&lt;pre&gt;cryptsetup luksClose ext_keys&lt;/pre&gt;


&lt;h3&gt;Première regénération de l&lt;em&gt;'initramfs&lt;/em&gt;&lt;/h3&gt;


&lt;p&gt;Pour pouvoir accéder à notre unité externe lors du boot, nous devrons nous assurer que les modules nécessaires (USB ou SD/MMC) sont bien présents sur l&lt;em&gt;'initramfs&lt;/em&gt; que nous utilisons.&lt;/p&gt;


&lt;p&gt;Les modules à charger dépendent fortement du matériel que vous possédez. Utilisez la commande &amp;quot;&lt;code&gt;lsmod&lt;/code&gt;&amp;quot; pour lister les modules actuellement chargés sur votre système, et déterminer ceux qu'il vous faudra inclure dans l'initramfs.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;On aura typiquement pour de l'USB :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;usbcore&lt;/li&gt;
&lt;li&gt;ohci_hcd (ou uhci_hcd selon le matériel)&lt;/li&gt;
&lt;li&gt;ehci_hcd&lt;/li&gt;
&lt;li&gt;usb_storage&lt;/li&gt;
&lt;li&gt;sd_mod&lt;/li&gt;
&lt;/ul&gt;









&lt;p&gt;Pour un lecteur SD/MMC :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mmc_core&lt;/li&gt;
&lt;li&gt;sdhci&lt;/li&gt;
&lt;li&gt;mmc_block&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si vous voulez mettre votre clé sur une partition FAT (sur une clé USB par exemple, il faudra également ajouter :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;fat&lt;/li&gt;
&lt;li&gt;vfat&lt;/li&gt;
&lt;li&gt;nls_cp437&lt;/li&gt;
&lt;li&gt;nls_iso8859_1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mettez alors cette liste de modules, un par ligne, dans le fichier &lt;code&gt;/etc/initramfs-tools/modules&lt;/code&gt;. Le mien, pour une utilisation de cartes SD, contient les lignes suivantes :&lt;/p&gt;


&lt;pre&gt;mmc_core
sdhci
mmc_block
aes_i586
sha256
dm_mod
dm_crypt&lt;/pre&gt;


&lt;p&gt;Une fois ceci fait, récréons notre &lt;em&gt;initramfs&lt;/em&gt; :&lt;/p&gt;


&lt;pre&gt;update-initramfs -v -u&lt;/pre&gt;


&lt;h3&gt;Insertion de la nouvelle clé dans le container &lt;em&gt;LUKS&lt;/em&gt; principal du système&lt;/h3&gt;


&lt;p&gt;Nous allons maintenant rebooter notre système (antérieurement chiffré), et, quand celui-ci nous demandera notre &lt;em&gt;phrase secrète&lt;/em&gt;, nous allons &lt;em&gt;volontairement&lt;/em&gt; taper 3 fois de suite un mot de passe invalide, puis attendre. Au bout d'une trentaine de secondes, nous devrions obtenir un message d'erreur indiquant que le &lt;em&gt;root filesystem&lt;/em&gt; est indisponible, puis nous retrouver dans un &lt;em&gt;shell minimal&lt;/em&gt; (&lt;em&gt;busybox&lt;/em&gt;) à l'intérieur de notre &lt;em&gt;initramfs&lt;/em&gt;.&lt;/p&gt;


&lt;pre&gt;(initramfs)&lt;/pre&gt;


&lt;p&gt;À partir de là, nous ne pouvons pas faire grand-chose, mais nous pouvons en faire assez pour ajouter notre clé au container :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Créons un point de montage &amp;quot;&lt;code&gt;/ext_keys&lt;/code&gt;&amp;quot; : &lt;code&gt;mkdir /ext_keys&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Montons notre unité externe sous ce point : &lt;code&gt;mount -t vfat -o ro /dev/sdb2 /ext_keys&lt;/code&gt; (si nous avions chiffré la partition, nous devons d'abord l'ouvrir avec &amp;quot;&lt;code&gt;cryptsetup luksOpen&lt;/code&gt;'' avant de la monter à partir de &lt;code&gt;/dev/mapper&lt;/code&gt; exactement comme expliqué plus haut)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ajoutons maintenant la clé au container chiffré du disque dur (en supposant qu'il s'appelle /dev/sda2) :&lt;/p&gt;


&lt;pre&gt;cryptsetup luksAddKey /dev/sda2  /ext_keys/.bootkey&lt;/pre&gt;


&lt;p&gt;Le système nous demandera alors la phrase secrète &lt;em&gt;actuelle&lt;/em&gt; du container, avant d'ajouter la clé qui se trouve sur le périphérique externe.&lt;/p&gt;


&lt;p&gt;Une fois ceci fait, nous pouvons démonter le volume externe (&lt;code&gt;umount /ext_keys&lt;/code&gt;), et si nécessaire refermer le volume chiffré correspondant (&lt;code&gt;cryptsetup luksClose ext_keys&lt;/code&gt;).&lt;br /&gt;
Puis, nous pouvons rebooter &amp;quot;normalement&amp;quot; :&lt;/p&gt;


&lt;pre&gt;sync
reboot&lt;/pre&gt;


&lt;p&gt;=&amp;gt; Lors de ce reboot, nous devons toujours taper &lt;em&gt;la phrase secrète habituelle&lt;/em&gt; de notre système, car son &lt;em&gt;initramfs&lt;/em&gt; ne sait pas encore utiliser la clé résidant sur le support externe.&lt;/p&gt;


&lt;h3&gt;Génération d'un &lt;em&gt;initramfs&lt;/em&gt; compatible avec la clé sur support externe.&lt;/h3&gt;


&lt;p&gt;Pour que notre système puisse utiliser la clé que nous avons fabriquée puis installée, il nous faut ajouter dans l'initramfs le script &amp;quot;&lt;em&gt;&lt;a href=&quot;http://petaramesh.org/public/arc/projects/cryptsetup/bootkeyscript&quot;&gt;bootkeyscript&lt;/a&gt;&lt;/em&gt;&amp;quot; que j'ai écrit et que vous trouverez en attachement.&lt;br /&gt;
Ce script est très souple, car il détecte automatiquement si la partition contenant la clé est chiffrée ou non, et en demande le mot de passe le cas échéant. De plus, si l'unité externe n'est pas présente, il vous sera possible de taper une &lt;em&gt;phrase secrète&lt;/em&gt; à la main - si toutefois votre système en reconnaît encore une comme valide.&lt;/p&gt;


&lt;h4&gt;Installation du script &amp;quot;&lt;em&gt;bootkeyscript&lt;/em&gt;&amp;quot;&lt;/h4&gt;


&lt;p&gt;Installez ce script dans un répertoire approprié de votre système (je vous suggère &lt;code&gt;/usr/local/sbin&lt;/code&gt;), et rendez-le exécutable avec &amp;quot;&lt;code&gt;chmod 755 /usr/local/sbin/bootkeyscript&lt;/code&gt;&amp;quot;.&lt;/p&gt;


&lt;h4&gt;Inclusion de l'utilitaire &amp;quot;stty&amp;quot; dans l'initramfs&lt;/h4&gt;


&lt;p&gt;Créez un script que vous appellerez &amp;quot;&lt;code&gt;include_stty&lt;/code&gt;&amp;quot; dans le répertoire &lt;code&gt;/etc/initramfs-tools/hooks&lt;/code&gt;, avec le contenu suivant :&lt;/p&gt;


&lt;pre&gt;#! /bin/sh
. /usr/share/initramfs-tools/hook-functions
copy_exec /bin/stty /bin&lt;/pre&gt;


&lt;p&gt;Rendez ce script exécutable : &lt;code&gt;chmod 744 /etc/initramfs-tools/hooks/include_stty&lt;/code&gt;&lt;/p&gt;


&lt;h4&gt;Inclusion de l'utilitaire &amp;quot;udevsettle&amp;quot; dans l'initramfs&lt;/h4&gt;


&lt;p&gt;Créez un script que vous appellerez &amp;quot;&lt;code&gt;include_udevsettle&lt;/code&gt;&amp;quot; dans le répertoire &lt;code&gt;/etc/initramfs-tools/hooks&lt;/code&gt;, avec le contenu suivant :&lt;/p&gt;


&lt;pre&gt;#! /bin/sh
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/udevsettle /sbin&lt;/pre&gt;


&lt;p&gt;Rendez ce script exécutable : &lt;code&gt;chmod 744 /etc/initramfs-tools/hooks/include_udevsettle&lt;/code&gt;&lt;/p&gt;


&lt;h4&gt;Edition de /etc/crypttab&lt;/h4&gt;


&lt;p&gt;Editez votre fichier &lt;code&gt;/etc/crypttab&lt;/code&gt; : C'est lui qui indiquera au système qu'il faut utiliser le script, et où se trouve la clé. En fonction du périphérique externe que vous utilisez et du nom que vous avez choisi pour votre fichier-clé, la ligne concernant votre LVM chiffrée devra désormais prendre l'aspect suivant :&lt;/p&gt;


&lt;pre&gt;# &amp;lt;target name&amp;gt; &amp;lt;source device&amp;gt; &amp;lt;key file&amp;gt; &amp;lt;options&amp;gt;
crypt_VG1 /dev/sda2 sdb2:.bootkey   luks,tries=3,lvm=crypt_VG1-LV_ROOTFS,keyscript=/usr/local/sbin/bootkeyscript&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;À noter :&lt;/strong&gt; l'emplacement du &amp;quot;&lt;em&gt;key file&lt;/em&gt;&amp;quot; se note ici sous la forme &lt;code&gt;partition/fichier&lt;/code&gt; (avec des sous-répertoires si vous le souhaitez, mais sans &amp;quot;/&amp;quot; de début), sans indiquer &amp;quot;&lt;code&gt;/dev/...&lt;/code&gt;&amp;quot; ni le point de montage, qui sont automatiques.&lt;br /&gt;
La partition peut être définie sous l'une des syntaxes suivantes :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;sdb1&lt;/em&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;em&gt;nom_du_fichier_clé&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LABEL=&lt;/strong&gt;&lt;em&gt;label_du_filesystem&lt;/em&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;em&gt;nom_du_fichier_clé&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UUID=&lt;/strong&gt;&lt;em&gt;UUID_du_filesystem&lt;/em&gt;&lt;strong&gt;:&lt;/strong&gt;&lt;em&gt;nom_du_fichier_clé&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les deux dernières formes permettant de définir le filesystem par son &lt;em&gt;label&lt;/em&gt; ou son &lt;em&gt;UUID&lt;/em&gt;, indépendamment du périphérique amovible dans lequel ce système de fichiers pourra être trouvé.&lt;br /&gt;
Si le filesystem est chiffré LUKS, on pourra le définir par l'UUID du container LUKS, mais pas par le LABEL du filesystem (invisible tant que le container chiffré n'a pas été ouvert).&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Ne vous trompez pas en modifiant ce fichier !&lt;/strong&gt; Par rapport à votre installation antérieure, il vous faut seulement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modifier &amp;quot;&lt;em&gt;key file&lt;/em&gt;&amp;quot; de &amp;quot;&lt;code&gt;none&lt;/code&gt;&amp;quot; à l'emplacement de votre fichier-clé ;&lt;/li&gt;
&lt;li&gt;Ajouter à la fin des options &amp;quot;&lt;code&gt;keyscript=/usr/local/sbin/bootkeyscript&lt;/code&gt;&amp;quot;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le reste ne change pas par rapport à précédemment.&lt;/p&gt;


&lt;p&gt;Nous avons presque terminé.&lt;/p&gt;


&lt;h4&gt;Génération de l&lt;em&gt;'initramfs&lt;/em&gt; final :&lt;/h4&gt;


&lt;pre&gt;update-initramfs -v -u&lt;/pre&gt;


&lt;p&gt;...Et il ne nous reste plus qu'à &lt;em&gt;rebooter&lt;/em&gt; proprement.&lt;/p&gt;


&lt;p&gt;- Si le périphérique contenant la clé est présent, la machine bootera automatiquement (elle demandera le mot de passe du périphérique-clé automatiquement,