<?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=Unified_kernel_image</id>
	<title>Unified kernel image - 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=Unified_kernel_image"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Unified_kernel_image&amp;action=history"/>
	<updated>2026-06-01T17:33: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=Unified_kernel_image&amp;diff=1559&amp;oldid=prev</id>
		<title>Ycharbi : Ajout de la section &quot;Extraction&quot;</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Unified_kernel_image&amp;diff=1559&amp;oldid=prev"/>
		<updated>2025-04-29T11:12:09Z</updated>

		<summary type="html">&lt;p&gt;Ajout de la section &amp;quot;Extraction&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 29 avril 2025 à 11:12&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-l133&quot;&gt;Ligne 133 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 133 :&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;Ainsi, dans le cas malencontreux où une mise à jour de noyau ou une reconstruction d{{&amp;#039;}}&amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; occasionne une impossibilité à démarrer, les versions précédentes de votre image vous permettront de vous en sortir.&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;Ainsi, dans le cas malencontreux où une mise à jour de noyau ou une reconstruction d{{&amp;#039;}}&amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; occasionne une impossibilité à démarrer, les versions précédentes de votre image vous permettront de vous en sortir.&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;==Extraction==&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;Il peut être utile d&#039;[https://discourse.ubuntu.com/t/how-to-inspect-kernel-efi-uki-universal-kernel-image-binary/38266 extraire] un élément particulier contenu dans une &#039;&#039;UKI&#039;&#039;.&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;# lister les sections du fichier : &amp;lt;code&amp;gt;objdump -h /boot/efi/EFI/Linux/1-debian.efi&amp;lt;/code&amp;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;# extraire un élément (exemple pour le noyau et l{{&#039;}}&#039;&#039;initrd&#039;&#039;) :&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;## &amp;lt;code&amp;gt;objcopy -O binary -j.linux /boot/efi/EFI/Linux/1-debian.efi /tmp/vmlinuz&amp;lt;/code&amp;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;## &amp;lt;code&amp;gt;objcopy -O binary -j.initrd /boot/efi/EFI/Linux/1-debian.efi /tmp/initrd&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;==Sources de la section==&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;==Sources de la section==&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=Unified_kernel_image&amp;diff=1530&amp;oldid=prev</id>
		<title>Ycharbi : /* Image Noyau Unifiée */ Suppression du support de la génération d&#039;un UKI par le script post installation du noyau. Ceci engendrait un UKI contenant deux fois le noyau au lieu d&#039;une fois celui-ci et une fois l&#039;initrd. Après réflexion, aucun cas de figure ne justifie le maintient de la génération d&#039;un UKI dans le cas de figure imaginé à l&#039;origine</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Unified_kernel_image&amp;diff=1530&amp;oldid=prev"/>
		<updated>2024-08-11T17:01:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Image Noyau Unifiée : &lt;/span&gt; Suppression du support de la génération d&amp;#039;un UKI par le script post installation du noyau. Ceci engendrait un UKI contenant deux fois le noyau au lieu d&amp;#039;une fois celui-ci et une fois l&amp;#039;initrd. Après réflexion, aucun cas de figure ne justifie le maintient de la génération d&amp;#039;un UKI dans le cas de figure imaginé à l&amp;#039;origine&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 11 août 2024 à 17:01&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-l30&quot;&gt;Ligne 30 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 30 :&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;# Récupération de la version du noyau en cours d&amp;#039;utilisation&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;# Récupération de la version du noyau en cours d&amp;#039;utilisation&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;if [[ -n &quot;${1}&quot; ]]; then&lt;/del&gt;&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;version_noyau=&quot;${1}&quot;&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;	&lt;/del&gt;version_noyau=&quot;${1}&quot;&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; 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;else&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; 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;	version_noyau=&quot;$(uname -r)&quot;&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; 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;fi&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;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;# Chemin vers l&amp;#039;initrd de travail&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;# Chemin vers l&amp;#039;initrd de travail&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;if [[ -n &quot;${2}&quot; ]]; then&lt;/del&gt;&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;chemin_initrd=&quot;${2}&quot;&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;	&lt;/del&gt;chemin_initrd=&quot;${2}&quot;&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; 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;else&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; 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;	chemin_initrd=&quot;/boot/initrd.img-${version_noyau}&quot;&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; 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;fi&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;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;# Chemin vers le noyau de travail&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;# Chemin vers le noyau de travail&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;if [[ -n &quot;${2}&quot; ]]; then&lt;/del&gt;&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;chemin_noyau=&quot;/boot/vmlinuz-${version_noyau}&quot;&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;	chemin_noyau=&quot;/boot/vmlinuz-${1}&quot;&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; 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;else&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; 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;	&lt;/del&gt;chemin_noyau=&quot;/boot/vmlinuz-${version_noyau}&quot;&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; 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;fi&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;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éfinition des variables du script&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éfinition des variables du script&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-l121&quot;&gt;Ligne 121 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 109 :&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;==Automatisation==&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;==Automatisation==&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;Le script ainsi créé peut être lancé manuellement mais il est préférable qu&#039;il soit appelé à chaque mise à jour de noyau ou d{{&#039;}}&#039;&#039;initrd&#039;&#039; afin de garantir un démarrage sur la dernière version disponible. Cette dépendance se créée en l&#039;exposant dans &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;les &lt;/del&gt;répertoire de post-construction de &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nos &lt;/del&gt;deux &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;composants &lt;/del&gt;d&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;intérêts.&lt;/del&gt;&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;Le script ainsi créé peut être lancé manuellement mais il est préférable qu&#039;il soit appelé à chaque mise à jour de noyau ou d{{&#039;}}&#039;&#039;initrd&#039;&#039; afin de garantir un démarrage sur la dernière version disponible. Cette dépendance se créée en l&#039;exposant dans &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le &lt;/ins&gt;répertoire de post-construction de &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;l{{&#039;}}&#039;&#039;initrd&#039;&#039; (&amp;lt;code&amp;gt;/etc/initramfs/post-update.d/&amp;lt;/code&amp;gt;). Il n&#039;est pas souhaitable (voir balise &quot;info&quot; ci-après) de spécifier d&#039;actions dans &amp;lt;code&amp;gt;/etc/kernel/postinst.d/&amp;lt;/code&amp;gt; puisque une installation ou une mise à jour du noyau exécute systématiquement une reconstruction de  l{{&#039;}}&#039;&#039;initrd&#039;&#039;.&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;/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;{{info|Nous ne voulons pas générer un &#039;&#039;UKI&#039;&#039; depuis la phase post-installation du noyau pour deux raisons :&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;* le paramètre &amp;lt;code&amp;gt;$2&amp;lt;/code&amp;gt; envoyé au script est égale au chemin absolut du nouveau noyau et non de l{{&#039;}}&#039;&#039;initrd&#039;&#039;. Cela a pour effet de générer un &#039;&#039;UKI&#039;&#039; contenant deux fois le noyau et aucune fois l{{&#039;}}&#039;&#039;initrd&#039;&#039; (corrompu de fait)&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;* dans la mesure où &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; exécute à la fois les scripts des répertoires &amp;lt;code&amp;gt;/etc/initramfs/post-update.d/&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;/etc/kernel/postinst.d/&amp;lt;/code&amp;gt;, &lt;/ins&gt;deux &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;roulements &lt;/ins&gt;d&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{&#039;}}&lt;/ins&gt;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;UKI&#039;&#039; (dont un corrompu) s&#039;effectuerait, ce qui n&#039;a aucun sens et n&#039;est clairement pas souhaitable car deux images sur trois sont alors issues de la même mise à jour}}&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;  mkdir -p /etc/initramfs/post-update.d&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;  mkdir -p /etc/initramfs/post-update.d&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;  ln -s /usr/local/sbin/gen-uki /etc/initramfs/post-update.d/zz-gen-uki&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;  ln -s /usr/local/sbin/gen-uki /etc/initramfs/post-update.d/zz-gen-uki&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; ln -s /usr/local/sbin/gen-uki /etc/kernel/postinst.d/zz-gen-uki&lt;/del&gt;&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;  chmod u+x /etc/initramfs/post-update.d/zz-gen-uki&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;  chmod u+x /etc/initramfs/post-update&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.d/zz-gen-uki /etc/kernel/postinst&lt;/del&gt;.d/zz-gen-uki&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;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;{{info|Le répertoire &amp;lt;code&amp;gt;/etc/initramfs/post-update.d&amp;lt;/code&amp;gt; n&amp;#039;est pas créé par défaut dans &amp;#039;&amp;#039;GNU/Linux Debian&amp;#039;&amp;#039; mais est bien parcouru lors de la génération d&amp;#039;une nouvelle archive d{{&amp;#039;}}&amp;#039;&amp;#039;init&amp;#039;&amp;#039;.}}&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;{{info|Le répertoire &amp;lt;code&amp;gt;/etc/initramfs/post-update.d&amp;lt;/code&amp;gt; n&amp;#039;est pas créé par défaut dans &amp;#039;&amp;#039;GNU/Linux Debian&amp;#039;&amp;#039; mais est bien parcouru lors de la génération d&amp;#039;une nouvelle archive d{{&amp;#039;}}&amp;#039;&amp;#039;init&amp;#039;&amp;#039;.}}&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=Unified_kernel_image&amp;diff=1509&amp;oldid=prev</id>
		<title>Ycharbi : /* Secure Boot */ Ajout d&#039;une recommandation sur le mot de passe UEFI</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Unified_kernel_image&amp;diff=1509&amp;oldid=prev"/>
		<updated>2024-02-28T11:46:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Secure Boot : &lt;/span&gt; Ajout d&amp;#039;une recommandation sur le mot de passe UEFI&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 février 2024 à 11:46&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-l156&quot;&gt;Ligne 156 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 156 :&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;Afin que cette fonction ai un sens, il est préférable de n&amp;#039;autoriser que vos propres clés. Ceci n&amp;#039;est malheureusement pas possible sur la plupart des &amp;#039;&amp;#039;PC&amp;#039;&amp;#039; du marcher. En effet, les &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; des machines grand publique embarquent celles de &amp;#039;&amp;#039;Microsoft&amp;#039;&amp;#039; pour le démarrage de &amp;#039;&amp;#039;Windows&amp;#039;&amp;#039; (obligatoire pour bénéficier de la certification idoine) et elles ne proposent pas (dans toutes celles que j&amp;#039;ai vu) de fonction pour gérer la base interne de clés (elles ne proposent bien souvent même pas d&amp;#039;administrer les entrées de démarrage...). Il est peut-être possible de contourner cette limitation avec l&amp;#039;outil &amp;lt;code&amp;gt;mokutil&amp;lt;/code&amp;gt; mais je n&amp;#039;ai pas creusé cette piste... La problématique des clés &amp;#039;&amp;#039;Microsoft&amp;#039;&amp;#039; est bien entendu que leur présence rend caduc l&amp;#039;exclusivité de la validité de vos signatures. Qui peut utiliser leur clé ? L&amp;#039;administration de ce paramètre semble donc réservée aux ordinateurs professionnels (les &amp;#039;&amp;#039;DELL XPS&amp;#039;&amp;#039; le permettent) et aux plateformes serveurs.&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;Afin que cette fonction ai un sens, il est préférable de n&amp;#039;autoriser que vos propres clés. Ceci n&amp;#039;est malheureusement pas possible sur la plupart des &amp;#039;&amp;#039;PC&amp;#039;&amp;#039; du marcher. En effet, les &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; des machines grand publique embarquent celles de &amp;#039;&amp;#039;Microsoft&amp;#039;&amp;#039; pour le démarrage de &amp;#039;&amp;#039;Windows&amp;#039;&amp;#039; (obligatoire pour bénéficier de la certification idoine) et elles ne proposent pas (dans toutes celles que j&amp;#039;ai vu) de fonction pour gérer la base interne de clés (elles ne proposent bien souvent même pas d&amp;#039;administrer les entrées de démarrage...). Il est peut-être possible de contourner cette limitation avec l&amp;#039;outil &amp;lt;code&amp;gt;mokutil&amp;lt;/code&amp;gt; mais je n&amp;#039;ai pas creusé cette piste... La problématique des clés &amp;#039;&amp;#039;Microsoft&amp;#039;&amp;#039; est bien entendu que leur présence rend caduc l&amp;#039;exclusivité de la validité de vos signatures. Qui peut utiliser leur clé ? L&amp;#039;administration de ce paramètre semble donc réservée aux ordinateurs professionnels (les &amp;#039;&amp;#039;DELL XPS&amp;#039;&amp;#039; le permettent) et aux plateformes serveurs.&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Enfin, il &lt;/del&gt;convient de s&#039;assurer qu&#039;aucun accès physique non autorisé à la machine n&#039;a lieu car les gros malins qui ont rédigés les spécifications de l{{&#039;}}&#039;&#039;UEFI&#039;&#039; n&#039;ont pas crus bon d&#039;imposer le stockage de sa configuration en mémoire morte... L&#039;utilisation d&#039;une mémoire vive maintenue par une pile comme sur l&#039;antique &#039;&#039;BIOS&#039;&#039; ayant retenu leur préférence, le débranchement de cette dernière engendrera une réinitialisation complète des paramètres et de la base de clés &#039;&#039;Secure Boot&#039;&#039; (permettant ainsi l&#039;introduction de toute forme de charges utiles au démarrage)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, ce qui ruinera &lt;/del&gt;la mince barrière de sécurité que nous venons de mettre en place...&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Il &lt;/ins&gt;convient &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;en outre &lt;/ins&gt;de s&#039;assurer qu&#039;aucun accès physique non autorisé à la machine n&#039;a lieu car les gros malins qui ont rédigés les spécifications de l{{&#039;}}&#039;&#039;UEFI&#039;&#039; n&#039;ont pas crus bon d&#039;imposer le stockage de sa configuration en mémoire morte... L&#039;utilisation d&#039;une mémoire vive maintenue par une pile comme sur l&#039;antique &#039;&#039;BIOS&#039;&#039; ayant retenu leur préférence, le débranchement de cette dernière engendrera une réinitialisation complète des paramètres et de la base de clés &#039;&#039;Secure Boot&#039;&#039; (permettant ainsi l&#039;introduction de toute forme de charges utiles au démarrage)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Ceci aura donc pour effet de ruiner &lt;/ins&gt;la mince barrière de sécurité que nous venons de mettre en place..&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;/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;Enfin, un mot de passe d&#039;accès aux paramètres de l{{&#039;}}&#039;&#039;UEFI&#039;&#039; reste tout de même une pratique à suivre afin de vous assurer qu&#039;aucune injection de clé non autorisée n&#039;ai lieu. Dans le cas d&#039;une réinitialisation par débranchement de la pile, vous saurez au moins qu&#039;une action physique a été opérée sur la machine et pourrez entreprendre les mesures qui s&#039;imposent (à commencer par ne surtout pas taper votre phrase de passe [[Cryptsetup|LUKS]] !). Vous pourrez par la suite vérifier la signature de votre &#039;&#039;UKI&#039;&#039; via un autre système pour s&#039;assurer de son intégrité (pensez également à vérifier la présence d&#039;enregistreurs de frappes [https://www.youtube.com/watch?v=AMzv6ymmUcw matériels])&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;==Glossaire==&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;==Glossaire==&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=Unified_kernel_image&amp;diff=1507&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category:Noyau_linux  Une Image Noyau Unifiée (INU) ou &#039;&#039;Unified Kernel Image&#039;&#039; (&#039;&#039;UKI&#039;&#039;) est la combinaison d&#039;un programme de démarrage &#039;&#039;UEFI&#039;&#039;, d&#039;une image noyau &#039;&#039;Linux&#039;&#039;, d&#039;un &#039;&#039;initrd&#039;&#039; ainsi que d&#039;autres ressources optionnelles dans un seul fichier &#039;&#039;UEFI [https://fr.wikipedia.org/wiki/Portable_Executable PE]&#039;&#039;. Il peut alors être invoqué directement par : * le micrologiciel &#039;&#039;UEFI&#039;&#039; : utile notamment dans certains environnements d&#039;informatique en... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Unified_kernel_image&amp;diff=1507&amp;oldid=prev"/>
		<updated>2024-02-28T00:34:12Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Noyau_linux&quot; title=&quot;Catégorie:Noyau linux&quot;&gt;Category:Noyau_linux&lt;/a&gt;  Une Image Noyau Unifiée (INU) ou &amp;#039;&amp;#039;Unified Kernel Image&amp;#039;&amp;#039; (&amp;#039;&amp;#039;UKI&amp;#039;&amp;#039;) est la combinaison d&amp;#039;un programme de démarrage &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039;, d&amp;#039;une image noyau &amp;#039;&amp;#039;Linux&amp;#039;&amp;#039;, d&amp;#039;un &amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; ainsi que d&amp;#039;autres ressources optionnelles dans un seul fichier &amp;#039;&amp;#039;UEFI [https://fr.wikipedia.org/wiki/Portable_Executable PE]&amp;#039;&amp;#039;. Il peut alors être invoqué directement par : * le micrologiciel &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; : utile notamment dans certains environnements d&amp;#039;informatique en... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Noyau_linux]]&lt;br /&gt;
&lt;br /&gt;
Une Image Noyau Unifiée (INU) ou &amp;#039;&amp;#039;Unified Kernel Image&amp;#039;&amp;#039; (&amp;#039;&amp;#039;UKI&amp;#039;&amp;#039;) est la combinaison d&amp;#039;un programme de démarrage &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039;, d&amp;#039;une image noyau &amp;#039;&amp;#039;Linux&amp;#039;&amp;#039;, d&amp;#039;un &amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; ainsi que d&amp;#039;autres ressources optionnelles dans un seul fichier &amp;#039;&amp;#039;UEFI [https://fr.wikipedia.org/wiki/Portable_Executable PE]&amp;#039;&amp;#039;. Il peut alors être invoqué directement par :&lt;br /&gt;
* le micrologiciel &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; : utile notamment dans certains environnements d&amp;#039;informatique en nuage ou confidentiels&lt;br /&gt;
* un chargeur de démarrage : généralement utile pour permettre plusieurs versions de noyau avec une sélection interactive ou automatique de la version dans laquelle démarrer ([[Systemd-boot]] ou [[Grub]] permettent cela)&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;amorçage de cette image unifiée est permise par le &amp;#039;&amp;#039;stub&amp;#039;&amp;#039;, programme logé dans celle-ci et pouvant être interprété par l{{&amp;#039;}}&amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039;. Il constitue donc la partie exécutable initiale de l&amp;#039;image combinée et charge par la suite d&amp;#039;autres ressources à partir du reste de l{{&amp;#039;}}&amp;#039;&amp;#039;INU&amp;#039;&amp;#039;, en particulier le noyau et l{{&amp;#039;}}&amp;#039;&amp;#039;initrd&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
La [https://uapi-group.org/specifications/specs/unified_kernel_image/ spécification officielle] définit le format et les composants (obligatoires et optionnels) des &amp;#039;&amp;#039;UKI&amp;#039;&amp;#039; qui sont fournis en tant que sections &amp;#039;&amp;#039;PE/COFF&amp;#039;&amp;#039; de l&amp;#039;exécutable.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;intérêt principal de cette approche est qu&amp;#039;elle permet de mieux sécuriser le démarrage d&amp;#039;un système en exposant un unique binaire (&amp;#039;&amp;#039;UEFI PE&amp;#039;&amp;#039;) en clair sur le disque d&amp;#039;amorçage (&amp;#039;&amp;#039;EFI System Partition&amp;#039;&amp;#039; - &amp;#039;&amp;#039;ESP&amp;#039;&amp;#039;) au lieu d&amp;#039;une multitude de fichiers pouvant être modifiés par le premier pirate venu. Cet exécutable pourra alors être signé par &amp;#039;&amp;#039;Secure Boot&amp;#039;&amp;#039; et permettre, entre-autre, le déchiffrement de la racine en s&amp;#039;assurant de l’absence de sa propre altération (enregistreur de frappes par exemple).&lt;br /&gt;
&lt;br /&gt;
=Image Noyau Unifiée=&lt;br /&gt;
==Installation des outils==&lt;br /&gt;
La génération d&amp;#039;une &amp;#039;&amp;#039;INU&amp;#039;&amp;#039; nécessite quelques outils. Le projet &amp;#039;&amp;#039;Systemd&amp;#039;&amp;#039; met à disposition un programme &amp;#039;&amp;#039;Python&amp;#039;&amp;#039; nommé &amp;lt;code&amp;gt;Ukify&amp;lt;/code&amp;gt; à partir de la version 253 de l{{&amp;#039;}}&amp;#039;&amp;#039;init&amp;#039;&amp;#039;. Il est logé à l&amp;#039;emplacement &amp;lt;code&amp;gt;/usr/lib/systemd/ukify&amp;lt;/code&amp;gt; mais nécessite la bibliothèque &amp;lt;code&amp;gt;python3-pefile&amp;lt;/code&amp;gt; et ses dépendances pour fonctionner. L&amp;#039;approche exposé dans ce document visant la frugalité (&amp;#039;&amp;#039;Ukify&amp;#039;&amp;#039; apporte surtout une configuration épurée mais l&amp;#039;aspect fonctionnel est identique), le strict nécessaire sera installé.&lt;br /&gt;
 apt install --no-install-recommends systemd-boot-efi binutils gawk sbsigntool&lt;br /&gt;
&lt;br /&gt;
Détails des paquets installés :&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;systemd-boot-efi&amp;#039;&amp;#039;&amp;#039; : fournit le &amp;#039;&amp;#039;stub &amp;lt;code&amp;gt;/usr/lib/systemd/boot/efi/linuxx64.efi.stub&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;binutils&amp;#039;&amp;#039;&amp;#039; : fournit le programme de construction du binaire &amp;#039;&amp;#039;PE&amp;#039;&amp;#039; &amp;lt;code&amp;gt;objdump&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;gawk&amp;#039;&amp;#039;&amp;#039; : fournit la version &amp;#039;&amp;#039;GNU&amp;#039;&amp;#039; de l&amp;#039;interpréteur de langage &amp;#039;&amp;#039;AWK&amp;#039;&amp;#039; afin de ne pas avoir l&amp;#039;erreur de fonction non définie &amp;lt;code&amp;gt;function strtonum never defined&amp;lt;/code&amp;gt; du &amp;lt;code&amp;gt;awk&amp;lt;/code&amp;gt; de base&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;sbsigntool&amp;#039;&amp;#039;&amp;#039; : permet de signer l{{&amp;#039;}}&amp;#039;&amp;#039;UKI&amp;#039;&amp;#039; en vu d&amp;#039;une validation &amp;#039;&amp;#039;Secure Boot&amp;#039;&amp;#039; (optionnel)&lt;br /&gt;
&lt;br /&gt;
==Script de génération==&lt;br /&gt;
La génération d&amp;#039;une &amp;#039;&amp;#039;UKI&amp;#039;&amp;#039; nécessitant la concaténation d&amp;#039;une multitude d&amp;#039;éléments, il n&amp;#039;est pas envisageable de renseigner l&amp;#039;ensemble des paramètres manuellement. Je vous propose un script permettant la création d&amp;#039;une image ainsi que sa rotation sur trois versions différentes (l&amp;#039;une écrase la précédente à chaque nouvelle exécution). &lt;br /&gt;
 vim /mnt/usr/local/sbin/gen-uki&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Récupération de la version du noyau en cours d&amp;#039;utilisation&lt;br /&gt;
if [[ -n &amp;quot;${1}&amp;quot; ]]; then&lt;br /&gt;
	version_noyau=&amp;quot;${1}&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
	version_noyau=&amp;quot;$(uname -r)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Chemin vers l&amp;#039;initrd de travail&lt;br /&gt;
if [[ -n &amp;quot;${2}&amp;quot; ]]; then&lt;br /&gt;
	chemin_initrd=&amp;quot;${2}&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
	chemin_initrd=&amp;quot;/boot/initrd.img-${version_noyau}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Chemin vers le noyau de travail&lt;br /&gt;
if [[ -n &amp;quot;${2}&amp;quot; ]]; then&lt;br /&gt;
	chemin_noyau=&amp;quot;/boot/vmlinuz-${1}&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
	chemin_noyau=&amp;quot;/boot/vmlinuz-${version_noyau}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Définition des variables du script&lt;br /&gt;
chemin_lsb=&amp;quot;/usr/lib/os-release&amp;quot;&lt;br /&gt;
chemin_stub=&amp;quot;/usr/lib/systemd/boot/efi/linuxx64.efi.stub&amp;quot;&lt;br /&gt;
chemin_cmdline=&amp;quot;/etc/kernel/cmdline&amp;quot;&lt;br /&gt;
chemin_splash=&amp;quot;/dev/null&amp;quot;&lt;br /&gt;
nom_uki1=&amp;quot;1-debian.efi&amp;quot;&lt;br /&gt;
nom_uki2=&amp;quot;2-debian.efi&amp;quot;&lt;br /&gt;
nom_uki3=&amp;quot;3-debian.efi&amp;quot;&lt;br /&gt;
chemin_base=&amp;quot;/boot/efi/EFI/Linux/&amp;quot;&lt;br /&gt;
chemin_dst_uki=&amp;quot;${chemin_base}/${nom_uki1}&amp;quot;&lt;br /&gt;
chemin_sb_clef=&amp;quot;/usr/local/lib/secureboot/mok/MOK.priv&amp;quot;&lt;br /&gt;
chemin_sb_cert=&amp;quot;/usr/local/lib/secureboot/mok/MOK.pem&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Création de l&amp;#039;arborescence des UKI&lt;br /&gt;
mkdir -p &amp;quot;${chemin_base}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Préparation de l&amp;#039;UKI&lt;br /&gt;
align=&amp;quot;$(objdump -p ${chemin_stub} | awk &amp;#039;{ if ($1 == &amp;quot;SectionAlignment&amp;quot;){print $2} }&amp;#039;)&amp;quot;&lt;br /&gt;
align=$((16#$align))&lt;br /&gt;
osrel_offs=&amp;quot;$(objdump -h &amp;quot;${chemin_stub}&amp;quot; | awk &amp;#039;NF==7 {size=strtonum(&amp;quot;0x&amp;quot;$3); offset=strtonum(&amp;quot;0x&amp;quot;$4)} END {print size + offset}&amp;#039;)&amp;quot;&lt;br /&gt;
osrel_offs=$((osrel_offs + &amp;quot;$align&amp;quot; - osrel_offs % &amp;quot;$align&amp;quot;))&lt;br /&gt;
cmdline_offs=$((osrel_offs + $(stat -Lc%s &amp;quot;${chemin_lsb}&amp;quot;)))&lt;br /&gt;
cmdline_offs=$((cmdline_offs + &amp;quot;$align&amp;quot; - cmdline_offs % &amp;quot;$align&amp;quot;))&lt;br /&gt;
splash_offs=$((cmdline_offs + $(stat -Lc%s &amp;quot;${chemin_cmdline}&amp;quot;)))&lt;br /&gt;
splash_offs=$((splash_offs + &amp;quot;$align&amp;quot; - splash_offs % &amp;quot;$align&amp;quot;))&lt;br /&gt;
initrd_offs=$((splash_offs + $(stat -Lc%s &amp;quot;${chemin_splash}&amp;quot;)))&lt;br /&gt;
initrd_offs=$((initrd_offs + &amp;quot;$align&amp;quot; - initrd_offs % &amp;quot;$align&amp;quot;))&lt;br /&gt;
linux_offs=$((initrd_offs + $(stat -Lc%s &amp;quot;${chemin_initrd}&amp;quot;)))&lt;br /&gt;
linux_offs=$((linux_offs + &amp;quot;$align&amp;quot; - linux_offs % &amp;quot;$align&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
# Roulement, si elle existe et n&amp;#039;est pas vide, de l&amp;#039;UKI 2 en 3&lt;br /&gt;
if [[ -s &amp;quot;${chemin_base}${nom_uki2}&amp;quot; ]]; then&lt;br /&gt;
	echo &amp;quot;Copie de l&amp;#039;UKI 2 en 3...&amp;quot;&lt;br /&gt;
	cp -v &amp;quot;${chemin_base}${nom_uki2}&amp;quot; &amp;quot;${chemin_base}${nom_uki3}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Roulement, si elle existe et n&amp;#039;est pas vide, de l&amp;#039;UKI 1 en 2&lt;br /&gt;
if [[ -s &amp;quot;${chemin_dst_uki}&amp;quot; ]]; then&lt;br /&gt;
	echo &amp;quot;Copie de l&amp;#039;UKI 1 en 2...&amp;quot;&lt;br /&gt;
	cp -v &amp;quot;${chemin_dst_uki}&amp;quot; &amp;quot;${chemin_base}${nom_uki2}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Génération de l&amp;#039;image noyau combinée (UKI) numéro 1...&amp;quot;&lt;br /&gt;
objcopy \&lt;br /&gt;
    --add-section .osrel=&amp;quot;${chemin_lsb}&amp;quot; --change-section-vma .osrel=$(printf 0x%x $osrel_offs) \&lt;br /&gt;
    --add-section .cmdline=&amp;quot;${chemin_cmdline}&amp;quot; --change-section-vma .cmdline=$(printf 0x%x $cmdline_offs) \&lt;br /&gt;
    --add-section .splash=&amp;quot;${chemin_splash}&amp;quot; --change-section-vma .splash=$(printf 0x%x $splash_offs) \&lt;br /&gt;
    --add-section .initrd=&amp;quot;${chemin_initrd}&amp;quot; --change-section-vma .initrd=$(printf 0x%x $initrd_offs) \&lt;br /&gt;
    --add-section .linux=&amp;quot;${chemin_noyau}&amp;quot; --change-section-vma .linux=$(printf 0x%x $linux_offs) \&lt;br /&gt;
    &amp;quot;${chemin_stub}&amp;quot; &amp;quot;${chemin_dst_uki}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Signature de l&amp;#039;UKI pour la vérification Secure Boot seulement si la clé et son certificat son présents&lt;br /&gt;
if [[ -r &amp;quot;${chemin_sb_clef}&amp;quot; &amp;amp;&amp;amp; -r &amp;quot;${chemin_sb_cert}&amp;quot; ]]; then&lt;br /&gt;
	sbsign --key &amp;quot;${chemin_sb_clef}&amp;quot; --cert &amp;quot;${chemin_sb_cert}&amp;quot; --output &amp;quot;${chemin_dst_uki}&amp;quot; &amp;quot;${chemin_dst_uki}&amp;quot;&lt;br /&gt;
	sbverify --cert &amp;quot;${chemin_sb_cert}&amp;quot; &amp;quot;${chemin_dst_uki}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les [[Paramètres linux|paramètres]] du noyau (de la variable &amp;lt;code&amp;gt;$chemin_cmdline&amp;lt;/code&amp;gt;) doivent contenir les informations sur votre système de fichier racine afin que &amp;#039;&amp;#039;Linux&amp;#039;&amp;#039; puisse l&amp;#039;amorcer. Vous pouvez vous appuyer sur l&amp;#039;exemple ci-dessous qui comprend une partition chiffrée contenant un sous-volume &amp;#039;&amp;#039;BTRFS&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;root=UUID=${uuid_racine} cryptdevice=UUID=${uuid_luks} ro rootflags=subvol=@rootfs console=tty0 console=ttyS0,115200n8&amp;quot; &amp;gt; /mnt/etc/kernel/cmdline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pensez bien entendu à remplacer les variables par vos propres valeurs...&lt;br /&gt;
&lt;br /&gt;
Vous pouvez également vous appuyer sur le &amp;lt;code&amp;gt;/proc/cmdline&amp;lt;/code&amp;gt; pour visualiser les paramètres utilisés par votre propre système afin de vous en inspirer. La liste des paramètres possible est visualisable dans la [https://www.kernel.org/doc/html/v6.5/admin-guide/kernel-parameters.html documentation] du noyau.&lt;br /&gt;
&lt;br /&gt;
 chmod u+x /usr/local/sbin/gen-uki&lt;br /&gt;
&lt;br /&gt;
==Automatisation==&lt;br /&gt;
Le script ainsi créé peut être lancé manuellement mais il est préférable qu&amp;#039;il soit appelé à chaque mise à jour de noyau ou d{{&amp;#039;}}&amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; afin de garantir un démarrage sur la dernière version disponible. Cette dépendance se créée en l&amp;#039;exposant dans les répertoire de post-construction de nos deux composants d&amp;#039;intérêts.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /etc/initramfs/post-update.d&lt;br /&gt;
 ln -s /usr/local/sbin/gen-uki /etc/initramfs/post-update.d/zz-gen-uki&lt;br /&gt;
 ln -s /usr/local/sbin/gen-uki /etc/kernel/postinst.d/zz-gen-uki&lt;br /&gt;
 chmod u+x /etc/initramfs/post-update.d/zz-gen-uki /etc/kernel/postinst.d/zz-gen-uki&lt;br /&gt;
&lt;br /&gt;
{{info|Le répertoire &amp;lt;code&amp;gt;/etc/initramfs/post-update.d&amp;lt;/code&amp;gt; n&amp;#039;est pas créé par défaut dans &amp;#039;&amp;#039;GNU/Linux Debian&amp;#039;&amp;#039; mais est bien parcouru lors de la génération d&amp;#039;une nouvelle archive d{{&amp;#039;}}&amp;#039;&amp;#039;init&amp;#039;&amp;#039;.}}&lt;br /&gt;
&lt;br /&gt;
==Création des entrées de démarrage==&lt;br /&gt;
Dans l&amp;#039;optique d&amp;#039;optimiser au mieux le démarrage de notre machine, nous n&amp;#039;utiliserons aucun chargeur d&amp;#039;amorçage. Nous créerons alors des entrées de démarrage dans notre  &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; pointant directement sur nos &amp;#039;&amp;#039;UKI&amp;#039;&amp;#039; (son menu nous permettra de sélectionner la version à lancer). Pour se faire, il est possible de passer par l&amp;#039;interface de celui-ci (lorsque l&amp;#039;option est disponible) ou via l&amp;#039;outil [[Efibootmgr]] (universel). Voici un exemple pour les trois générées par le script (il est possible de créer les entrées avant les images) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
disque_systeme=/dev/nvme0n1&lt;br /&gt;
&lt;br /&gt;
efibootmgr -c -d &amp;quot;${disque_systeme}&amp;quot; -p 1 -l &amp;#039;\EFI\Linux\1-debian.efi&amp;#039; -L &amp;quot;Debian UKI 1&amp;quot;&lt;br /&gt;
efibootmgr -c -d &amp;quot;${disque_systeme}&amp;quot; -p 1 -l &amp;#039;\EFI\Linux\2-debian.efi&amp;#039; -L &amp;quot;Debian UKI 2&amp;quot;&lt;br /&gt;
efibootmgr -c -d &amp;quot;${disque_systeme}&amp;quot; -p 1 -l &amp;#039;\EFI\Linux\3-debian.efi&amp;#039; -L &amp;quot;Debian UKI 3&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi, dans le cas malencontreux où une mise à jour de noyau ou une reconstruction d{{&amp;#039;}}&amp;#039;&amp;#039;initrd&amp;#039;&amp;#039; occasionne une impossibilité à démarrer, les versions précédentes de votre image vous permettront de vous en sortir.&lt;br /&gt;
&lt;br /&gt;
==Sources de la section==&lt;br /&gt;
* https://uapi-group.org/specifications/specs/unified_kernel_image/&lt;br /&gt;
* https://0pointer.de/blog/brave-new-trusted-boot-world.html&lt;br /&gt;
* https://wiki.debian.org/EFIStub#Setting_up_a_Unified_Kernel_Image&lt;br /&gt;
&lt;br /&gt;
=Secure Boot=&lt;br /&gt;
&lt;br /&gt;
{{info|Cette section est facultative.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Secure Boot&amp;#039;&amp;#039; ([https://uefi.org/sites/default/files/resources/UEFI_Spec_2_3_1.pdf chapitre 27] des spécification &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039;) est une fonctionnalité apparue avec la version 2.3.1 de l{{&amp;#039;}}&amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; permettant de borner l&amp;#039;amorçage aux seuls systèmes dont la signature cryptographique est reconnue par sa base interne. Son intérêt principal est d&amp;#039;empêcher l&amp;#039;exécution de code ayant été ajouté à l{{&amp;#039;}}&amp;#039;&amp;#039;UEFI PE&amp;#039;&amp;#039; à l&amp;#039;insu de l&amp;#039;administrateur de la machine mais il peut également servir, entre-autre, à empêcher tout autre système (amorçage &amp;#039;&amp;#039;USB&amp;#039;&amp;#039; par exemple) de démarrer.&lt;br /&gt;
&lt;br /&gt;
Afin que cette fonction ai un sens, il est préférable de n&amp;#039;autoriser que vos propres clés. Ceci n&amp;#039;est malheureusement pas possible sur la plupart des &amp;#039;&amp;#039;PC&amp;#039;&amp;#039; du marcher. En effet, les &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; des machines grand publique embarquent celles de &amp;#039;&amp;#039;Microsoft&amp;#039;&amp;#039; pour le démarrage de &amp;#039;&amp;#039;Windows&amp;#039;&amp;#039; (obligatoire pour bénéficier de la certification idoine) et elles ne proposent pas (dans toutes celles que j&amp;#039;ai vu) de fonction pour gérer la base interne de clés (elles ne proposent bien souvent même pas d&amp;#039;administrer les entrées de démarrage...). Il est peut-être possible de contourner cette limitation avec l&amp;#039;outil &amp;lt;code&amp;gt;mokutil&amp;lt;/code&amp;gt; mais je n&amp;#039;ai pas creusé cette piste... La problématique des clés &amp;#039;&amp;#039;Microsoft&amp;#039;&amp;#039; est bien entendu que leur présence rend caduc l&amp;#039;exclusivité de la validité de vos signatures. Qui peut utiliser leur clé ? L&amp;#039;administration de ce paramètre semble donc réservée aux ordinateurs professionnels (les &amp;#039;&amp;#039;DELL XPS&amp;#039;&amp;#039; le permettent) et aux plateformes serveurs.&lt;br /&gt;
&lt;br /&gt;
Enfin, il convient de s&amp;#039;assurer qu&amp;#039;aucun accès physique non autorisé à la machine n&amp;#039;a lieu car les gros malins qui ont rédigés les spécifications de l{{&amp;#039;}}&amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; n&amp;#039;ont pas crus bon d&amp;#039;imposer le stockage de sa configuration en mémoire morte... L&amp;#039;utilisation d&amp;#039;une mémoire vive maintenue par une pile comme sur l&amp;#039;antique &amp;#039;&amp;#039;BIOS&amp;#039;&amp;#039; ayant retenu leur préférence, le débranchement de cette dernière engendrera une réinitialisation complète des paramètres et de la base de clés &amp;#039;&amp;#039;Secure Boot&amp;#039;&amp;#039; (permettant ainsi l&amp;#039;introduction de toute forme de charges utiles au démarrage), ce qui ruinera la mince barrière de sécurité que nous venons de mettre en place...&lt;br /&gt;
&lt;br /&gt;
==Glossaire==&lt;br /&gt;
La base de clés de &amp;#039;&amp;#039;Secure Boot&amp;#039;&amp;#039; comporte cinq [https://www.malekal.com/quest-ce-que-secure-boot-protection-pc-uefi-comment-ca-marche/ sections] :&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MOK&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Machine Owner Key&amp;#039;&amp;#039;) : base de données contenant les clés de l&amp;#039;utilisateur - inutile pour cette procédure&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PK&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Plateform Key&amp;#039;&amp;#039;) : base de données contenant les clés de la machine - utile pour cette procédure&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DB&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Data Base&amp;#039;&amp;#039;) : base de données des clés autorisées (liste blanche) - utile pour cette procédure&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;KEK&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Key Exchange Keys&amp;#039;&amp;#039;) : aucune idée - inutile pour cette procédure&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DBX&amp;#039;&amp;#039;&amp;#039; : (&amp;#039;&amp;#039;Data Base&amp;#039;&amp;#039; &amp;lt;introuvable dans les specs mais probablement &amp;#039;&amp;#039;Exclusion&amp;#039;&amp;#039;&amp;gt;)  : base de données des clés interdites (liste noire) - inutile pour cette procédure&lt;br /&gt;
&lt;br /&gt;
==Génération de clés==&lt;br /&gt;
Création du répertoire de travail&lt;br /&gt;
 mkdir -p /usr/local/lib/secureboot/mok&lt;br /&gt;
&lt;br /&gt;
Génération d&amp;#039;une clé privée &amp;#039;&amp;#039;RSA&amp;#039;&amp;#039; 4096 bits (le maximum possible avec &amp;#039;&amp;#039;Shim&amp;#039;&amp;#039; - que nous n&amp;#039;utilisons pas - est, aux dernières nouvelles ([https://wiki.debian.org/SecureBoot#Generating_a_new_key 21/06/2022]) 2048 bits) et d&amp;#039;un certificat public associé&lt;br /&gt;
 openssl req -nodes -new -x509 -newkey rsa:4096 -keyout /usr/local/lib/secureboot/mok/MOK.priv -outform DER -out /usr/local/lib/secureboot/mok/MOK.der -days 36500 -subj &amp;quot;/CN=Mon Nom/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Conversion du certificat en &amp;#039;&amp;#039;PEM&amp;#039;&amp;#039; afin d&amp;#039;être utilisable par &amp;lt;code&amp;gt;sbsign&amp;lt;/code&amp;gt;&lt;br /&gt;
 openssl x509 -inform der -in /usr/local/lib/secureboot/mok/MOK.der -out /usr/local/lib/secureboot/mok/MOK.pem&lt;br /&gt;
&lt;br /&gt;
Empêcher la lecture de ces fichiers par un autre utilisateur que root&lt;br /&gt;
 chmod 400 /usr/local/lib/secureboot/mok/{MOK.priv,MOK.der,MOK.pem}&lt;br /&gt;
&lt;br /&gt;
Les étapes qui suivent sont réalisées automatiquement par le script créé plus haut et sont notées à titre indicatif.&lt;br /&gt;
&lt;br /&gt;
Le certificat au format &amp;#039;&amp;#039;PEM&amp;#039;&amp;#039; est utilisé par les commandes du paquet &amp;lt;code&amp;gt;sbsigntool&amp;lt;/code&amp;gt; alors que la &amp;#039;&amp;#039;DER&amp;#039;&amp;#039; est utilisée par les &amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; (pourquoi utiliser le même format hein ?). il doit être renseignée deux fois dans les menus de gestion des clés de votre carte mère :&lt;br /&gt;
* une fois dans &amp;#039;&amp;#039;Plateform Key&amp;#039;&amp;#039; (&amp;#039;&amp;#039;PK&amp;#039;&amp;#039;)&lt;br /&gt;
* l&amp;#039;autre dans &amp;#039;&amp;#039;DB&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Authorized Signatures&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
Le certificat &amp;#039;&amp;#039;DER&amp;#039;&amp;#039; doit être accessible à l{{&amp;#039;}}&amp;#039;&amp;#039;UEFI&amp;#039;&amp;#039; pour injection. Vous pouvez le mettre dans toute partition &amp;#039;&amp;#039;FAT&amp;#039;&amp;#039; comme votre &amp;#039;&amp;#039;ESP&amp;#039;&amp;#039; &amp;lt;code&amp;gt;/boot/efi/EFI/&amp;lt;/code&amp;gt; ou sur une clé &amp;#039;&amp;#039;USB&amp;#039;&amp;#039; afin de l&amp;#039;y sélectionner depuis le menu dédié (peut être supprimé à l&amp;#039;issue).&lt;br /&gt;
&lt;br /&gt;
==Signature de l&amp;#039;image==&lt;br /&gt;
Dans la commande qui suit, la signature de l&amp;#039;image va réécrir par dessus l&amp;#039;originale (sa somme de contrôle va changer). Ce comportement est volontaire mais peut être changé en modifiant la valeur de &amp;lt;code&amp;gt;--output&amp;lt;/code&amp;gt;&lt;br /&gt;
 sbsign --key /usr/local/lib/secureboot/mok/MOK.priv --cert /usr/local/lib/secureboot/mok/MOK.pem --output /boot/efi/EFI/Linux/1-debian.efi /boot/efi/EFI/Linux/1-debian.efi&lt;br /&gt;
&lt;br /&gt;
Vérification de la signature&lt;br /&gt;
 sbverify --cert /usr/local/lib/secureboot/mok/MOK.pem /boot/efi/EFI/Linux/1-debian.efi&lt;br /&gt;
&lt;br /&gt;
Une fois &amp;#039;&amp;#039;Secure Boot&amp;#039;&amp;#039; activé et votre système démarré, vous pouvez vérifier l&amp;#039;effectivité de cette fonctionnalité via la commande suivante du paquet &amp;lt;code&amp;gt;mokutil&amp;lt;/code&amp;gt;&lt;br /&gt;
 mokutil --sb-state&lt;br /&gt;
&lt;br /&gt;
{{astuce|La signature d&amp;#039;un module noyau complilé par vous même peut se faire via la commande suivante (exemple pour le pilote &amp;lt;code&amp;gt;ixgbe&amp;lt;/code&amp;gt;) : &amp;lt;code&amp;gt;/usr/lib/linux-kbuild-6.1/scripts/sign-file sha512 /usr/local/lib/secureboot/mok/MOK.{priv,der} /lib/modules/6.1.0-17-amd64/updates/drivers/net/ethernet/intel/ixgbe/ixgbe.ko /tmp/ixgbe.ko&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
==Sources de la section==&lt;br /&gt;
* https://uefi.org/specifications&lt;br /&gt;
* https://wiki.debian.org/SecureBoot#Generating_a_new_key&lt;br /&gt;
* https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-secure-boot-key-creation-and-management-guidance?view=windows-11&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>