Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jan 2022 23:51:28 +0100
From:      Milan Obuch <freebsd-arm@dino.sk>
To:        freebsd-arm@freebsd.org
Subject:   Re: Trouble booting RELENG 13.0 on a Zynq XC7Z010 (Zybo-like) board
Message-ID:  <20220120235128.0e7fb82d@zeta.dino.sk>
In-Reply-To: <CANC_bnO34txnqdDYq9jMBNHY=D1C0QM=hVno23Rq8XuPhU%2B3FQ@mail.gmail.com>
References:  <CANC_bnO34txnqdDYq9jMBNHY=D1C0QM=hVno23Rq8XuPhU%2B3FQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 20 Jan 2022 14:41:10 -0500
Lee D <embaudarm@gmail.com> wrote:

> Hi Everyone,
> 
> I am trying to get FreeBSD RELENG 13.0 to boot on a custom Xilinx Zynq
> (XC7Z010) board, based loosely on a Zybo. I am using a custom boot
> loader that loads and launches the kernel.
>

Hi,

how is this boot loader made? All Zynq based boards I know about use
U-Boot customized according the board's design.

> I figured out how to do this back in 2016 with FreeBSD 10 and 11, and
> the product that uses this load has been working well ever since.
> Back then I used Thomas Skibo's examples as a reference, but those
> have not been updated for 13.0.
>
> Just to start with, I have compiled a 13.0 kernel using a slightly
> modified ZEDBOARD config, and am attempting to boot that with my
> existing 11.0.1-compatible bootloader, and 11.0.1 dtb file.  I
> modified the bootloader to jump to 0x02000200 instead of 0x02000100.
>

I am not sure, but I think there was some change in boot process, so
your 11-compatible bootloader is probably no longer compatible with
13.0 kernel. Also, you may need to create new dtb, some modification is
probably necessary.

> Tracing through, I can see that it is panicking in
> platform_probe_and_attach(), with the message "No platform module
> found!".
> 
> Also, incidentally, it doesn't seem to be printing messages to the
> serial port like it used to.
>

Could you verify your serial port settings? If I am not mistaken, some
critical board setup is expected to be done in bootloader, FreeBSD
kernel just uses what is already set. This is valid especially for
serial port used as console.

> Could anyone tell me what a platform module is and where it is set?
> 
> Also, where is the ubldr (or equivalent) code that sets up the
> environment for the kernel launch now located?
>

There is some push towards using efiloader for loading kernel. I have
no specific answer on kernel environment...

Regards,
Milan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20220120235128.0e7fb82d>