linux/arch/cris/arch-v10/boot/compressed
Linus Torvalds b73b636e89 Merge branch 'for-linus' of git://www.jni.nu/cris
* 'for-linus' of git://www.jni.nu/cris:
  CRIS: proper defconfig setup
  [CRIS] Rename boot-linkscripts and fix the path to them.
2008-10-17 09:09:48 -07:00
..
decompress.lds [CRIS] Rename boot-linkscripts and fix the path to them. 2008-07-14 08:59:48 +02:00
head.S [CRIS] Build fixes for compressed and rescue images for v10 and v32: 2008-06-29 23:15:19 +02:00
Makefile [CRIS] Rename boot-linkscripts and fix the path to them. 2008-07-14 08:59:48 +02:00
misc.c inflate: refactor inflate malloc code 2008-07-25 10:53:28 -07:00
README Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00

Creation of the self-extracting compressed kernel image (vmlinuz)
-----------------------------------------------------------------
$Id: README,v 1.1 2001/12/17 13:59:27 bjornw Exp $

This can be slightly confusing because it's a process with many steps.

The kernel object built by the arch/etrax100/Makefile, vmlinux, is split
by that makefile into text and data binary files, vmlinux.text and 
vmlinux.data.

Those files together with a ROM filesystem can be catted together and
burned into a flash or executed directly at the DRAM origin.

They can also be catted together and compressed with gzip, which is what
happens in this makefile. Together they make up piggy.img. 

The decompressor is built into the file decompress.o. It is turned into
the binary file decompress.bin, which is catted together with piggy.img
into the file vmlinuz. It can be executed in an arbitrary place in flash.

Be careful - it assumes some things about free locations in DRAM. It
assumes the DRAM starts at 0x40000000 and that it is at least 8 MB,
so it puts its code at 0x40700000, and initial stack at 0x40800000.

-Bjorn