<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://blog.roxing.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>blog.roxing.net</title>
	<link>http://blog.roxing.net/</link>
	<description>weblog roxing.net - astuces spip, php, bash, linux &amp; more</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://blog.roxing.net/spip.php?id_mot=9&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>blog.roxing.net</title>
		<url>https://blog.roxing.net/local/cache-vignettes/L144xH37/siteon0-6ddb5.png?1727125340</url>
		<link>http://blog.roxing.net/</link>
		<height>37</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Compiler un kernel pour LXC</title>
		<link>https://blog.roxing.net/compiler-un-kernel-pour-lxc</link>
		<guid isPermaLink="true">https://blog.roxing.net/compiler-un-kernel-pour-lxc</guid>
		<dc:date>2013-06-20T14:24:36Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>kernel</dc:subject>
		<dc:subject>ovh</dc:subject>
		<dc:subject>grub2</dc:subject>
		<dc:subject>cgroup</dc:subject>
		<dc:subject>openvz</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>LXC</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>&lt;p&gt;Suite &#224; l'abandon de la technologie openvz dans les d&#233;pots officiels de debian wheezy ; Je dois me mettre &#224; la page et utiliser LXC pour virtualiser mes environements linux.&lt;br class='autobr' /&gt;
Le comble c'est que LXC ne n&#233;cessite pas de recompilation de noyaux mais malheureusement les kernels livr&#233;s par ovh n'ont pas les cgroup d'activ&#233;s&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/kernel" rel="tag"&gt;kernel&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/ovh" rel="tag"&gt;ovh&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/grub2" rel="tag"&gt;grub2&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/cgroup" rel="tag"&gt;cgroup&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/openvz" rel="tag"&gt;openvz&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/lxc" rel="tag"&gt;LXC&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;cup&#233;rer les sources du noyau, le patch grsec et la config ovh qui va bien&lt;/h2&gt;
&lt;p&gt;Se rendre dans un dossier de travail&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd /usr/src&lt;/textarea&gt;
&lt;p&gt;T&#233;l&#233;chargement du kernel&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.9.6.tar.xz&lt;/textarea&gt;
&lt;p&gt;T&#233;l&#233;chargement du patch grsecurity&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;tous les patchs Grsec sur github&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; correspondant &#224; la version du noyau (3.9.6 dans l'article)&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget https://raw.github.com/slashbeast/grsecurity-scrape/master/test/grsecurity-2.9.1-3.9.6-201306182033.patch&lt;/textarea&gt;
&lt;p&gt;r&#233;cuperer la config du noyaux ovh sur leur serveur ftp&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Tous les noyaux ovh ftp://ftp.ovh.net/made-in-ovh/bzImage&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-production/config-3.8.13-xxxx-grs-ipv6-64&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;parer les sources&lt;/h2&gt;
&lt;p&gt;d&#233;compresser&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;package xz-utils sur debian et consorts&#034; id=&#034;nh3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt; le noyau&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;tar -Jxf linux-3.9.6.tar.xz&lt;/textarea&gt;
&lt;p&gt;copier la configuration ovh dans racine du noyau linux d&#233;compress&#233; pr&#233;c&#233;demment&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cp config-3.8.13-xxxx-grs-ipv6-64 linux-3.9.6&lt;/textarea&gt;
&lt;p&gt;aller dans le r&#233;pertoire du noyau fraichement d&#233;compress&#233;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd linux-3.9.6&lt;/textarea&gt;
&lt;p&gt;appliquer le patch grsec&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;patch -p1 &lt; ../grsecurity-2.9.1-3.9.6-201306182033.patch&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Configuration des cgroups&lt;/h2&gt;
&lt;p&gt;dans le repertoire du kernel, lancer l'utilitaire de configuration du noyau &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make menuconfig&lt;/code&gt; et configurer lxc cgroup&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;d'apr&#233;s la page du wiki de lxc sur le sourceforge officiel&#034; id=&#034;nh4&#034;&gt;4&lt;/a&gt;]&lt;/span&gt; en activant les options suivantes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='bash spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;-&gt; General setup [renommer votre kernel] Local version - append to kernel release -&gt; Control Group support [x] Namespace cgroup subsystem [x] Freezer cgroup subsystem [x] Cpuset support [x] Simple CPU accounting cgroup subsystem [x] Resource counters [x] Memory resource controllers for Control Groups -&gt; Group CPU scheduler [x] Basis for grouping tasks (Control Groups) (!) [x] Group scheduling for SCHED_OTHER (NEW) [x] CPU bandwidth provisioning for FAIR_GROUP_SCHED [x] Group scheduling for SCHED_RR/FIFO -&gt; Namespaces support [x] UTS namespace [x] IPC namespace [x] User namespace (!) [x] Pid namespace [x] Network namespace -&gt; Device Drivers -&gt; Character devices [x] Support multiple instances of devpts [*] Unix98 PTY support -&gt; Network device support [x] MAC-VLAN support [x] Virtual ethernet pair device -&gt; Networking support -&gt; Networking options [x] 802.1d Ethernet Bridging [x] Network priority cgroup -&gt; Security options [x] File POSIX Capabilities (!)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;attention&#034;&gt;
(!) suivant la version/configuration du kernel certaines options peuvent &#234;tre d&#233;plac&#233;es ou inexistantes. Pour activer l'option &lt;strong&gt;usernamespace&lt;/strong&gt; je suis tomb&#233; sur un bug pour le noyau 3.8. De plus une contrainte oblige a d&#233;sactiver le syst&#232;me de fichier &lt;strong&gt;XFS&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;bug 917708 de compatibilit&#233;&#034; id=&#034;nh5&#034;&gt;5&lt;/a&gt;]&lt;/span&gt; pour pouvoir activer cette option.
XFS devrait &#234;tre support&#233; &#224; partir des versions 3.10 du kernel linux.
&lt;/div&gt;
&lt;p&gt;Une fois votre configuration termin&#233;e, retourner sur la page d'accueil de menuconfig s&#233;lectionner &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt; Exit &gt;&lt;/code&gt;, une boite de dialogue vous demande d'enregistrer votre configuration selectionner &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt; yes &gt;&lt;/code&gt; avant de quitter.&lt;/p&gt;
&lt;p&gt;Avant de compiler, On va tester la configuration :&lt;/p&gt;
&lt;pre&gt; CONFIG=/usr/src/linux-3.9.6/.config lxc-checkconfig --- Namespaces --- Namespaces: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Utsname namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Ipc namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Pid namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; User namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Network namespace: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Multiple /dev/pts instances: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; --- Control groups --- Cgroup: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup clone_children flag: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup device: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup sched: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup cpu account: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Cgroup memory controller: &lt;span style=&#034;color:#CC6600&#034;&gt;missing&lt;/span&gt; (!) Cgroup cpuset: &lt;span style=&#034;green&#034;&gt;enabled&lt;/span&gt; --- Misc --- Veth pair device: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Macvlan: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; Vlan: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; File capabilities: &lt;span style=&#034;color:green&#034;&gt;enabled&lt;/span&gt; &lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Cgroup memory controller : missing (!) - Debian Wheezy&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;attention&#034;&gt; Sur Debian wheezy, avec le paquet lxc, la configuration de &#034;memory controller&#034; semble manquante. En installant la derni&#232;re version de &lt;a href=&#034;http://ftp.fr.debian.org/debian/pool/main/l/lxc/lxc_0.9.0~alpha3-2_amd64.deb&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;lxc&lt;/a&gt; (0.9) la v&#233;rification devient OK
&lt;/div&gt;
&lt;p&gt;Youpi ! la configuration est maintenant termin&#233;e, il est temps de lancer la compilation avant de boire un caf&#233; !&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Compilation du noyau&lt;/h2&gt;
&lt;p&gt;Penser &#224; installer les outils pour la compilation des noyaux. Sur Debian, le paquet s'appelle build-essential c'est un meta-paquet d&#233;di&#233; a l'installation de tous les outils de compilation make, gcc, etc..&lt;/p&gt;
&lt;p&gt;Lancer la compilation, ou -j X (correspond au nombre de core ) :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;make -j 8&lt;/textarea&gt;
&lt;p&gt;Le kernel se retrouve dans le dossier arch/x86/boot. On va Copier/renommer le nouveau kernel dans le dossier /boot du syst&#232;me :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cp arch/x86/boot/bzImage /boot/bzImage-3.9.6-xxxx-grs-ipv6-64-lxc&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Installer le kernel et red&#233;marrer &lt;/h2&gt;
&lt;p&gt;Je vous invite &#224; consulter mon article pr&#233;c&#233;dent intitul&#233; &lt;a href='https://blog.roxing.net/installer-un-nouveau-kernel-linux-en-5-etapes' class=&#034;spip_in&#034;&gt;Installer un nouveau kernel Linux en 5 &#233;tapes&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;tous les patchs &lt;a href=&#034;https://github.com/slashbeast/grsecurity-scrape/tree/master/test&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Grsec sur github&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;Tous les noyaux ovh &lt;a href=&#034;ftp://ftp.ovh.net/made-in-ovh/bzImage&#034; class=&#034;spip_out&#034;&gt;ftp://ftp.ovh.net/made-in-ovh/bzImage&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3&#034; class=&#034;spip_note&#034; title=&#034;Notes 3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;package xz-utils sur debian et consorts&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4&#034; class=&#034;spip_note&#034; title=&#034;Notes 4&#034; rev=&#034;appendix&#034;&gt;4&lt;/a&gt;] &lt;/span&gt;d'apr&#233;s la page du wiki de lxc sur le &lt;a href=&#034;http://lxc.sourceforge.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sourceforge officiel&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5&#034; class=&#034;spip_note&#034; title=&#034;Notes 5&#034; rev=&#034;appendix&#034;&gt;5&lt;/a&gt;] &lt;/span&gt;bug &lt;a href=&#034;https://bugzilla.redhat.com/show_bug.cgi?id=917708&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;917708&lt;/a&gt; de compatibilit&#233;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Configuration du kernel r&#233;alis&#233; &#224; partir de &lt;a href=&#034;http://lxc.sourceforge.net/man/lxc.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://lxc.sourceforge.net/man/lxc.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Installer un kernel linux en 5 &#233;tapes</title>
		<link>https://blog.roxing.net/installer-un-nouveau-kernel-linux-en-5-etapes</link>
		<guid isPermaLink="true">https://blog.roxing.net/installer-un-nouveau-kernel-linux-en-5-etapes</guid>
		<dc:date>2013-05-17T02:44:19Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Pierrox</dc:creator>


		<dc:subject>kernel</dc:subject>
		<dc:subject>ovh</dc:subject>
		<dc:subject>grub2</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>howto</dc:subject>

		<description>
&lt;p&gt;1 - Mettre le nouveau kernel linux super optimis&#233; dans le dossier /boot wget http://mon.super.kernel.com/bzimage-superkernel /boot2 - Editer Le fichier de &#034;pr&#233;-configuration&#034; personnalis&#233; pour Grub2 nano /etc/grub.d/40_custom &lt;br class='autobr' /&gt;
Et ajouter une entr&#233;e en s'inspirant de /boot/grub/grub.cfg (notamment pour les uuid) pour votre tout nouveau kernel
&lt;br class='autobr' /&gt;
menuentry &#034;Super Kernel&#034; insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search (&#8230;)&lt;/p&gt;


-
&lt;a href="https://blog.roxing.net/administration-systeme" rel="directory"&gt;administration syst&#232;me&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/kernel" rel="tag"&gt;kernel&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/ovh" rel="tag"&gt;ovh&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/grub2" rel="tag"&gt;grub2&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/howto" rel="tag"&gt;howto&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;1 - Mettre le nouveau kernel linux super optimis&#233; dans le dossier /boot&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;wget http://mon.super.kernel.com/bzimage-superkernel /boot&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;2 - Editer Le fichier de &#034;pr&#233;-configuration&#034; personnalis&#233; pour Grub2&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;nano /etc/grub.d/40_custom&lt;/textarea&gt;
&lt;p&gt;Et ajouter une entr&#233;e en s'inspirant de &lt;strong&gt;/boot/grub/grub.cfg&lt;/strong&gt; (notamment pour les uuid) pour votre tout nouveau kernel&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='9' class='spip_cadre spip_cadre_block' dir='ltr'&gt;menuentry &#034;Super Kernel&#034; { insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set 698e9aea-42f5-4c38-adc5-a34a4b7c0c11 linux /boot/bzimage-superkernel root=/dev/sda1 ro quiet }&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;3 - Forcer Grub &#224; utiliser le Super Kernel par d&#233;faut&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;nano /etc/default/grub&lt;/textarea&gt;
&lt;p&gt;rep&#233;rer la ligne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;GRUB_DEFAULT=&#034;1&#034;&lt;/code&gt;, sinon l'ajouter.&lt;/p&gt;
&lt;p&gt;Modifier par le nom du &#034;menuentry&#034; cr&#233;&#233; pr&#233;c&#233;demment.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;GRUB_DEFAULT=&#034;Super Kernel&#034;&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;4 - R&#233;g&#233;n&#233;rer le fichier de config de Grub2&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;grub-mkconfig -o /boot/grub/grub.cfg&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;5 - Zen et Confiant on Reboot !&lt;/h2&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
