From: LABBE Corentin <clabbe@baylibre.com>
To: James Morse <james.morse@arm.com>
Cc: nsaenzjulienne@suse.de, linux-kernel@vger.kernel.org,
u-boot@lists.denx.de, bcm-kernel-feedback-list@broadcom.com,
linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: RPI4: fail too boot with an initrd
Date: Mon, 17 Feb 2020 11:37:33 +0100 [thread overview]
Message-ID: <20200217103733.GA11379@Red> (raw)
In-Reply-To: <b726290c-1038-3771-5187-6ac370bc92c9@arm.com>
On Fri, Feb 14, 2020 at 06:15:27PM +0000, James Morse wrote:
> Hi Corentin,
>
> On 14/02/2020 13:27, LABBE Corentin wrote:
> > Since the inclusion of the "enable network support in RPi4 config" serie on uboot, I
> > have started to work on adding the rpi4 in kernelCI.
> > But I fail to succeed in using a kernel/dtb/ramdisk downloaded via tftp.
> >
> > Using booti I hit:
> > [ 0.000000] Linux version 5.6.0-rc1-next-20200212 (clabbe@build2-bionic-1804) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #66 SMP PREEMPT Wed Feb 12 10:14:20 UTC 2020
> > [ 0.000000] Machine model: Raspberry Pi 4 Model B
> > [ 0.000000] earlycon: uart0 at MMIO32 0x00000000fe215040 (options '')
> > [ 0.000000] printk: bootconsole [uart0] enabled
> > [ 0.000000] efi: Getting EFI parameters from FDT:
> > [ 0.000000] efi: UEFI not found.
>
> So no EFI,
>
> > [ 0.000000] OF: reserved mem: failed to allocate memory for node 'linux,cma'
>
> Out of memory.
>
> > [ 0.000000] cma: Failed to reserve 32 MiB
> > [ 0.000000] Kernel panic - not syncing: Failed to allocate page table page
>
> Out of memory...
>
> > [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.6.0-rc1-next-20200212 #66
> > [ 0.000000] Hardware name: Raspberry Pi 4 Model B (DT)
> > [ 0.000000] Call trace:
> > [ 0.000000] dump_backtrace+0x0/0x1a0
> > [ 0.000000] show_stack+0x14/0x20
> > [ 0.000000] dump_stack+0xbc/0x104
> > [ 0.000000] panic+0x16c/0x37c
> > [ 0.000000] early_pgtable_alloc+0x30/0xa0
>
> ... really early!
>
> > [ 0.000000] __create_pgd_mapping+0x36c/0x588
> > [ 0.000000] map_kernel_segment+0x70/0xa4
> > [ 0.000000] paging_init+0xf4/0x528
> > [ 0.000000] setup_arch+0x250/0x5d8
> > [ 0.000000] start_kernel+0x90/0x6d8
> >
> >
> > Since the same kernel boot with bootefi and that bootefi lack ramdisk address,
>
> Booting with EFI will cause linux to use the EFI memory map.
>
> Does your DT have a memory node? (or does it expect EFI to provide the information)
>
>
> > I tried to add the address in the dtb via:
> > fdt addr 0x02400000; fdt resize; fdt set /chosen linux,initrd-start 0x02700000; fdt set /chosen linux,initrd-end 0x10000000; bootefi 0x00080000 0x02400000
> > But with that, I get:
> > initrd not fully accessible via the linear mapping -- please check your bootloader ...
>
> So this one is an EFI boot, but you can't find where to put the initramfs such that the
> kernel agrees its in memory.
>
> If you boot with 'efi=debug', linux will print the EFI memory map. Could you compare that
> to where U-Boot thinks memory is?
>
> (it sounds like your DT memory node is missing, and your EFI memory map is surprisingly small)
Hello
Thanks for your advices.
In the dtb of mainline linux:
/* Will be filled by the bootloader */
memory@0 {
device_type = "memory";
reg = <0 0 0>;
};
In uboot I have:
static struct mm_region bcm2711_mem_map[] = {
{
.virt = 0x00000000UL,
.phys = 0x00000000UL,
.size = 0xfe000000UL,
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
PTE_BLOCK_INNER_SHARE
}, {
.virt = 0xfc000000UL,
.phys = 0xfc000000UL,
.size = 0x03800000UL,
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
PTE_BLOCK_NON_SHARE |
PTE_BLOCK_PXN | PTE_BLOCK_UXN
}, {
/* List terminator */
0,
}
};
But I dont know if uboot use that for filling the memory node.
Booting the rpi4 with efi=debug give:
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 5.6.0-rc1-next-20200214 (clabbe@build2-bionic-1804) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #70 SMP PREEMPT Fri Feb 14 10:54:54 UTC 2020
[ 0.000000] Machine model: Raspberry Pi 4 Model B
[ 0.000000] earlycon: uart0 at MMIO32 0x00000000fe215040 (options '')
[ 0.000000] printk: bootconsole [uart0] enabled
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: System Table: 0x000000003b365590
[ 0.000000] efi: MemMap Address: 0x0000000038484040
[ 0.000000] efi: MemMap Size: 0x00000410
[ 0.000000] efi: MemMap Desc. Size: 0x00000028
[ 0.000000] efi: MemMap Desc. Version: 0x00000001
[ 0.000000] efi: EFI v2.80 by Das U-Boot
[ 0.000000] efi: SMBIOS=0x39f46000 MEMRESERVE=0x38487040
[ 0.000000] efi: Processing EFI memory map:
[ 0.000000] efi: 0x000000000000-0x000000000fff [Reserved | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000000001000-0x00000007ffff [Conventional Memory| | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000000080000-0x000001b3ffff [Loader Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000001b40000-0x000007efffff [Conventional Memory| | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000007f00000-0x000007f08fff [Boot Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000007f09000-0x0000381fffff [Conventional Memory| | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000038200000-0x0000383fffff [Loader Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000038400000-0x00003846ffff [Conventional Memory| | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000038470000-0x00003847ffff [Loader Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000038480000-0x000038483fff [Conventional Memory| | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000038484000-0x000038487fff [Loader Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000038488000-0x000039f40fff [Loader Code | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f41000-0x000039f44fff [Reserved | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f45000-0x000039f45fff [Boot Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f46000-0x000039f46fff [Runtime Data |RUN| | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f47000-0x000039f48fff [Boot Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f49000-0x000039f4cfff [Reserved | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f4d000-0x000039f4efff [Boot Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f4f000-0x000039f52fff [Reserved | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f53000-0x000039f53fff [Runtime Data |RUN| | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f54000-0x000039f54fff [Reserved | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000039f55000-0x00003b35ffff [Loader Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x00003b360000-0x00003b36ffff [Runtime Code |RUN| | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x00003b370000-0x00003b3fffff [Loader Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x000040000000-0x0000fbffffff [Boot Data | | | | | | | | | |WB| | | ]
[ 0.000000] efi: 0x0000fe100000-0x0000fe100fff [Memory Mapped I/O |RUN| | | | | | | | | | | | ]
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] initrd not fully accessible via the linear mapping -- please check your bootloader ...
Regards
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-02-17 10:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-14 13:27 RPI4: fail too boot with an initrd LABBE Corentin
2020-02-14 18:15 ` James Morse
2020-02-17 10:37 ` LABBE Corentin [this message]
2020-02-17 10:50 ` Matthias Brugger
2020-02-17 12:53 ` LABBE Corentin
2020-02-17 13:07 ` Matthias Brugger
2020-02-18 10:01 ` LABBE Corentin
2020-02-18 10:36 ` Matthias Brugger
2020-02-18 11:08 ` Jaehoon Chung
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=20200217103733.GA11379@Red \
--to=clabbe@baylibre.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=nsaenzjulienne@suse.de \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).