
Hi Mario,
On Thu, Dec 28, 2023 at 3:48 PM Mario Marietto marietto2008@gmail.com wrote:
I tried to compile it,but If failed :
/mnt/zroot2/zroot2/OS/Chromebook/freebsd-xen/domU-freebsd/bootloaders/u-boot-2017.05# ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make snow_defconfig
HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/zconf.tab.o In file included from scripts/kconfig/zconf.tab.c:2470: In function ‘dep_stack_insert’, inlined from ‘sym_check_print_recursive’ at scripts/kconfig/symbol.c:1123:3, inlined from ‘sym_check_deps’ at scripts/kconfig/symbol.c:1300:3: scripts/kconfig/symbol.c:1099:19: warning: storing the address of local variable ‘cv_stack’ in ‘check_top’ [-Wdangling-pointer=] 1099 | check_top = stack; | ~~~~~~~~~~^~~~~~~ scripts/kconfig/symbol.c: In function ‘sym_check_deps’: scripts/kconfig/symbol.c:1120:26: note: ‘cv_stack’ declared here 1120 | struct dep_stack cv_stack; | ^~~~~~~~ scripts/kconfig/symbol.c:1090:4: note: ‘check_top’ declared here 1090 | } *check_top; | ^~~~~~~~~ HOSTLD scripts/kconfig/conf # # configuration written to .config #
/mnt/zroot2/zroot2/OS/Chromebook/freebsd-xen/domU-freebsd/bootloaders/u-boot-2017.05# ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h CFG u-boot.cfg GEN include/autoconf.mk GEN include/autoconf.mk.dep CFG spl/u-boot.cfg GEN spl/include/autoconf.mk CHK include/config/uboot.release CHK include/generated/version_autogenerated.h CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h CC lib/asm-offsets.s arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv5 arm-linux-gnueabihf-gcc: note: valid arguments are: armv4 armv4t armv5t armv5te armv5tej armv6 armv6j armv6k armv6z armv6kz armv6zk armv6t2 armv6-m armv6s-m armv7 armv7-a armv7ve armv7-r armv7-m armv7e-m armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8-m.base armv8-m.main armv8-r armv8.1-m.main armv9-a iwmmxt iwmmxt2; did you mean ‘armv4’? arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’ make[1]: *** [Kbuild:44: lib/asm-offsets.s] Error 1 make: *** [Makefile:1287: prepare0] Error 2
You might need to compile with an old toolchain, e.g. gcc 4?
Regards, Simon
On Thu, Dec 28, 2023 at 3:47 PM Mario Marietto marietto2008@gmail.com wrote:
Hello.
Can someone provide the right link to download u-boot-2017.0.5 , please ?
I've found it here,but I'm not sure that it's the correct version :
https://src.fedoraproject.org/repo/pkgs/uboot-tools/u-boot-2017.05.tar.bz2/s...
Can you confirm it ? thanks.
On Thu, Dec 28, 2023 at 1:14 AM Tony Dinh mibodhi@gmail.com wrote:
Hi Mario and Heinrich,
On Wed, Dec 27, 2023 at 12:23 PM Mario Marietto marietto2008@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 :
- 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=0782e25d98cc1391472717035f986c979...
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.
- 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_ub...
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.
-- Mario.
-- Mario.