Q: linking method for armv8 kernel build

Jaemin Yoo zaemin.yoo at gmail.com
Tue Oct 7 12:31:48 UTC 2014


2014-10-06 PM 11:43, Andrew Turner wrote:
> On Mon, 06 Oct 2014 23:05:41 +0900
> Jaemin Yoo <zaemin.yoo at gmail.com> wrote:
> 
>> Hello, I just began to download and build kernel for armv8 according
>> to the following howto page. (https://wiki.freebsd.org/arm64)
>>
>> I could create the kernel image without problem. But 'file' says
>> it's dynamically linked. I expected statically linked image to load
>> it on dram using uboot.
>>
>> Is it meant to be? or am I missing some configuration?
> 
> All examples of the FreeBSD kernel I've looked at say they are
> dynamically linked. The requirement is the kernel needs to be loaded at
> a 2MiB aligned address for the VA->PA translation to work. It will
> create the page table so the kernel base points to the load address.
> 
> You may have problems loading it with U-Boot. It expects to be loaded
> by the loader as it passes in the device tree. U-Boot has been found to
> be difficult to support on 32-bit arm. Is there a reason to prefer it
> over UEFI?
> 
> Andrew
> 

Thanks. I'm doing most work at linux and vmlinux is mostly(?) statically
linked. So I thought same goes for freebsd too. There are some 'UND'
functions in kernel but I guess it's okay if they are not used.

I got a 64bit arm board which runs linux from APM. It came with binary
and source codes of u-boot. So I planned to enable bootelf and load kernel
on dram after adding uart driver for the board. I just want to see freebsd
kernel boot on arm64 with minimal changes.

Best Regards,
Jaemin

ps. I hope to contribute for enabling freebsd on arm64. :)


More information about the freebsd-arm mailing list