Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1533442
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/6] x86/boot: Move compressed kernel to end of decompression buffer |
| Date | 2016-11-30 18:00 +0100 |
| Message-ID | <sJgoG-9j-27@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <rt4k2-4Rw-7@gated-at.bofh.it> <s6E13-6G7-1@gated-at.bofh.it> <s6S42-73X-1@gated-at.bofh.it> <s6YM9-38J-3@gated-at.bofh.it> <sojrc-1U9-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Oct 4, 2016 at 12:50 AM, Simon Glass <sjg@chromium.org> wrote: > HI Matt, > > On 16 August 2016 at 20:25, Matt Mullins <mmullins@mmlx.us> wrote: >> On Tue, Aug 16, 2016 at 12:19:42PM -0700, Yinghai Lu wrote: >>> On Mon, Aug 15, 2016 at 9:01 PM, Matt Mullins <mmullins@mmlx.us> wrote: >>> > >>> > This appears to have a negative effect on booting the Intel Edison platform, as >>> > it uses u-boot as its bootloader. u-boot does not copy the init_size parameter >>> > when booting a bzImage: it copies a fixed-size setup_header [1], and its >>> > definition of setup_header doesn't include the parameters beyond setup_data [2]. >>> > >>> > With a zero value for init_size, this calculates a %rsp value of 0x101ff9600. >>> > This causes the boot process to hard-stop at the immediately-following pushq, as >>> > this platform has no usable physical addresses above 4G. >>> > >>> > What are the options for getting this type of platform to function again? For >>> > now, kexec from a working Linux system does seem to be a work-around, but there >>> > appears to be other x86 hardware using u-boot: the chromium.org folks seem to be >>> > maintaining the u-boot x86 tree. >>> > >>> > [1] http://git.denx.de/?p=u-boot.git;a=blob;f=arch/x86/lib/zimage.c;h=1b33c771391f49ffe82864ff1582bdfd07e5e97d;hb=HEAD#l156 >>> > [2] http://git.denx.de/?p=u-boot.git;a=blob;f=arch/x86/include/asm/bootparam.h;h=140095117e5a2daef0a097c55f0ed10e08acc781;hb=HEAD#l24 >>> >>> Then should fix the u-boot about header_size assumption. >> >> I was hoping to avoid that, since the Edison's u-boot is 10,000-line patch atop >> the upstream -- I don't trust myself to build and flash one quite yet. > > It would be good to upstream that! > >> >> If this turned out to affect Chromebooks, I'd spend more effort pushing for >> a kernel fix, but it seems that ChromeOS has a different kernel load procedure >> and doesn't use "zboot". For now, I'll probably just keep a local patch that >> hard-codes a value large enough to decompress and launch the kernel. >> >> I may turn that local patch into something gated by a Kconfig eventually, in >> hopes that users of the other x86 u-boot platforms will see it in a "make >> oldconfig" run. > > Well, I think this patch is useful. But also, let's fix U-Boot. Found this late. Anyway, I have got same issue [1] and basically what I did, I just deuglified a bit that monster hack pile for U-Boot to build my own fork of most recent one [2]. For now on I have working x86_64 kernel directly and newest U-Boot. [1] https://github.com/andy-shev/linux/issues/3 [2] https://github.com/andy-shev/u-boot/tree/edison -- With Best Regards, Andy Shevchenko
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH 2/6] x86/boot: Move compressed kernel to end of decompression buffer Andy Shevchenko <andy.shevchenko@gmail.com> - 2016-11-30 18:00 +0100
csiph-web