Am 27. Dezember 2023 19:54:06 MEZ schrieb Mario Marietto <marietto2...@gmail.com>: >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. > > Hello Mario, U-Boot supports booting EFI binaries since 2016. I don't know if some arm32 bits are still missing in FreeBSD (see https://wiki.freebsd.org/UEFI). But looking at https://cgit.freebsd.org/src/plain/stand/efi/loader/Makefile.depend.arm and https://cgit.freebsd.org/src/plain/stand/efi/loader/arch/arm/start.S arm32 should be supported. I guess the wiki needs an update. The U-Boot documentation only describes arm64 Xen support: https://docs.u-boot.org/en/latest/board/xen/xenguest_arm64.html . I have CCed the U-Boot Xen maintainers hoping they can indicate the missing pieces for arm32. Best regards Heinrich