coreboot/util/lar
Stefan Reinauer 92efb61fa7 Add initial version of lar to the archive.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-By: Stefan Reinauer  <stepan@coresystems.de> and others.


git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@39 f3766cd6-281f-0410-b1cd-43a5c92072e9
2006-11-07 17:32:43 +00:00
..
create.c Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
create.h Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
example.c Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
extract.c Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
extract.h Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
lar.c Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
lar.h Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
lib.c Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
lib.h Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
list.c Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
list.h Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
Makefile Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00
README Add initial version of lar to the archive. 2006-11-07 17:32:43 +00:00

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

TOC
- 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 containting 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.


ChangeLog

2006/10/9
 - inital version