I'm looking for the source code of a specific u-boot version.

Tony Dinh mibodhi at gmail.com
Thu Dec 28 01:14:40 CET 2023


Hi Mario and Heinrich,

On Wed, Dec 27, 2023 at 12:23 PM Mario Marietto <marietto2008 at gmail.com> wrote:
>
> Hello.
>
> I'm trying to boot FreeBSD for arm32 bit as DomU on my ARM Chromebook
> SNOW with xen. Basically there are two ways to accomplish this task :
>
>
> 1) to write a patch that allows the FreeBSD kernel to boot as a zImage
> file. This could be accomplished applying this patch to a specific
> file that's on the source code of FreeBSD :
>
>
> https://xenbits.xen.org/gitweb/?p=p...8;hb=0782e25d98cc1391472717035f986c979edef0c9
>
>
>
> This patch was written by Julien Grall a lot of time ago and now it
> does not work anymore. This is the reason explain by the xen
> developers :
>
>
>
> It appears FreeBSD-CURRENT removed the last step converting the kernel
> file to kernel.bin.The patch can be readily rebased, but without
> kernel.bin that doesn't do too much.
>
>
>
> So,without a rebase of that patch the first option is not applicable.
> And I'm not able to fix it.
>
>
> 2) booting FreeBSD using U-Boot,as explained to me by a xen developer :
>
>
> I was trying to explain why and how Julien's patch works so that you
> could be the one to re-do something similar or fix the patch on the
> FreeBSD kernel that you are working with. I am happy to help review
> and write patches but I don't work with the FreeBSD kernel so I
> wouldn't be able to help you quickly. However, I might have a
> suggestion. Do you know if FreeBSD can be booted by U-Boot ?
> Because
> U-Boot definitely boots as Xen on ARM guest firmware/bootloader. You
> should be able to build U-Boot and use the U-Boot binary as Xen guest
> kernel, then U-Boot could load FreeBSD from disk or network and start
> it. For instance as domU config file:
>
> kernel="/home/petalinux/u-boot.bin"
> disk = [ '/home/petalinux/test.img,raw,xvda' ]
>
>
> Actually I'm working on the idea n. 2. Basically I need to find the
> proper u-boot file that's able to boot the image of FreeBSD that I
> have installed (13.2 for arm32 bit). Maybe I found it here :
>
>
> http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/nv_uboot-snow-simplefb.kpart.bz2
>
>
> I found that link inside this tutorial :
>
>
> https://wiki.freebsd.org/arm/Chromebook
>
>
> the version of u-boot that has been embedded in that file is the following one :
>
>
> # strings nv_uboot-snow-simplefb.kpart | grep U-Boot
> U-Boot 2011.12-gc1f6280 (May 27 2013 - 15:06:59) for SMDK5250
>
>
> So the question is easy : I need to find the source code of that old
> version of u-boot,because once compiled,it will give me the proper
> u-boot.bin kernel / bootloader file that maybe will be able to boot
> FreeBSD.

Yes, it can boot a 32-bit ARM board. I'm not a FreeBSD person, but
I've helped a FreeBSD user booting a 32-bit ARM box with u-boot
(GoFlexHome Marvell Kirkwood 6281). The u-boot version was 2017.05. I
used an out-of-tree u-boot build. This u-boot executed the ubldr to
boot FreeBSD.

Please see here:
https://forum.doozan.com/read.php?3,49039,82059#msg-82059

It's been so long, I don't remember the details. Just to confirm what
Heinrich said that u-boot can indeed boot 32-bit FreeBSD, since many
years ago.

All the best,
Tony

>
>
> --
> Mario.


More information about the U-Boot mailing list