<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Busybox_init</id>
	<title>Busybox init - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Busybox_init"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;action=history"/>
	<updated>2026-05-19T08:47:55Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1502&amp;oldid=prev</id>
		<title>Ycharbi : /* Busybox */ Ajout d&#039;un lien vers les sources de Busybox en caches dans nos fichiers</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1502&amp;oldid=prev"/>
		<updated>2024-01-28T11:16:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Busybox : &lt;/span&gt; Ajout d&amp;#039;un lien vers les sources de Busybox en caches dans nos fichiers&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 28 janvier 2024 à 11:16&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Ligne 56 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 56 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;wget https://www.busybox.net/downloads/busybox-1.36.1.tar.bz2.sha256&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;wget https://www.busybox.net/downloads/busybox-1.36.1.tar.bz2.sha256&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note : le code source est également disponible dans [https://{{SERVERNAME}}/fichiers/système/applications/busybox/busybox-1.36.1.tar.bz2 nos fichiers].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vérification d&amp;#039;intégrité&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vérification d&amp;#039;intégrité&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1489&amp;oldid=prev</id>
		<title>Ycharbi : Suppression d&#039;un &quot;cd ~&quot; inutile + ajout de la commande permettant d&#039;installer Qemu sans tout le bordel associé afin de réaliser les tests + ajout du code source de linux dans nos fichiers</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1489&amp;oldid=prev"/>
		<updated>2023-11-02T10:41:31Z</updated>

		<summary type="html">&lt;p&gt;Suppression d&amp;#039;un &amp;quot;cd ~&amp;quot; inutile + ajout de la commande permettant d&amp;#039;installer Qemu sans tout le bordel associé afin de réaliser les tests + ajout du code source de linux dans nos fichiers&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 2 novembre 2023 à 10:41&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Ligne 19 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 19 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.sign -P ~&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.sign -P ~&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note : le code source est également disponible dans [https://{{SERVERNAME}}/fichiers/système/noyaux/linux/linux-6.6.tar.xz nos fichiers].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Décompression de l&amp;#039;archive des sources&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Décompression de l&amp;#039;archive des sources&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l93&quot;&gt;Ligne 93 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 95 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Création et formatage de la mémoire racine&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Création et formatage de la mémoire racine&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; cd ~&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  dd if=/dev/zero of=~/busybox.dd bs=1M count=1024&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  dd if=/dev/zero of=~/busybox.dd bs=1M count=1024&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  mkfs.ext4 ~/busybox.dd&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  mkfs.ext4 ~/busybox.dd&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l172&quot;&gt;Ligne 172 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 173 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note : si vous comptez poursuivre les étapes des sections suivantes, pensez à remonter ce système de fichier ou à en copier le contenu dans un autre répertoire de travail afin de ne pas recommencer à zéro.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note : si vous comptez poursuivre les étapes des sections suivantes, pensez à remonter ce système de fichier ou à en copier le contenu dans un autre répertoire de travail afin de ne pas recommencer à zéro.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Test du système avec &#039;&#039;Qemu&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Test du système avec &#039;&#039;Qemu&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(&amp;lt;code&amp;gt;apt install --no-install-recommends qemu-system-x86&amp;lt;/code&amp;gt;)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1487&amp;oldid=prev</id>
		<title>Ycharbi : /* Linux */ Suppression de la dépendance inutile &quot;git&quot;</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1487&amp;oldid=prev"/>
		<updated>2023-11-01T19:25:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Linux : &lt;/span&gt; Suppression de la dépendance inutile &amp;quot;git&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 1 novembre 2023 à 19:25&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Ligne 9 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 9 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Linux=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Linux=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Installation des dépendances&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Installation des dépendances&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;git &lt;/del&gt;libelf-dev libssl-dev libncurses-dev dwarves&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev libelf-dev libssl-dev libncurses-dev dwarves&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Téléchargement des sources du dernier noyau stable (01/11/2023)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Téléchargement des sources du dernier noyau stable (01/11/2023)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1486&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category:distributions_linux  Busybox intègre &lt;code&gt;init&lt;/code&gt;, un programme pouvant être amorcé directement par un noyau &#039;&#039;Linux&#039;&#039; au démarrage d&#039;une machine. Il est ainsi possible de concevoir un système d&#039;exploitation léger composé uniquement d&#039;un noyau et de &#039;&#039;Busybox&#039;&#039;. L&#039;adjonction d&#039;outils supplémentaires sur cette base minimaliste pourra engendrer une distribution spécifiquement conçue pour un besoin particulier. Cette association s’a... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Busybox_init&amp;diff=1486&amp;oldid=prev"/>
		<updated>2023-11-01T19:24:46Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Distributions_linux&quot; title=&quot;Catégorie:Distributions linux&quot;&gt;Category:distributions_linux&lt;/a&gt;  &lt;a href=&quot;/index.php/Busybox&quot; title=&quot;Busybox&quot;&gt;Busybox&lt;/a&gt; intègre &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt;, un programme pouvant être amorcé directement par un noyau &amp;#039;&amp;#039;Linux&amp;#039;&amp;#039; au démarrage d&amp;#039;une machine. Il est ainsi possible de concevoir un système d&amp;#039;exploitation léger composé uniquement d&amp;#039;un noyau et de &amp;#039;&amp;#039;Busybox&amp;#039;&amp;#039;. L&amp;#039;adjonction d&amp;#039;outils supplémentaires sur cette base minimaliste pourra engendrer une distribution spécifiquement conçue pour un besoin particulier. Cette association s’a... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:distributions_linux]]&lt;br /&gt;
&lt;br /&gt;
[[Busybox]] intègre &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt;, un programme pouvant être amorcé directement par un noyau &amp;#039;&amp;#039;Linux&amp;#039;&amp;#039; au démarrage d&amp;#039;une machine. Il est ainsi possible de concevoir un système d&amp;#039;exploitation léger composé uniquement d&amp;#039;un noyau et de &amp;#039;&amp;#039;Busybox&amp;#039;&amp;#039;. L&amp;#039;adjonction d&amp;#039;outils supplémentaires sur cette base minimaliste pourra engendrer une distribution spécifiquement conçue pour un besoin particulier. Cette association s’avère donc particulièrement intéressante dans des systèmes embarqués tel que les &amp;#039;&amp;#039;appliances&amp;#039;&amp;#039; réseau comme [https://openwrt.org/ OpenWRT] ou [https://dd-wrt.com/ DD-WRT].&lt;br /&gt;
&lt;br /&gt;
Nous verrons comment construire un tel système en partant des sources de chaque programmes depuis une &amp;#039;&amp;#039;GNU/Linux Debian 12 Bookworm&amp;#039;&amp;#039;. Les compilations se feront avec l&amp;#039;ensemble des paramètres par défaut. Je recommande d&amp;#039;utiliser une machine (virtuelle &amp;#039;&amp;#039;amd64&amp;#039;&amp;#039; dans mon cas) spécifiquement installée pour cet usage car un grand nombre de dépendances est nécessaire et il serait dommage de pourrir votre environnement de travail...&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;espace de travail sera le répertoire personnel de l&amp;#039;utilisateur &amp;#039;&amp;#039;root&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=Linux=&lt;br /&gt;
Installation des dépendances&lt;br /&gt;
 apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev git libelf-dev libssl-dev libncurses-dev dwarves&lt;br /&gt;
&lt;br /&gt;
Téléchargement des sources du dernier noyau stable (01/11/2023)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Code source&lt;br /&gt;
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz -P ~&lt;br /&gt;
# Signature GPG&lt;br /&gt;
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.sign -P ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Décompression de l&amp;#039;archive des sources&lt;br /&gt;
 unxz -k ~/linux-6.6.tar.xz&lt;br /&gt;
&lt;br /&gt;
Vérification de la signature GPG de l&amp;#039;archive&lt;br /&gt;
 apt install gnupg2&lt;br /&gt;
 gpg2 --locate-keys torvalds@kernel.org gregkh@kernel.org&lt;br /&gt;
 gpg2 --tofu-policy good 38DBBDC86092693E&lt;br /&gt;
 gpg2 --tofu-policy good 79BE3E4300411886&lt;br /&gt;
 gpg2 --trust-model tofu --verify ~/linux-6.6.tar.sign&lt;br /&gt;
&lt;br /&gt;
Note : la dernière commande doit vous renvoyer plusieurs lignes de résultat dont &amp;lt;code&amp;gt;gpg: Bonne signature de « Greg Kroah-Hartman &amp;lt;gregkh@kernel.org&amp;gt; » [totale]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Désarchivage des sources&lt;br /&gt;
 tar xvf ~/linux-6.6.tar&lt;br /&gt;
 cd ~/linux-6.6/&lt;br /&gt;
&lt;br /&gt;
Création d&amp;#039;une configuration de confection saine avec les paramètres par défaut et compilation avec 4 cœurs de processeur&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make defconfig&lt;br /&gt;
make -j4&lt;br /&gt;
# Retour dans le répertoire personnel&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le noyau compilé pour notre architecture x86 64bits se trouve à l&amp;#039;emplacement suivant : &amp;lt;code&amp;gt;~/linux-6.6/arch/x86/boot/bzImage&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Busybox=&lt;br /&gt;
Téléchargement des sources&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.busybox.net/downloads/busybox-1.36.1.tar.bz2&lt;br /&gt;
wget https://www.busybox.net/downloads/busybox-1.36.1.tar.bz2.sha256&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vérification d&amp;#039;intégrité&lt;br /&gt;
 sha256sum -c ~/busybox-1.36.1.tar.bz2.sha256&lt;br /&gt;
&lt;br /&gt;
Note : la vérification d&amp;#039;intégrité doit renvoyer &amp;lt;code&amp;gt;Réussi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Extraction de l&amp;#039;archive compressée&lt;br /&gt;
 tar xvf ~/busybox-1.36.1.tar.bz2&lt;br /&gt;
 cd ~/busybox-1.36.1/&lt;br /&gt;
&lt;br /&gt;
Configuration par défaut et compilation du code avec lien statique afin d&amp;#039;embarquer les dépendances dans le binaire final&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make defconfig&lt;br /&gt;
make -j4 LDFLAGS=&amp;quot;--static&amp;quot;&lt;br /&gt;
# Retour dans le répertoire personnel&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Busybox&amp;#039;&amp;#039; est désormais disponible ici : &amp;lt;code&amp;gt;~/busybox-1.36.1/busybox&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Média d&amp;#039;amorce=&lt;br /&gt;
Nous avons dés à présent en notre possession tous les programmes de notre future système d&amp;#039;exploitation. Vous pouvez préparer les vôtres en vue de les intégrer dans les sections qui suivent.&lt;br /&gt;
&lt;br /&gt;
Les méthodes d&amp;#039;amorçages peuvent varier selon les besoins et votre convenance. Je répertorie personnellement 3 cas d&amp;#039;usage :&lt;br /&gt;
# mémoire morte avec système de fichier classique type &amp;#039;&amp;#039;EXT4&amp;#039;&amp;#039;&lt;br /&gt;
# [https://fr.wikipedia.org/wiki/Initrd initramfs]&lt;br /&gt;
# &amp;#039;&amp;#039;PXE&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Toute les démonstrations seront réalisées via [[Qemu]]. La mise en œuvre du réseau ne sera pas détaillée car j&amp;#039;utilise des scripts personnalisés avec mon système. La création d&amp;#039;une interface &amp;#039;&amp;#039;tap&amp;#039;&amp;#039; et son exploitation via la directive &amp;lt;code&amp;gt;-device virtio-net-pci,netdev=network0,mac=$tap_mac -netdev tap,id=network0,ifname=$int_tap,script=no,downscript=no&amp;lt;/code&amp;gt; permet de lier la machine virtuel au réseau physique via l&amp;#039;adjonction d&amp;#039;un pont réseau.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;étape &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; fera office de tronc commun aux autres sections afin de ne pas alourdir le document avec une redondance inutile et difficilement maintenable. Seule celle-ci nécessite l&amp;#039;utilisation d&amp;#039;un périphérique de type bloc, les deux autres peuvent êtres réalisées directement dans &amp;lt;code&amp;gt;~/rootfs&amp;lt;/code&amp;gt; si vous le désirez. La réalisation successive des trois étapes est toutefois possible. Il faudra simplement penser à remonter &amp;lt;code&amp;gt;~/rootfs&amp;lt;/code&amp;gt; afin de ne pas travailler dans un répertoire vide...&lt;br /&gt;
&lt;br /&gt;
==1. Amorçage en mémoire morte==&lt;br /&gt;
Cette façon de faire permet de modifier simplement le contenu de votre distribution après coup. Il suffit pour se faire de monter le système de fichier en écriture pour y actualiser son contenu à votre guise.&lt;br /&gt;
&lt;br /&gt;
Pour l&amp;#039;exemple, je créerai un fichier simulant un périphérique de type bloc du nom de &amp;lt;code&amp;gt;busybox.dd&amp;lt;/code&amp;gt; au même titre qu&amp;#039;une mémoire morte. En condition réelle, remplacez celui-ci par votre périphérique physique : &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;/dev/mmcblk&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;/dev/nvme0n1&amp;lt;/code&amp;gt;...&lt;br /&gt;
&lt;br /&gt;
Création et formatage de la mémoire racine&lt;br /&gt;
 cd ~&lt;br /&gt;
 dd if=/dev/zero of=~/busybox.dd bs=1M count=1024&lt;br /&gt;
 mkfs.ext4 ~/busybox.dd&lt;br /&gt;
&lt;br /&gt;
Création et montage de l&amp;#039;environnement de travail&lt;br /&gt;
 mkdir -p ~/rootfs&lt;br /&gt;
 mount ~/busybox.dd ~/rootfs&lt;br /&gt;
 cd ~/busybox-1.36.1/&lt;br /&gt;
&lt;br /&gt;
Installation de l&amp;#039;arborescence du système &amp;#039;&amp;#039;Busybox&amp;#039;&amp;#039; dans notre système de fichiers avec [https://stackoverflow.com/questions/49369508/kernel-panic-not-syncing-requested-init-linuxrc-failed-error-2 lien statiques]&lt;br /&gt;
 make install CONFIG_PREFIX=../rootfs LDFLAGS=&amp;quot;--static&amp;quot;&lt;br /&gt;
 cd ~&lt;br /&gt;
&lt;br /&gt;
Cette étape a créée les répertoires standards permettant d’accueillir les binaires usuels du système selon la [https://fr.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Filesystem Hierarchy Standard] (&amp;#039;&amp;#039;FHS&amp;#039;&amp;#039;). L&amp;#039;exécutable &amp;lt;code&amp;gt;busybox&amp;lt;/code&amp;gt; précédemment compilé a été copié dans le nouveau &amp;lt;code&amp;gt;/bin&amp;lt;/code&amp;gt; et des liens symboliques ont étés créés pointant vers celui-ci avec le nom de tous les utilitaires qu&amp;#039;il contient.&lt;br /&gt;
&lt;br /&gt;
Création des points montages des pseudos systèmes de fichiers usuels, de la table de montages statiques et du répertoire accueillant notre futur script d&amp;#039;initialisation&lt;br /&gt;
 mkdir -p ~/rootfs/proc ~/rootfs/sys ~/rootfs/dev&lt;br /&gt;
 mkdir -p ~/rootfs/etc&lt;br /&gt;
 touch ~/rootfs/etc/fstab&lt;br /&gt;
 mkdir -p ~/rootfs/etc/init.d&lt;br /&gt;
&lt;br /&gt;
Script d&amp;#039;initialisation du système&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
bash -c &amp;quot;cat &amp;gt; ~/rootfs/etc/init.d/rcS&amp;quot; &amp;lt;&amp;lt; _EOF_&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# Message d&amp;#039;accueil&lt;br /&gt;
echo &amp;quot;Busybox ycharbi.fr&amp;quot;&lt;br /&gt;
# Pseudos systèmes de fichiers usuels&lt;br /&gt;
mount -t proc proc /proc&lt;br /&gt;
mount -t sysfs sysfs /sys&lt;br /&gt;
mount -t devtmpfs none /dev&lt;br /&gt;
&lt;br /&gt;
# Configuration réseau&lt;br /&gt;
ip addr add 10.0.0.1/24 dev eth0&lt;br /&gt;
ip link set dev eth0 up&lt;br /&gt;
ip route add default via 10.0.0.254 dev eth0&lt;br /&gt;
&lt;br /&gt;
# Clavier en AZERTY&lt;br /&gt;
loadkmap &amp;lt; /etc/fr.map&lt;br /&gt;
_EOF_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attribution du droit d&amp;#039;exécution au script d&amp;#039;initialisation&lt;br /&gt;
 chmod +x ~/rootfs/etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
Configuration des Télétypes (&amp;#039;&amp;#039;TTY&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
bash -c &amp;quot;cat &amp;gt; ~/rootfs/etc/inittab&amp;quot; &amp;lt;&amp;lt; _EOF_&lt;br /&gt;
::sysinit:/etc/init.d/rcS&lt;br /&gt;
ttyS0::respawn:/bin/sh&lt;br /&gt;
tty2::askfirst:-/bin/sh&lt;br /&gt;
tty3::askfirst:-/bin/sh&lt;br /&gt;
tty4::askfirst:-/bin/sh&lt;br /&gt;
tty4::respawn:/sbin/getty 38400 tty5&lt;br /&gt;
tty5::respawn:/sbin/getty 38400 tty6&lt;br /&gt;
::ctrlaltdel:/sbin/reboot&lt;br /&gt;
::shutdown:/sbin/swapoff -a&lt;br /&gt;
::shutdown:/bin/umount -a -r&lt;br /&gt;
::restart:/sbin/init&lt;br /&gt;
_EOF_&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce fichier définit les &amp;#039;&amp;#039;TTY&amp;#039;&amp;#039; qui doivent êtres invoqués au lancement de &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt;. Vous devrez probablement adapter ceci à votre besoin. La documentation de ces lignes ainsi que de la configuration appliquée par défaut en cas d&amp;#039;absence du fichier est disponible dans &amp;lt;code&amp;gt;~/busybox-1.36.1/examples/inittab&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Création du binaire de traduction clavier afin d&amp;#039;utiliser l{{&amp;#039;}}&amp;#039;&amp;#039;AZERTY&amp;#039;&amp;#039;&lt;br /&gt;
 busybox dumpkmap &amp;gt; ~/rootfs/etc/fr.map&lt;br /&gt;
&lt;br /&gt;
À ce stade, notre mémoire morte est prête.&lt;br /&gt;
&lt;br /&gt;
Pour permettre son amorçage, un éventail de possibilités s&amp;#039;offre à vous : [[Grub]]; [[Systemd-boot]]; [[Efibootmgr#Création_d&amp;#039;une_entrée_de_type_STUB|UEFI stub]]; [[Ipxe]]; [[Installation_slax_-_UEFI_64bits#Préparation_de_l&amp;#039;environnement_hôte|Syslinux]]... Pour ma part et comme précisé en introduction, j&amp;#039;utiliserai [[Qemu#Démarrage_de_la_machine_virtuelle|Qemu]] afin de simplifier au maximum l&amp;#039;exposé.&lt;br /&gt;
&lt;br /&gt;
Démontage du système de fichier&lt;br /&gt;
 umount ~/rootfs&lt;br /&gt;
&lt;br /&gt;
Note : si vous comptez poursuivre les étapes des sections suivantes, pensez à remonter ce système de fichier ou à en copier le contenu dans un autre répertoire de travail afin de ne pas recommencer à zéro.&lt;br /&gt;
&lt;br /&gt;
Test du système avec &amp;#039;&amp;#039;Qemu&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
--enable-kvm \&lt;br /&gt;
-m 2048 \&lt;br /&gt;
-device virtio-balloon \&lt;br /&gt;
-kernel ~/linux-6.6/arch/x86/boot/bzImage \&lt;br /&gt;
-append &amp;quot;ro root=/dev/sda console=ttyS0 quiet&amp;quot; \&lt;br /&gt;
-cpu host -smp cores=2,threads=1,sockets=1 \&lt;br /&gt;
-serial mon:stdio \&lt;br /&gt;
-drive id=disk,file=&amp;quot;${HOME}&amp;quot;/busybox.dd,format=raw,if=none \&lt;br /&gt;
-device ahci,id=ahci \&lt;br /&gt;
-device ide-hd,drive=disk,bus=ahci.0 \&lt;br /&gt;
-display none&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour un affichage sans port console, il faut supprimer le paramètre &amp;lt;code&amp;gt;console=ttyS0&amp;lt;/code&amp;gt; de la directive &amp;lt;code&amp;gt;-append&amp;lt;/code&amp;gt;; supprimer la directive &amp;lt;code&amp;gt;-display none&amp;lt;/code&amp;gt; et remplacer la ligne &amp;lt;code&amp;gt;ttyS0::respawn:/bin/sh&amp;lt;/code&amp;gt; par &amp;lt;code&amp;gt;tty1::respawn:/bin/sh&amp;lt;/code&amp;gt; dans le &amp;lt;code&amp;gt;inittab&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==2. Amorçage en initramfs==&lt;br /&gt;
L&amp;#039;utilisation d&amp;#039;un système de fichiers initial en mémoire à accès aléatoire apporte encore plus de légèreté à la solution. Un unique fichier compressé vient s&amp;#039;ajouter au noyau en cours d&amp;#039;exécution pour servir la racine construite précédemment. Le système est exécuté intégralement en mémoire vive et peut donc se voir distribué via des protocoles réseaux tel que &amp;#039;&amp;#039;TFTP&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Construction de l&amp;#039;archive compressée &amp;#039;&amp;#039;Initramfs&amp;#039;&amp;#039;&lt;br /&gt;
 cd ~/rootfs &amp;amp;&amp;amp; find . -print0 | cpio --null -ov --format=newc | gzip -9 &amp;gt; ../initramfs.cpio.gz &amp;amp;&amp;amp; cd ~&lt;br /&gt;
&lt;br /&gt;
Test du système avec &amp;#039;&amp;#039;Qemu&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
qemu-system-x86_64 \&lt;br /&gt;
--enable-kvm \&lt;br /&gt;
-m 2048 \&lt;br /&gt;
-device virtio-balloon \&lt;br /&gt;
-kernel ~/linux-6.6/arch/x86/boot/bzImage \&lt;br /&gt;
-append &amp;quot;ro rootfstype=ramfs rdinit=/sbin/init console=ttyS0 quiet&amp;quot; \&lt;br /&gt;
-initrd ~/initramfs.cpio.gz \&lt;br /&gt;
-cpu host -smp cores=2,threads=1,sockets=1 \&lt;br /&gt;
-serial mon:stdio \&lt;br /&gt;
-display none&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les différences de lancement sont :&lt;br /&gt;
* modification des paramètres noyau ([https://www.man7.org/linux/man-pages/man7/kernel-command-line.7.html cmdline]) de la directive &amp;lt;code&amp;gt;-append&amp;lt;/code&amp;gt;&lt;br /&gt;
* ajout de la directive &amp;lt;code&amp;gt;-initrd&amp;lt;/code&amp;gt;&lt;br /&gt;
* les directives concernant le disque &amp;#039;&amp;#039;SATA&amp;#039;&amp;#039; ont étés supprimées&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3. Amorçage initramfs via PXE==&lt;br /&gt;
Cette méthode d&amp;#039;amorçage ne varie pas beaucoup de la précédente puisque elle réutilise les mêmes éléments à savoir le noyau et l{{&amp;#039;}}&amp;#039;&amp;#039;Initramfs&amp;#039;&amp;#039;. Le delta sera sur la syntaxe du chargeur d&amp;#039;amorçage réseau utilisé ainsi que quelques paramètres passés au noyau. Voici la section fonctionnelle pour [[Ipxe]] :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!ipxe&lt;br /&gt;
&lt;br /&gt;
set menu-timeout 10000&lt;br /&gt;
set submenu-timeout ${menu-timeout}&lt;br /&gt;
isset ${menu-defaut} || set menu-defaut Debian_Buster&lt;br /&gt;
set serveur_ip 10.0.0.100&lt;br /&gt;
&lt;br /&gt;
menu&lt;br /&gt;
item --gap --           -------------DEMARRAGE EN RAM----------------&lt;br /&gt;
item busybox			Lancer Busybox&lt;br /&gt;
&lt;br /&gt;
choose --timeout ${menu-timeout} --default ${menu-default} target &amp;amp;&amp;amp; goto ${target}&lt;br /&gt;
&lt;br /&gt;
:busybox&lt;br /&gt;
kernel http://${serveur_ip}/systemes/noyaux/busybox/bzImage ro initrd=initramfs.cpio.gz rootfstype=ramfs rdinit=/sbin/init console=ttyS0&lt;br /&gt;
initrd http://${serveur_ip}/systemes/noyaux/busybox/initramfs.cpio.gz&lt;br /&gt;
boot&lt;br /&gt;
# https://ipxe.org/cmd/kernel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://dev.to/donaldsebleung/hello-embedded-world-booting-a-minimal-linux-with-busybox-on-risc-v-from-source-2ne9&lt;br /&gt;
* https://cs4118.github.io/dev-guides/debian-kernel-compilation.html&lt;br /&gt;
* &amp;#039;&amp;#039;POSIX Base Specifications Issue 7&amp;#039;&amp;#039; :&lt;br /&gt;
** https://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html&lt;br /&gt;
** Paramètres du shell Sh : https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>