Thread (170 messages) 170 messages, 19 authors, 2012-09-16

Re: [PATCH v2 02/31] arm64: Kernel booting and initialisation

From: Nicolas Pitre <nico@fluxnic.net>
Date: 2012-08-17 18:21:33
Also in: linux-arm-kernel, lkml

On Fri, 17 Aug 2012, Arnd Bergmann wrote:
On Thursday 16 August 2012, Nicolas Pitre wrote:
quoted
Some people will want to use bzip2 or whatever other decompressor du 
jour.  Maybe this shouldn't be gzip specific, or just presented as a 
possible option?
Good point. Whether this should be part of this document depends on
what assumptions we make about the boot loader getting the image
in the first place.

In the strict sense, we are documenting the interface between the boot
loader and the kernel here, which already specifies that  the kernel
must be uncompressed by the time we enter it. If the boot loader wants
to add its own encryption or compression methods, or its own headers
in front of the binary, the boot protocol isn't really impacted.
Right.  And someone else will insist on wrapping the kernel into a boot 
loader specific image format e.g. u-Boot.  If all those variations could 
be kept out of the kernel build that would be a good thing.

That means the kernel should be wrapped/compressed/scrambled at 
installation time, not at build time.  This way the kernel image remains 
universal and flexibility in its installation is possible.
That said, I think it's a good idea to also specify what kind of 
format we want to be used, e.g. a stripped ELF Image compressed with 
one of gzip/bzip2/lzo/xz and with no other headers added, on a 
vfat/ext4/btrfs formatted file system. There are probably a lot of 
other things one might want to specify if we go down this route. Or we 
could refer to the UEFI spec and mandate that the same format that 
UEFI uses should be used here independent of what boot loader is used. 
I think we can still allow other ways to get to the image for deeply 
embedded systems, e.g. linking the kernel into the boot loader as a 
blob on tightly constrained systems. For that case, we'd only specify 
the interface between boot loader and kernel as described above.
I don't think we'll have to concern ourselves with tightly constrained 
systems that much on ARM64.


Nicolas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help