Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I'm looking for the source code of a specific u-boot version to boot FreeBSD for arm32 bit as DomU on my ARM Chromebook SNOW with xen. #28

Open
Marietto2008 opened this issue Dec 27, 2023 · 0 comments

Comments

@Marietto2008
Copy link

Marietto2008 commented Dec 27, 2023

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. 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.
  1. 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 to me the proper u-boot.bin kernel / bootloader file that maybe will be able to boot FreeBSD.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant