[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#772983: kirkwood kernel image is too big



Control: severity -1 important
Control: retitle -1 armel kernel images are close to size limits

On Fri, 2014-12-12 at 19:36 +0000, Ian Campbell wrote:
> On Fri, 2014-12-12 at 18:12 +0000, Ben Hutchings wrote:
> > Package: src:linux
> > Version: 3.16.7-2
> > Severity: serious
> > 
> > The kirkwood and orion5x kernel images generally have to be installed
> > in flash partitions with a fixed size.  Currently we check at build
> > time that vmlinuz is small enough to fit.  However, these platforms
> > now require Device Tree blobs, and the appropriate DTB must be
> > appended to the kernel image in flash since the boot loader won't load
> > it separately.
> > 
> > The kirkwood machines with the smallest known kernel partition are
> > QNAP TS-119/TS-219, with 2097080 bytes space.  We need to fit:
> > 
> > -rw-r--r-- 1 ben ben 2094680 Nov  7 03:37 vmlinuz-3.16.0-4-kirkwood
> > -rw-r--r-- 1 ben ben   10394 Dec  9 04:57 kirkwood-ts219-6281.dtb
> 
> We have not switched to dtb appending for the QNAP TS* platforms in
> Jessie. The board support still existed in v3.16 and we still use it.

OK.

> I had originally planned to switch QNAP over for 3.16 but it wasn't
> quite ready upstream (I've forgotten why). The board files went away in
> 3.17 so in experimental (v3.18) appending is necessary. Once I've worked
> out some kinks with kirkwood in v3.18 I was planning to upload a
> corresponding flash-kernel which does appending for those platforms.

In case you hadn't noticed, I've changed the size check in trunk so it
can optionally include the size of the largest DTB.  That is somewhat
pessimistic in that the largest DTB probably won't be used in
conjunction with the smallest partition.  I enabled this for both
kirkwood and orion5x, though now I think I should not have done so for
orion5x.

[...]
> >                   2094680 < 2097080
> > 2094680 + 10394 = 2105074 > 2097080
> > 
> > The orion5x machine with the smallest known kernel partition is D-Link
> > DNS-323, with 1572792 bytes space.  We currently have less than 1 KB
> > to spare here.  Thankfully this machine is still supported by board
> > code and doesn't need a DTB.  But if any of the other orion5x machines
> > we intend to support have a similarly small kernel partition and
> > require a DTB they will not work with this version.
> 
> I don't know much about orion5x, but the flash-kernel db tells me that
> we don't currently append a dtb on any platform there.
> 
> 1k is rather tight though, even if appending isn't needed. A security
> update adding 1k of binary size wouldn't be totally out of the question
> and it would be unfortunate to have to start disabling features in a
> security update.

Yes, you're right.  For comparison, this is what's happened over the
course of wheezy stable updates:

           3.2.41-2  3.2.63-2  limit     growth%  growth limit%
iop32x:    1427968   1434632   1441784   0.47      0.97
ixp4xx:    1424696   1428920   1441760   0.30      1.20
kirkwood:  1606512   1613040   2097080   0.41     30.54
orion5x:   1475936   1483632   1572792   0.52      6.56

They've grown by up to about 0.5% over the course of 20 months of a ~36
month support period.  That implies we want to allow for about 1% growth
from the size in the .0 release.  Thankfully they did all start with
this much space.

Currently in sid we have:

           3.16.7-ckt2-1  limit     growth limit%
ixp4xx:    1429712        1441760   0.84%
kirkwood:  2094488        2097080   0.12%
orion5x:   1568248        1572792   0.29%

I misread earlier - kirkwood is about 2.5 KB below the limit, not < 1.
Anyway, both kirkwood and orion5x have much less than 1% of growth room
and ixp4xx has slightly less.  I think that some of the config changes I
made in trunk should be applied to jessie/sid as well.

Ben.

-- 
Ben Hutchings
Kids!  Bringing about Armageddon can be dangerous.  Do not attempt it in
your own home. - Terry Pratchett and Neil Gaiman, `Good Omens'

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: