<!--#include file="header.html" -->

<div class="container">
<div class="row nh">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">

  <div class="panel panel-primary">
    <div class="panel-heading">Download</div>
    <div class="panel-body">

      <h3 style="text-align: center;">Latest long term support release: <b>2024.02.4</b></h3>

      <div class="row mt centered">
	<div class="col-sm-6">
	  <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
	    <div class="flipper">
	      <div class="front">
		<a href="/downloads/buildroot-2024.02.4.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
	      </div>
	      <div class="back">
		<a href="/downloads/buildroot-2024.02.4.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
	      </div>
	    </div>
	  </div>
	  <h3><a href="/downloads/buildroot-2024.02.4.tar.gz">buildroot-2024.02.4.tar.gz</a></h3>
	  <p><a href="/downloads/buildroot-2024.02.4.tar.gz.sign">PGP signature</a></p>
	</div>
	<div class="col-sm-6">
	  <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
	    <div class="flipper">
	      <div class="front">
		<a href="/downloads/buildroot-2024.02.4.tar.xz"><img src="images/package.png" width="180" alt=""></a>
	      </div>
	      <div class="back">
		<a href="/downloads/buildroot-2024.02.4.tar.xz"><img src="images/package.png" width="180" alt=""></a>
	      </div>
	    </div>
	  </div>

	  <h3><a href="/downloads/buildroot-2024.02.4.tar.xz">buildroot-2024.02.4.tar.xz</a></h3>
	  <p><a href="/downloads/buildroot-2024.02.4.tar.xz.sign">PGP signature</a></p>
	</div>
      </div>

      <h3 style="text-align: center;">Latest stable release: <b>2024.05.1</b></h3>

      <div class="row mt centered">
	<div class="col-sm-6">
	  <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
	    <div class="flipper">
	      <div class="front">
		<a href="/downloads/buildroot-2024.05.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
	      </div>
	      <div class="back">
		<a href="/downloads/buildroot-2024.05.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
	      </div>
	    </div>
	  </div>
	  <h3><a href="/downloads/buildroot-2024.05.1.tar.gz">buildroot-2024.05.1.tar.gz</a></h3>
	  <p><a href="/downloads/buildroot-2024.05.1.tar.gz.sign">PGP signature</a></p>
	</div>
	<div class="col-sm-6">
	  <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
	    <div class="flipper">
	      <div class="front">
		<a href="/downloads/buildroot-2024.05.1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
	      </div>
	      <div class="back">
		<a href="/downloads/buildroot-2024.05.1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
	      </div>
	    </div>
	  </div>

	  <h3><a href="/downloads/buildroot-2024.05.1.tar.xz">buildroot-2024.05.1.tar.xz</a></h3>
	  <p><a href="/downloads/buildroot-2024.05.1.tar.xz.sign">PGP signature</a></p>
	</div>
      </div>
<!--
      <h3 style="text-align: center;">Latest release candidate: <b>2024.05-rc2</b></h3>
      <div class="row mt centered">
	<div class="col-sm-6">
	  <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
	    <div class="flipper">
	      <div class="front">
		<a href="/downloads/buildroot-2024.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
	      </div>
	      <div class="back">
		<a href="/downloads/buildroot-2024.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
	      </div>
	    </div>
	  </div>

	  <h3><a href="/downloads/buildroot-2024.05-rc2.tar.gz">buildroot-2024.05-rc2.tar.gz</a></h3>
	  <p><a href="/downloads/buildroot-2024.05-rc2.tar.gz.sign">PGP signature</a></p>
	</div>
	<div class="col-sm-6">
	  <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
	    <div class="flipper">
	      <div class="front">
		<a href="/downloads/buildroot-2024.05-rc2.tar.xz"><img src="images/package.png" width="180" alt=""></a>
	      </div>
	      <div class="back">
		<a href="/downloads/buildroot-2024.05-rc2.tar.xz"><img src="images/package.png" width="180" alt=""></a>
	      </div>
	    </div>
	  </div>

	  <h3><a href="/downloads/buildroot-2024.05-rc2.tar.xz">buildroot-2024.05-rc2.tar.xz</a></h3>
	  <p><a href="/downloads/buildroot-2024.05-rc2.tar.xz.sign">PGP signature</a></p>
	</div>
      </div>
-->
      This and earlier releases (and their PGP signatures) can always be downloaded from
      <a href="/downloads/">http://buildroot.net/downloads/</a>.
    </div>
  </div>

  <div class="panel panel-primary">
    <div class="panel-heading">Git repository</div>
    <div class="panel-body">

      <p>The buildroot repository can be browsed online at
	<a href="https://gitlab.com/buildroot.org/buildroot/">https://gitlab.com/buildroot.org/buildroot/</a>.</p>

      <p>To grab a copy of the repository use</p>

      <div class="input-group" style="width: 100%;">
	<input class="form-control" style="width: 85%;" id="giturl"
	       value="git clone https://gitlab.com/buildroot.org/buildroot.git" type="text" readonly></input>
	<span class="input-group-button">
	  <button class="btn pull-right" type="button" data-clipboard-target="#giturl"
		  data-toggle="tooltip" data-placement="bottom" data-trigger="manual" title="Copied!">
	    <img class="clippy" src="images/clippy.svg" alt="Copy to clipboard" width="13">
	  </button>
	</span>
      </div><br>

      <p>If you are not already familiar with using Git, we recommend
	you visit <a href="http://git-scm.org">the Git
	website</a>.</p>

      <p>Once you've checked out a copy of the source tree, you can
	update your source tree at any time so it is in sync with the
	latest and greatest by entering your buildroot directory and
	running the command:</p>

      <pre>git pull</pre>

      <p>Because you've only been granted anonymous access to the
	tree, you won't be able to push your changes to the
	repo. Changes can instead be submitted for inclusion by
	posting them to the buildroot mailing list.</p>

    </div>
  </div>

</div><!--/.col-sm-10 -->
</div><!--/.row -->
</div>

<!--#include file="footer.html" -->
