switch-coreboot/util/lar
Stefan Reinauer c275218a89 Add a first bit of a framework. Builds the following parts, in
accordance to the newboot document:

* reset vector (16 bytes)
* vpd (240bytes)
* boot block (8k - 256b)
* lar archive (256-8 k)

The boot block is kind of simple, still. It enables pmode, car, and
starts looking for an initram module in the lar archive.

Note: This doesnt do much at the moment,
as gas seems to produce buggy code in init.S.

Take this as a suggestion of how it might work and please provide
patches fixing it and bringing it into shape.

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@62 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-01-29 22:09:50 +00:00
..
create.c Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
create.h Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
example.c Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
extract.c Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
extract.h Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
lar.c Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
lar.h Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
lib.c Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
lib.h Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
list.c Add a first bit of a framework. Builds the following parts, in 2007-01-29 22:09:50 +00:00
list.h Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
Makefile Use the same format for the lar license headers as in the rest of the 2006-11-10 17:06:53 +00:00
README Whitespace fixes (trivial). 2006-11-09 18:51:12 +00:00

LinuxBIOS Archiver: lar
-----------------------

Table of Contents
  - Introduction
  - Usage
  - Archive format
  - TODO
  - ChangeLog


Introduction
------------

This is a simple archiver, similar to cpio, ar or tar.

Design goals were
  - minimum overhead
  - maximum fault tolerance
  - simplicity

For a usage example see example.c.

For questions contact Stefan Reinauer <stepan@coresystems.de>.


Usage
-----

Create archive archive.lar containing files file1 ... fileN

  $ lar c archive.lar file1 ... fileN

Extract files from archive.lar

  $ lar x archive.lar [file1 ... fileN]

List files in archive:

  $ lar l archive.lar


Archive format
--------------

The rough format is:

 |--------------|
 |  header      |
 |--------------|
 |  data        |
 |--------------|
 |  header      |
 |--------------|
 |  data        |
 |--------------|
  ...

Headers have to be 16 byte aligned.

 |--------------------|
 |  magic (8byte)     |
 |--------------------|
 |  length (4byte)    |
 |--------------------|
 |  checksum (4byte)  |
 |--------------------|
 | offset to blob (4b)|
 |--------------------|
 | "path name"        | <-- null terminated, aligned to 16b
 |--------------------|
 | blob (aligned 16b) |
 |--------------------|


TODO
----

  - Reading flash layouts
  - This does not enforce any alignment yet
  - Alignment enforcing will be optional


License
-------

This program is licensed under the terms of the GPL, version 2.


ChangeLog
---------

2006/10/9
  - Initial version