hexdump0815 / linux-mainline-on-arm-chromebooks

running linux mainline on arm chromebooks - for example: samsung xe303c12 and xe503c12 (snow and peach), acer c100, c101 and c201 (veyron speedy, minnie etc. and gru bob and kevin), medion s2013 and s2015 (veyron jaq, mighty etc.), acer cb5 311 (nyan big), lenovo n23, acer r13 (oak elm and hana), lenovo duet (kukui krane) and most probably many many more over time ...
144 stars 10 forks source link

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. #24

Open Marietto2008 opened 6 months ago

Marietto2008 commented 6 months ago

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.

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