|
|
(78 intermediate revisions by 13 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 http://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://www.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 [http://review.coreboot.org/gitweb?p=coreboot.git gitweb] 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.
| | = Repositories on coreboot.org = |
|
| |
|
| $ wget 'http://wiki.linuxbios.org/data/arch/linuxbios-developers-keyring.gpg'
| | '''coreboot current Git tree:''' |
| $ gpg --import linuxbios-developers-keyring.gpg
| | * <nowiki>http://review.coreboot.org/coreboot.git</nowiki> |
|
| |
|
| * Prepare GNU arch for LinuxBIOS | | '''coreboot v1 (obsolete):''' |
| | * svn://coreboot.org/coreboot/branches/coreboot-v1 |
| | * <nowiki>https://svn.coreboot.org/coreboot/branches/coreboot-v1</nowiki> |
|
| |
|
| # Set your default id:
| | '''coreboot v3 (obsolete):''' |
| $ tla my-id "John Doe <doe@example.com>"
| | * svn://coreboot.org/repository/coreboot-v3 |
|
| | * <nowiki>https://svn.coreboot.org/repository/coreboot-v3</nowiki> |
| # 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 ==
| | '''[[FILO]]:''' |
| | * <nowiki>http://review.coreboot.org/filo.git</nowiki> |
|
| |
|
| $ tla get linuxbios@linuxbios.org--devel/freebios--devel--2.0 freebios2
| | '''[[Buildrom]]:''' |
| | * svn://coreboot.org/buildrom/ |
| | * <nowiki>https://svn.coreboot.org/buildrom/</nowiki> |
|
| |
|
| == Working on the tree ==
| | '''[[Distributed and Automated Testsystem]]:''' |
| | | * svn://coreboot.org/testsystem |
| Now you can start editing the files. The following applies for symlinks and directories as well.
| | * <nowiki>https://svn.coreboot.org/testsystem/</nowiki> |
| | |
| * New files are added with
| |
| $ tla add filename
| |
| | |
| * files can also be renamed using:
| |
| $ tla mv fileA fileB
| |
|
| |
| * 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/
| |
Releases
coreboot provides no binaries, but there exist some distributions that do so, see below.
There are source code releases on http://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 gitweb 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
Repositories on coreboot.org
coreboot current Git tree:
- http://review.coreboot.org/coreboot.git
coreboot v1 (obsolete):
coreboot v3 (obsolete):
FILO:
- http://review.coreboot.org/filo.git
Buildrom:
Distributed and Automated Testsystem: