<!DOCTYPE HTML>
<html>
  <head>
    <title>KVS - Kernel Version Switcher</title>
    <link href="style.css" rel="stylesheet" type="text/css">
    <meta name="description" content="KVS is a side project of mine that will change your current tpm_kernver to ANY version between 0 and 3..">
    <meta property="og:url" content="https://kvs.kxtz.dev">
    <meta property="og:type" content="website">
    <meta property="og:title" content="KVS">
    <meta property="og:description" content="KVS is a side project of mine that will change your current tpm_kernver to ANY version between 0 and 3.">

    <meta name="twitter:card" content="summary_large_image">
    <meta property="twitter:domain" content="kvs.kxtz.dev">
    <meta property="twitter:url" content="https://kvs.kxtz.dev">
    <meta name="twitter:title" content="KVS">
    <meta name="twitter:description" content="KVS is a side project of mine that will change your current tpm_kernver to ANY version between 0 and 3.">
  </head>
  <body style="padding-bottom: 3%;">
    <script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
	  <script src="app.js"></script>
    <div class="header" style="z-index:0;padding:0;margin:0;">
      <div id="particles-js" style="z-index:-1;"></div>
      <h1>KVS</h1>
      <p>Kernel Version Switcher</p>
      <p>Kernel Version Switcher<br>writeup: <a href="https://blog.kxtz.dev/posts/kvs">https://blog.kxtz.dev/posts/kvs</a></p>
    </div>
    <div class="main" style="padding-bottom: 3%;">
      <div class="about">
        <h3>What is KVS?</h3>
        <p>KVS is a side project of mine that will change your current tpm_kernver to ANY version.</p>
        <p>This works using the hexdumps of 0x1008 (kernver TPM index) and <code>tpmc</code> to write the hexdumps of your selected kernver to the 0x1008 TPM index.</p>
      </div>
      <div class="installation">
        <p><b>YOU MUST BE UNENROLLED TO USE KVS! ANY ISSUES REPORTED RELATING TO BEING ENROLLED WHILE TRYING TO USE THIS WILL GET CLOSED IMMEDIATELY</b></p>
        <h3>How do I use this?</h3>
        <p>To use KVS, you must download your shim from <a href="https://dl.kxtz.dev/ChromeOS/shims/KVS/">kxtz' shim mirror</a></p>
        <p>After downloading, flash your USB/SD with the file, I recommend Chrome Recovery Utility.</p>
      </div>
      <div class="faq">
        <h3>FAQ</h3>
        <h4><p><b>Q: </b>Will this brick my device?</p></h4>
        <p><b>A: </b>No, KVS has no way to permanantly brick / hard brick a device. At most, it will make ChromeOS stop booting, but you will still be able to boot shims to recover the kernver index.</p>
        <h4><b>Q: </b>What kernvers are there?</h4>
        <p><b>A: </b>There are 4,294,967,296 possible kernel versions (0x00000000 - 0xFFFFFFFF)</p>
        <h4><b>Q: </b>What versions can I downgrade to with kernver _</h4>
        <p><b>A: </b>Heres what versions you can downgrade to with each official kernver</p>
        <p>kernver 0: any</p>
        <p>kernver 1: any</p>
        <p>kernver 2: 112 - 119</p>
        <p>kernver 4: 125 - latest</p>
        <h4><b>Q: </b>What is the difference between kernver 0 and kernver 1?</h4>
        <p><b>A: </b>literally none, its just cool to see</p>
      </div>
      <div class="credits">
        <h3>Credits</h3>
        <p><b>kxtzownsu</b> - Writing KVS</p>
        <p><b>OlyB</b> - Helping me with the shim builder, most of the shim builder wouldn't exist without him.</p>
        <p><b>Google</b> - Writing the <code>tpmc</code> command</p>
      </div>
      <div style="padding-bottom: 3%;"></div>
    </div>
  </body>
</html>