Download coreboot: Difference between revisions

From coreboot
Jump to navigation Jump to search
(→‎GNU Arch Repository: Restructured, deleted some duplicated, drop CVS, ...)
(→‎Repositories on coreboot.org: definitely not http on git clone of coreboot)
(84 intermediate revisions by 15 users not shown)
Line 1: Line 1:
= Introduction =
__NOTOC__


LinuxBIOS keeps its development tree in a [http://www.gnuarch.org/ GNU arch] repository. You may need to install GNU arch to be able to download the latest tree. You can find a tar of GNU arch at ftp://ftp.gnu.org/pub/gnu/gnu-arch/.
= Releases =


If you do not want to use GNU arch, please have a look at the Snapshots section below.
coreboot provides no binaries, but there exist some distributions that do so, see [[#coreboot_distributions|below]].


There are source code releases on https://www.coreboot.org/releases/


= Anonymous access =
= Accessing the source code through git =


You can check it out as follows (instead of tla you can also use baz):
coreboot uses git and gerrit for source code management. Please see the [[Git]] page on how to work with git and gerrit in coreboot.


<code><pre>
Previously the project used the subversion SCM, some links to it may still be referred to, but are definitely outdated.
  % # get gpg key for checking signed archives
  % wget \
      http://wiki.linuxbios.org/data/arch/linuxbios-developers-keyring.gpg
  % gpg --import < linuxbios-developers-keyring.gpg
  % # now do some one time registrations
  % tla my-id "John Doe <doe@example.com>" # Add your email address here
  % tla register-archive \
        ftp://openbios.org/pub/arch/linuxbios@linuxbios.org--devel
  % # now check out the archive
  % tla get linuxbios@linuxbios.org--devel/freebios--devel--2.0 freebios2
</pre></code>


= Developer Access =
== Source code browsing ==


== Prerequisites ==
You can browse the coreboot Git repository online using [https://review.coreboot.org/gitweb/cgit/coreboot.git/ cgit] including its [http://review.coreboot.org/gitweb?p=coreboot.git;a=tree tree view] for accessing the files.
If you want to get write access to the LinuxBIOS repository, you need the following:


* GnuPG key (can be created with gpg --gen-key)
= coreboot distributions =
* SSH v2 key (can be created with ssh-keygen -t dsa)


== Gentoo users ==
While not officially part of the coreboot project, there exist some projects that distribute pre-built (tested) ROM images along with build scripts and user-focused documentation. These "distros" of coreboot will also typically include copies of the source code (or links where to find it) for the version of coreboot used along with payloads such as SeaBIOS, GRUB and so on.


If you are running Gentoo you are going to need to `emerge tla`
'''Libreboot'''
* Deblobbed coreboot, officially supporting a handful of devices.
* [http://libreboot.org/ libreboot.org]


== Preparation ==
'''John Lewis'''
* Provides coreboot images for several Chromebooks
* [https://johnlewis.ie/custom-chromebook-firmware/rom-download/ johnlewis.ie]


* Get the arch key I created for the import from CVS.
'''Matt Devo - MrChromebox.tech'''
* Provides coreboot images and scripts for Haswell/Broadwell & Baytrail Chromeboxes and Chromebooks
* [https://mrchromebox.tech mrchromebox.tech]


  $ wget 'http://wiki.linuxbios.org/data/arch/linuxbios-developers-keyring.gpg'
= Repositories on coreboot.org =
  $ gpg --import linuxbios-developers-keyring.gpg


*  Prepare GNU arch for LinuxBIOS
Find all of our git repositories in [https://review.coreboot.org/gitweb/cgit/ cgit].


  # Set your default id:
Here's an obsolete list that will go away soon:
  $ tla my-id "John Doe <doe@example.com>"
 
  # similar to cvs login, tell gnuarch where to find the archive:
  $ tla register-archive sftp://lxbios@openbios.org/srv/arch/linuxbios@linuxbios.org--devel
 
  # prepare gnupg signature checking:
  $ mkdir -p ~/.arch-params/signing
  $ echo "gpg --clearsign" > ~/.arch-params/signing/\=default
  $ echo "gpg --verify-files -" > ~/.arch-params/signing/\=default.check


== Check out ==
'''coreboot current Git tree:'''
* <nowiki>https://review.coreboot.org/coreboot.git</nowiki>


  $ tla get linuxbios@linuxbios.org--devel/freebios--devel--2.0 freebios2
'''coreboot v1 (obsolete):'''
* svn://coreboot.org/coreboot/branches/coreboot-v1
* <nowiki>https://svn.coreboot.org/coreboot/branches/coreboot-v1</nowiki>


== Working on the tree ==
'''coreboot v3 (obsolete):'''
* svn://coreboot.org/repository/coreboot-v3
* <nowiki>https://svn.coreboot.org/repository/coreboot-v3</nowiki>


Now you can start editing the files. The following applies for symlinks and directories as well.
'''[[FILO]]:'''
* <nowiki>http://review.coreboot.org/filo.git</nowiki>


* New files are added with
'''[[Buildrom]]:'''
  $ tla add filename
* svn://coreboot.org/buildrom/
* <nowiki>https://svn.coreboot.org/buildrom/</nowiki>


* files can also be renamed using:
'''[[Distributed and Automated Testsystem]]:'''
  $ tla mv fileA fileB
* svn://coreboot.org/testsystem
 
* <nowiki>https://svn.coreboot.org/testsystem/</nowiki>
* files can also be renamed using:
  $ tla mv fileA fileB
 
* files can be deleted:
  $ tla rm file
 
When you're done editing/patching:
 
* Look at your changes:
  $ tla changes
or
  $ tla changes --diffs
 
* Check the tree:
 
You can do consistency checks on your tree with:
  $ tla tree-lint
  $ tla inventory -Bu
 
Check if your tree is current:
  $ tla missing
 
This will output a list of missing changesets in your local tree, ie:
 
  patch-15
  patch-16
  patch-17
  patch-18
 
In which case you should do a
  $ tla update
before you commit.
 
== Commiting ==
 
Write a changelog. PLEASE DO NOT CREATE EMPTY CHANGELOG MESSAGES:
  $ $EDITOR $( tla make-log )
 
Commit your local tree
  $ tla commit
 
This will ask you for your gpg passphrase (and possibly your ssh key
password if you set one). Then it will create a new revision in the
repository.
 
= Source code browsing =
 
You can also [http://www.openbios.org/cgi-bin/viewarch.cgi/linuxbios@linuxbios.org--devel browse the LinuxBIOS arch repository online].
 
See more repositories at http://www.openbios.org/cgi-bin/viewarch.cgi
 
= Snapshots =
 
There is an archive of snapshots available at snapshots.linuxbios.org. There is a .bz2 tar file that gets updated when the repository changes. Older snapshots are maintained as well.
 
* [http://snapshots.linuxbios.org/ Download snapshots]
 
 
 
= Mirroring the repository =
 
This is very simple. Do:
 
  wget -m ftp://ftp.openbios.org/pub/arch
 
Which gives you a snapshot in time of the archive.
To create a mirror usable by arch:
 
  tla register-archive linuxbios@linxubios.org--devel-SOURCE ftp://openbios.org/pub/arch/linuxbios@linuxbios.org--devel                                                         
  tla register-archive linuxbios@linuxbios.org--devel ~/{archives}/linuxbios@linuxbios.org--devel
                                                                                                                                                                                                                                                                                                                                                           
  echo gpg --clearsign > ~/.arch-params/signing/=default
  echo gpg --verify-files - > ~/.arch-params/signing/=default.check
  echo linuxbios@linuxbios.org--devel--SOURCE > ~/.arch-params/signing/linuxbios@linuxbios.org--devel
 
To update the mirror with the most recent contents:
  tla archive-mirror linuxbios@linuxbios.org --devel
 
Just don't do this in an account where you plan to commit to the upstream
archive.
 
= Creating a branch you can edit in local archive =
 
  tla tag -S linuxbios@linuxbios.org--devel/freebios--devel--2.0 you@yourarchive/freebios--devel--2.0
 
= More on tla =
 
* http://www.openbios.org/experience/gnuarch.html
* http://wiki.gnuarch.org/

Revision as of 18:14, 18 January 2018


Releases

coreboot provides no binaries, but there exist some distributions that do so, see below.

There are source code releases on https://www.coreboot.org/releases/

Accessing the source code through git

coreboot uses git and gerrit for source code management. Please see the Git page on how to work with git and gerrit in coreboot.

Previously the project used the subversion SCM, some links to it may still be referred to, but are definitely outdated.

Source code browsing

You can browse the coreboot Git repository online using cgit including its tree view for accessing the files.

coreboot distributions

While not officially part of the coreboot project, there exist some projects that distribute pre-built (tested) ROM images along with build scripts and user-focused documentation. These "distros" of coreboot will also typically include copies of the source code (or links where to find it) for the version of coreboot used along with payloads such as SeaBIOS, GRUB and so on.

Libreboot

  • Deblobbed coreboot, officially supporting a handful of devices.
  • libreboot.org

John Lewis

  • Provides coreboot images for several Chromebooks
  • johnlewis.ie

Matt Devo - MrChromebox.tech

  • Provides coreboot images and scripts for Haswell/Broadwell & Baytrail Chromeboxes and Chromebooks
  • mrchromebox.tech

Repositories on coreboot.org

Find all of our git repositories in cgit.

Here's an obsolete list that will go away soon:

coreboot current Git tree:

  • https://review.coreboot.org/coreboot.git

coreboot v1 (obsolete):

coreboot v3 (obsolete):

FILO:

  • http://review.coreboot.org/filo.git

Buildrom:

Distributed and Automated Testsystem: