download/prerelease/: update and improve checksum/signature verification instructions
authorMichael Prokop <mika@grml.org>
Tue, 13 Jul 2021 12:49:43 +0000 (14:49 +0200)
committerMichael Prokop <mika@grml.org>
Tue, 13 Jul 2021 12:49:43 +0000 (14:49 +0200)
download/prerelease/index.html.tt2

index f4667eb..87a9e9e 100644 (file)
     <p>Download the Grml flavour you need, then write it to a CD-ROM/DVD or an empty USB stick.</p>
 
     <div class="download_group" id="download_group1_noscript">
-    <div class="download_panel" id="download_panel1_noscript"><div>
-        <a href="https://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
-        <br/>
-        Direct download links:<br/>
-        <a href="https://download.grml.org/devel/grml96-full_2021.07-rc1.iso">Grml96 full ISO</a> [<a href="https://download.grml.org/devel/grml96-full_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
-        <a href="https://download.grml.org/devel/grml64-full_2021.07-rc1.iso">Grml64 full ISO</a> [<a href="https://download.grml.org/devel/grml64-full_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
-        <a href="https://download.grml.org/devel/grml32-full_2021.07-rc1.iso">Grml32 full ISO</a> [<a href="https://download.grml.org/devel/grml32-full_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
-        <a href="https://download.grml.org/devel/grml96-small_2021.07-rc1.iso">Grml96 small ISO</a> [<a href="https://download.grml.org/devel/grml96-small_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
-        <a href="https://download.grml.org/devel/grml64-small_2021.07-rc1.iso">Grml64 small ISO</a> [<a href="https://download.grml.org/devel/grml64-small_2021.07-rc1.iso.asc">GPGP Signature</a>]<br/>
-        <a href="https://download.grml.org/devel/grml32-small_2021.07-rc1.iso">Grml32 small ISO</a> [<a href="https://download.grml.org/devel/grml32-small_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
-        <br/>
-        </div></div>
+      <div class="download_panel" id="download_panel1_noscript">
+        <div>
+          <a href="https://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
+          <br/>
+          Direct download links:<br/>
+          <a href="https://download.grml.org/devel/grml96-full_2021.07-rc1.iso">Grml96 full ISO</a> [<a href="https://download.grml.org/devel/grml96-full_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
+          <a href="https://download.grml.org/devel/grml64-full_2021.07-rc1.iso">Grml64 full ISO</a> [<a href="https://download.grml.org/devel/grml64-full_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
+          <a href="https://download.grml.org/devel/grml32-full_2021.07-rc1.iso">Grml32 full ISO</a> [<a href="https://download.grml.org/devel/grml32-full_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
+          <a href="https://download.grml.org/devel/grml96-small_2021.07-rc1.iso">Grml96 small ISO</a> [<a href="https://download.grml.org/devel/grml96-small_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
+          <a href="https://download.grml.org/devel/grml64-small_2021.07-rc1.iso">Grml64 small ISO</a> [<a href="https://download.grml.org/devel/grml64-small_2021.07-rc1.iso.asc">GPGP Signature</a>]<br/>
+          <a href="https://download.grml.org/devel/grml32-small_2021.07-rc1.iso">Grml32 small ISO</a> [<a href="https://download.grml.org/devel/grml32-small_2021.07-rc1.iso.asc">GPG Signature</a>]<br/>
+          <br/>
+        </div>
+      </div>
     </div>
 
     <div class="download_group" id="download_group1" style="display:none;">
-    <form method="get" action="/download/bounce/">
-    <input type="hidden" name="version" value="2021.07-rc1"/>
-    <div class="download_panel" id="download_panel1"><div>
-
-    <h2>Options</h2>
-
-    <select name="flavour" id="download_flavour" style="width:100%;">
-    <option value="full" selected="selected">grml-full (~760MB)</option>
-    <option value="small">grml-small (~360MB)</option>
-    </select>
-    <br /><br />
-    <select name="arch" id="download_arch" style="width:100%;">
-    <option value="amd64" selected="selected">64-bit PC (amd64)</option>
-    <option value="i386">32-bit PC (i686+)</option>
-    <option value="96">One for both (~1.45GB)</option>
-    </select>
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
+      <form method="get" action="/download/bounce/">
+      <input type="hidden" name="version" value="2021.07-rc1"/>
+      <div class="download_panel" id="download_panel1">
+        <div>
 
-    <div style="font-size: 14pt;">
-    <p><a href="/changelogs/README-grml-2021.07-rc1/">Release Notes</a></p>
+          <h2>Options</h2>
 
-    </div>
-    </div>
-    </div>
+          <select name="flavour" id="download_flavour" style="width:100%;">
+          <option value="full" selected="selected">grml-full (~786MB)</option>
+          <option value="small">grml-small (~400MB)</option>
+          </select>
+          <br /><br />
+          <select name="arch" id="download_arch" style="width:100%;">
+          <option value="amd64" selected="selected">64-bit PC (amd64)</option>
+          <option value="i386">32-bit PC (i686+)</option>
+          <option value="96">One for both (~1.5GB)</option>
+          </select>
+          <br />
+          <br />
+          <br />
+          <br />
+          <br />
 
-    <div class="download_panel" id="download_panel2"><div>
-    <!-- fallback cgi buttons -->
-    <div id="formbuttons">
-    <button name="filetype" value="iso" id="download_button_mirror" class="largebutton" style="width:100%;" type="submit">Download Now </button><br />
-<!--
-    <button name="filetype" value="bt" id="download_button_bt" type="submit">Download using BitTorrent</button><br />
--->
-    <button name="filetype" value="signature" id="download_button_signature" type="submit">Get Checksum/Signature</button><br />
-    <a href="https://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
-    </div>
-    <!-- JS links -->
-    <div id="linkbuttons" style="display:none;">
-    <a id="download_link_mirror" class="largebutton">Download Now</a><br />
-<!--
-    <a id="download_link_bt">BitTorrent Download</a><br />
--->
-    <a id="download_link_signature">Get GPG Signature</a><br />
-    <a href="https://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
-    </div>
-    </div></div>
-
-    </form>
-    <script type="text/javascript">
-    function update_arch() {
-        var flavour = document.getElementById('download_flavour').value;
-        if (flavour == 'small') document.getElementById('download_arch').innerHTML = '<option value="amd64">64-bit PC (amd64)</option><option value="i386">32-bit PC (i686+)</option><option value="96">One for both (~685MB)</option>';
-        if (flavour == 'full') document.getElementById('download_arch').innerHTML = '<option value="amd64">64-bit PC (amd64)</option><option value="i386">32-bit PC (i686+)</option><option value="96">One for both (~1.45GB)</option>';
-        update_links();
-    }
+          <div style="font-size: 14pt;">
+            <p><a href="/changelogs/README-grml-2021.07-rc1/">Release Notes</a></p>
+          </div>
 
-    function update_links() {
-        var current_version = "2021.07-rc1";
-        var product = 'grml';
-        var arch = document.getElementById('download_arch').value;
-        var flavour = document.getElementById('download_flavour').value;
-        if (arch == 'amd64') product = 'grml64';
-        if (arch == 'i386') product = 'grml32';
-        if (arch == '96') product = 'grml96';
-        var iso = product + '-' + flavour + '_' + current_version + '.iso';
-        var mirror_url = "https://download.grml.org/devel/";
-        document.getElementById('download_link_mirror').href = mirror_url + iso;
-        document.getElementById('download_link_mirror').innerHTML = '<br />Download Now<div class="download_relinfo">' + product + '-' + flavour + ' ' + current_version + '</div>';
-        // document.getElementById('download_link_bt').href = mirror_url + iso + '.torrent';
-        document.getElementById('download_link_signature').href = mirror_url + iso + '.asc';
-    }
+        </div>
+      </div>
+
+      <div class="download_panel" id="download_panel2">
+        <div>
+          <!-- fallback cgi buttons -->
+          <div id="formbuttons">
+            <button name="filetype" value="iso" id="download_button_mirror" class="largebutton" style="width:100%;" type="submit">Download Now </button><br />
+            <!--
+            <button name="filetype" value="bt" id="download_button_bt" type="submit">Download using BitTorrent</button><br />
+            -->
+            <button name="filetype" value="signature" id="download_button_signature" type="submit">Get Checksum/Signature</button><br />
+            <a href="https://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
+          </div>
+          <!-- JS links -->
+          <div id="linkbuttons" style="display:none;">
+            <a id="download_link_mirror" class="largebutton">Download Now</a><br />
+            <!--
+            <a id="download_link_bt">BitTorrent Download</a><br />
+            -->
+            <a id="download_link_signature">Get GPG Signature</a><br />
+            <a href="https://grml.org/download/mirrors/">Download from a specific mirror</a><br/>
+          </div>
+        </div>
+      </div>
+      </form>
+
+      <script type="text/javascript">
+      function update_arch() {
+          var flavour = document.getElementById('download_flavour').value;
+          if (flavour == 'small') document.getElementById('download_arch').innerHTML = '<option value="amd64">64-bit PC (amd64)</option><option value="i386">32-bit PC (i686+)</option><option value="96">One for both (~685MB)</option>';
+          if (flavour == 'full') document.getElementById('download_arch').innerHTML = '<option value="amd64">64-bit PC (amd64)</option><option value="i386">32-bit PC (i686+)</option><option value="96">One for both (~1.45GB)</option>';
+          update_links();
+      }
+
+      function update_links() {
+          var current_version = "2021.07-rc1";
+          var product = 'grml';
+          var arch = document.getElementById('download_arch').value;
+          var flavour = document.getElementById('download_flavour').value;
+          if (arch == 'amd64') product = 'grml64';
+          if (arch == 'i386') product = 'grml32';
+          if (arch == '96') product = 'grml96';
+          var iso = product + '-' + flavour + '_' + current_version + '.iso';
+          var mirror_url = "https://download.grml.org/devel/";
+          document.getElementById('download_link_mirror').href = mirror_url + iso;
+          document.getElementById('download_link_mirror').innerHTML = '<br />Download Now<div class="download_relinfo">' + product + '-' + flavour + ' ' + current_version + '</div>';
+          // document.getElementById('download_link_bt').href = mirror_url + iso + '.torrent';
+          document.getElementById('download_link_signature').href = mirror_url + iso + '.asc';
+      }
 
-    // hook update function
-    document.getElementById('download_flavour').onchange = update_arch;
-    document.getElementById('download_arch').onchange = update_links;
-    // force initial link href set
-    update_links();
-    // only show our link "buttons"
-    document.getElementById('formbuttons').style.display = 'none';
-    document.getElementById('linkbuttons').style.display = '';
-    document.getElementById('download_group1').style.display = '';
-    document.getElementById('download_group1_noscript').style.display = 'none';
-    </script>
+      // hook update function
+      document.getElementById('download_flavour').onchange = update_arch;
+      document.getElementById('download_arch').onchange = update_links;
+      // force initial link href set
+      update_links();
+      // only show our link "buttons"
+      document.getElementById('formbuttons').style.display = 'none';
+      document.getElementById('linkbuttons').style.display = '';
+      document.getElementById('download_group1').style.display = '';
+      document.getElementById('download_group1_noscript').style.display = 'none';
+      </script>
     </div>
 
     <div class="download_group" id="download_group2">
 
-    <div class="download_panel" id="download_panel3"><div>
-    <b>Alternate downloads</b><br /><br />
-    <a href="https://daily.grml.org/">Daily images</a><br />
-    <a href="https://download.grml.org/">Older releases</a><br />
-    <a href="https://download.grml.org/devel/grml_sources-2021.07-rc1.tar.gz">Source code</a> (one tgz for both architectures)<br />
-    <br/>
-    Netboot packages:<br/>
-    <a href="https://download.grml.org/devel/grml_netboot_package_grml64-full_2021.07-rc1.tar">64-bit</a>
-    <a href="https://download.grml.org/devel/grml_netboot_package_grml32-full_2021.07-rc1.tar">32-bit</a>
+      <div class="download_panel" id="download_panel3">
+        <div>
+          <b>Alternate downloads</b><br /><br />
+          <a href="https://daily.grml.org/">Daily images</a><br />
+          <a href="https://download.grml.org/">Older releases</a><br />
+          <a href="https://download.grml.org/devel/grml_sources-2021.07-rc1.tar.gz">Source code</a> (one tgz for both architectures)<br />
+          <br/>
+          Netboot packages:<br/>
+          <a href="https://download.grml.org/devel/grml_netboot_package_grml64-full_2021.07-rc1.tar">64-bit</a>
+          <a href="https://download.grml.org/devel/grml_netboot_package_grml32-full_2021.07-rc1.tar">32-bit</a>
+        </div>
+      </div>
 
-    <br />
-    <br />
-    <b>Signing Key</b>
-    <br />
-    Please verify all downloads using GnuPG!
-    <br />
-    For each released ISO image there is also a signature file, that should be verified with the following
-    <a href="https://grml.org/download/gnupg-michael-prokop.txt">signing key</a>:
-    <pre>pub  4096R/96A87872B7EA3737 2010-07-14 Michael Prokop &lt;mika (at) grml.org&gt;
-Key  fingerprint = 33CC B136 401A FEC8 43A3  8763 96A8 7872 B7EA 3737
-sub  rsa4096/257B6FD52892CF7E 2010-07-14 [E]
-sub  rsa4096/43A1FB9BCC87C963 2018-07-26 [A] [expires: 2022-05-20]</pre>
-    </div></div>
-
-    <div class="download_panel" id="download_panel4"><div>
-    <b>Boot from USB key</b><br />
-    <br />
-    Just <tt>dd(1)</tt> the downloaded ISO to an <abbr title="Any existing data will be overwritten by the dd command!">empty</abbr> USB key!<br /><br />
-    <code>dd if=grml_2021.07-rc1.iso of=/dev/USB_KEY</code>
-    <br /><br />
+      <div class="download_panel" id="download_panel4">
+        <div>
+          <b>Boot from USB key</b><br />
+          <br />
+          Just <tt>dd(1)</tt> the downloaded ISO to an <abbr title="Any existing data will be overwritten by the dd command!">empty</abbr> USB key!<br /><br />
+          <code>dd if=grml_2021.07-rc1.iso of=/dev/USB_KEY bs=4M status=progress conv=fdatasync</code>
+          <br /><br />
 
-    <b>Troubleshooting</b><br /><br />
-    <a href="https://git.grml.org/?p=grml-live.git;a=blob_plain;f=templates/GRML/grml-cheatcodes.txt;hb=HEAD">Boot option guide</a>
-    <br /><br />
+          <b>Troubleshooting</b><br /><br />
+          <a href="https://git.grml.org/?p=grml-live.git;a=blob_plain;f=templates/GRML/grml-cheatcodes.txt;hb=HEAD">Boot option guide</a>
+          <br />
+          <br />
+          <br />
+          <br />
 
-    </div></div>
+        </div>
+      </div>
 
     </div>
 
-    <h2>Git repositories</h2>
+    <h2>Verify your download</h2>
+
+    <p>Please verify all downloads!</p>
+
+    <p>Alongside the actual ISO files, the Grml mirrors publish the extra files <em>SHA256SUMS</em> and <em>SHA256SUMS.gpg</em>.<br />
+    The <em><a href="https://download.grml.org/devel/SHA256SUMS">SHA256SUMS</a></em> file contains checksums for all available release files.<br />
+    The <em><a href="https://download.grml.org/devel/SHA256SUMS.gpg">SHA256SUMS.gpg</a></em> file provides the GnuPG signature for that file.<br />
+    Once you have <em>SHA256SUMS</em> and <em>SHA256SUMS.gpg</em> in the same directory as your Grml downloads, verify the SHA256 checksum via:
+    </p>
+
+<pre>
+gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
+</pre>
+
+    <br />
+    If you don't have <a href="https://grml.org/download/gnupg-michael-prokop.txt">our GnuPG signing key</a> (<em>0x96A87872B7EA3737</em>, fingerprint <em>33CC B136 401A FEC8 43A3  8763 96A8 7872 B7EA 3737</em>), run:
+
+<pre>
+gpg --keyid-format long --keyserver hkps://keys.openpgp.org --recv-keys 0x96A87872B7EA3737
+</pre>
+
+    Finally verify the checksum of your Grml downloads, via:
+
+<pre>
+sha256sum --ignore-missing -c SHA256SUMS
+</pre>
+
+    <h2>Source code</h2>
 
-    <p>The Grml team uses <a href="https://git-scm.com/">git</a> for
-    managing software and packages. The repositories are available
-    online at <a href="https://github.com/grml/">GitHub</a>.</p>
+    <p>The Grml team uses <a href="https://git-scm.com/">Git</a> for managing software and packages.
+    The repositories are available online at <a href="https://github.com/grml/">GitHub</a>.</p>
 
     <div style="clear: both;"></div>