All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Burton <paul.burton@mips.com>
To: George Hilliard <thirtythreeforty@gmail.com>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RESEND PATCH] mips: ralink: allow zboot
Date: Thu, 21 Mar 2019 23:40:20 +0000	[thread overview]
Message-ID: <20190321234019.5ifoywetz2vnhpne@pburton-laptop> (raw)
In-Reply-To: <CACmrr9hj6A_ZgbgO=bHuueav1FEc4jQ2-T9ddASa61Qe4mKR9g@mail.gmail.com>

Hi George,

On Thu, Mar 21, 2019 at 05:10:38PM -0600, George Hilliard wrote:
> My version of U-Boot complains if I compile out LZMA support:
> ---
> => tftpboot 0x81000000 uImage; tftpboot 0x84000000 hawkeye.dtb; bootm
> 0x81000000 - 0x84000000
> (snip)
> Bytes transferred = 7349 (1cb5 hex)
> ## Booting kernel from Legacy Image at 81000000 ...
>    Image Name:   Linux-5.1.0-rc1
>    Image Type:   MIPS Linux Kernel Image (lzma compressed)
>    Data Size:    1465871 Bytes = 1.4 MiB
>    Load Address: 80000000
>    Entry Point:  80344338
>    Verifying Checksum ... OK
> ## Flattened Device Tree blob at 84000000
>    Booting using the fdt blob at 0x84000000
>    Uncompressing Kernel Image ... Unimplemented compression type 3
> exit not allowed from main input shell.
> =>
> ---

There you're using a uImage though, which is different to
CONFIG_SYS_SUPPORTS_ZBOOT. Even without CONFIG_SYS_SUPPORTS_ZBOOT
enabled, you can build either a compressed or uncompressed uImage.

Some platforms enable one of those targets by default but it doesn't
appear that ralink does, so I guess you're specifying a uImage.lzma
target when building the kernel? Try doing that when
CONFIG_SYS_SUPPORTS_ZBOOT isn't enabled - it'll still generate the same
type of LZMA-compressed uImage.

What CONFIG_SYS_SUPPORTS_ZBOOT does is produce a program (vmlinuz) which
contains a compressed version of vmlinux.bin along with some code to
decompress it. The decompression is performed by vmlinuz itself, not by
U-Boot.

A uImage in contrast is just the compressed (or uncompressed)
vmlinux.bin with a header prepended that U-Boot uses to understand what
it's loading. If the header says the data is compressed with LZMA then
U-Boot will need to support LZMA decompression.

What U-Boot is complaining about there is that you gave it a uImage
that's LZMA compressed & your build of U-Boot itself doesn't support
LZMA. That has nothing to do with CONFIG_SYS_SUPPORTS_ZBOOT or whether
the kernel binary itself supports any particular compression algorithm -
it's purely down to the configuration of your copy of U-Boot.

Options would be to rebuild U-Boot with LZMA support enabled, or to use
a different compression for your uImage that U-Boot already supports.
eg. you could specify that you want to use gzip:

  $ make ARCH=mips uImage.gz

That would give you an image that will work so long as U-Boot supports
gzip decompression, or:

  $ make ARCH=mips uImage.bin

That would give you an uncompressed uImage which U-Boot always supports.

Now it could still be valid to select CONFIG_SYS_SUPPORTS_ZBOOT if you
had a need for a better compression algorithm & couldn't update your
bootloader to support it, but that would be solving a different problem
than your commit message claims & it wouldn't matter at all whether the
bootloader supports a particular compression algorithm.

Thanks,
    Paul

  reply	other threads:[~2019-03-21 23:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-21 17:03 [RESEND PATCH 0/1] mips: ralink: allow zboot George Hilliard
2019-03-21 17:03 ` [RESEND PATCH] " George Hilliard
2019-03-21 22:01   ` Aaro Koskinen
2019-03-21 23:10     ` George Hilliard
2019-03-21 23:40       ` Paul Burton [this message]
2019-03-22  0:29         ` George Hilliard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190321234019.5ifoywetz2vnhpne@pburton-laptop \
    --to=paul.burton@mips.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=thirtythreeforty@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.