<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.lesmorin.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.lesmorin.fr/index.php?action=history&amp;feed=atom&amp;title=Busybox_init"/>
	<link rel="alternate" type="text/html" href="https://doc.lesmorin.fr/index.php?title=Busybox_init&amp;action=history"/>
	<updated>2026-05-01T21:36:24Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://doc.lesmorin.fr/index.php?title=Busybox_init&amp;diff=1502&amp;oldid=prev</id>
		<title>Ycharbi : /* Busybox */ Ajout d'un lien vers les sources de Busybox en caches dans nos fichiers</title>
		<link rel="alternate" type="text/html" href="https://doc.lesmorin.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 dir=&quot;auto&quot;&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;/span&gt;&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 à 13: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'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'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.lesmorin.fr/index.php?title=Busybox_init&amp;diff=1489&amp;oldid=prev</id>
		<title>Ycharbi : Suppression d'un &quot;cd ~&quot; inutile + ajout de la commande permettant d'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.lesmorin.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 à 12: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'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'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 ''Qemu''&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 ''Qemu'' &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.lesmorin.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.lesmorin.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 dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Linux : &lt;/span&gt; Suppression de la dépendance inutile &amp;quot;git&amp;quot;&lt;/span&gt;&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 à 21: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.lesmorin.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 ''Linux'' au démarrage d'une machine. Il est ainsi possible de concevoir un système d'exploitation léger composé uniquement d'un noyau et de ''Busybox''. L'adjonction d'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.lesmorin.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 ''Linux'' au démarrage d'une machine. Il est ainsi possible de concevoir un système d'exploitation léger composé uniquement d'un noyau et de ''Busybox''. L'adjonction d'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 ''appliances'' 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 ''GNU/Linux Debian 12 Bookworm''. Les compilations se feront avec l'ensemble des paramètres par défaut. Je recommande d'utiliser une machine (virtuelle ''amd64'' 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'espace de travail sera le répertoire personnel de l'utilisateur ''root''.&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'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'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'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'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'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'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'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'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;
''Busybox'' 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'amorce=&lt;br /&gt;
Nous avons dés à présent en notre possession tous les programmes de notre future système d'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'amorçages peuvent varier selon les besoins et votre convenance. Je répertorie personnellement 3 cas d'usage :&lt;br /&gt;
# mémoire morte avec système de fichier classique type ''EXT4''&lt;br /&gt;
# [https://fr.wikipedia.org/wiki/Initrd initramfs]&lt;br /&gt;
# ''PXE''&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'utilise des scripts personnalisés avec mon système. La création d'une interface ''tap'' 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'adjonction d'un pont réseau.&lt;br /&gt;
&lt;br /&gt;
L'é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'utilisation d'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'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'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'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'arborescence du système ''Busybox'' 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] (''FHS''). L'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'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'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'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'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'exécution au script d'initialisation&lt;br /&gt;
 chmod +x ~/rootfs/etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
Configuration des Télétypes (''TTY'')&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 ''TTY'' 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'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'utiliser l{{'}}''AZERTY''&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'offre à vous : [[Grub]]; [[Systemd-boot]]; [[Efibootmgr#Création_d'une_entrée_de_type_STUB|UEFI stub]]; [[Ipxe]]; [[Installation_slax_-_UEFI_64bits#Préparation_de_l'environnement_hôte|Syslinux]]... Pour ma part et comme précisé en introduction, j'utiliserai [[Qemu#Démarrage_de_la_machine_virtuelle|Qemu]] afin de simplifier au maximum l'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 ''Qemu''&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'utilisation d'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'ajouter au noyau en cours d'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 ''TFTP'' ou ''HTTP''.&lt;br /&gt;
&lt;br /&gt;
Construction de l'archive compressée ''Initramfs''&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 ''Qemu''&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 ''SATA'' 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'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{{'}}''Initramfs''. Le delta sera sur la syntaxe du chargeur d'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;
* ''POSIX Base Specifications Issue 7'' :&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>