# Support for Odroid XU4?



## tenox (Jul 5, 2019)

Hi,

How can one persuade / help FreeBSD get official support for some specific ARM board?

I would like to see a full support for Odroid XU4. This is because their HC2 product (XU4 based) is a perfect NAS hardware. I would love to run FreeBSD/ZFS on it.

Is there some form of a bounty or other process to get it kick started?

Thanks!


----------



## SirDice (Jul 8, 2019)

arm/developer - FreeBSD Wiki


----------



## tingo (Jul 8, 2019)

There are lots of people who wants stuff. Some even want to pay for stuff. However the one thing FreeBSD needs most is more developers - that is the only thing that can help accelerate development.
Still, very few of the people who wants something from FreeBSD wants to learn how to be a FreeBSD developer (in fairness, some do).

Curious that.


----------



## Tjure (May 14, 2021)

It's a quite old post, but I don't want to reopen a new one.

I am wondering, whether the FreeBSD-kernel would be able to boot on Odroid XU4 or is it not working at all?
Actually I configured/compiled a FreeBSD-kernel using the EXYNOS5420 configuration, but always stuck when the kernel actually should start (see attachment).

I had to modify the u-boot loader (README.odroid), and shift the first (msdos) partition by a few blocks, but the rest was a standard FreeBSD (13.0) image (apart from the kernel, of course).

Any ideas what I am missing?


----------



## SleepWalker (May 14, 2021)

I had a similar result 2 years ago
then there was EXINOS support in the source tree
XU4 is EXINOS5422 and not 5420 they are slightly different
It is necessary to build a kernel based on the 2019 source codes


			Support for BSD - ODROID
		

We can try together


----------



## Tjure (May 15, 2021)

Thanks a lot. 

Could you  be more specific, which 2019 source codes you mean? 11.3, 11.4, 12.1 or older? Or which revision?


----------



## SleepWalker (May 15, 2021)

`git switch stable/12`

Here

`root@honeycomb:/usr/src # ls -lsa sys/arm/samsung/exynos/
total 171
 9 drwxr-xr-x  2 root  wheel     29 May 15 15:37 .
 1 drwxr-xr-x  3 root  wheel      3 May 15 15:37 ..
 5 -rw-r--r--  1 root  wheel   5184 May 15 15:37 chrome_ec_spi.c
 5 -rw-r--r--  1 root  wheel   6388 May 15 15:37 chrome_ec.c
 5 -rw-r--r--  1 root  wheel   1700 May 15 15:37 chrome_ec.h
13 -rw-r--r--  1 root  wheel  19201 May 15 15:37 chrome_kb.c
 5 -rw-r--r--  1 root  wheel   3167 May 15 15:37 chrome_kb.h
 9 -rw-r--r--  1 root  wheel   9060 May 15 15:37 exynos_uart.c
 5 -rw-r--r--  1 root  wheel   5410 May 15 15:37 exynos_uart.h
 9 -rw-r--r--  1 root  wheel  10842 May 15 15:37 exynos5_combiner.c
 5 -rw-r--r--  1 root  wheel   1467 May 15 15:37 exynos5_combiner.h
 5 -rw-r--r--  1 root  wheel   1855 May 15 15:37 exynos5_common.h
 9 -rw-r--r--  1 root  wheel   9998 May 15 15:37 exynos5_ehci.c
 9 -rw-r--r--  1 root  wheel  10826 May 15 15:37 exynos5_fimd.c
 9 -rw-r--r--  1 root  wheel  10166 May 15 15:37 exynos5_i2c.c
 5 -rw-r--r--  1 root  wheel   2804 May 15 15:37 exynos5_machdep.c
 5 -rw-r--r--  1 root  wheel   3703 May 15 15:37 exynos5_mct.c
 5 -rw-r--r--  1 root  wheel   3764 May 15 15:37 exynos5_mp.c
 5 -rw-r--r--  1 root  wheel   1508 May 15 15:37 exynos5_mp.h
13 -rw-r--r--  1 root  wheel  20451 May 15 15:37 exynos5_pad.c
 5 -rw-r--r--  1 root  wheel   1459 May 15 15:37 exynos5_pad.h
 5 -rw-r--r--  1 root  wheel   4238 May 15 15:37 exynos5_pmu.c
 5 -rw-r--r--  1 root  wheel   1447 May 15 15:37 exynos5_pmu.h
 5 -rw-r--r--  1 root  wheel   5895 May 15 15:37 exynos5_spi.c
 5 -rw-r--r--  1 root  wheel   7735 May 15 15:37 exynos5_usb_phy.c
 9 -rw-r--r--  1 root  wheel   8447 May 15 15:37 exynos5_xhci.c
 5 -rw-r--r--  1 root  wheel    908 May 15 15:37 files.exynos5
 5 -rw-r--r--  1 root  wheel    131 May 15 15:37 std.exynos5250
 5 -rw-r--r--  1 root  wheel    131 May 15 15:37 std.exynos5420
root@honeycomb:/usr/src #`


----------



## Tjure (May 16, 2021)

Unfortunately, still no success. 

Compiled a kernel using stable/12, but it still stops at the same position. 

I was also trying to set the dtb-file (version of stable/12) manually by 
`load -t dtb exynos5422-odroidxu4.dtb`
Alternatively I tried also exynos5422-odroidxu3.dtb, but no change.

Does it make sense to use an earlier version? Or could the version of bootarm.efi also interfere?


----------



## SleepWalker (May 16, 2021)

We do not see a single line of the system kernel output - this means that we have something wrong with the console driver or the definition of the console port in the DTS file.
It seems to me.


----------



## Tjure (May 16, 2021)

This was also one of my thoughts.

So I used the dtb-file from a working NetBSD-Image, but unfortunately without change. Actually a closer look reveilled that NetBSD and FreeBSD use the same dts-files.

So I does not seem to be the dtb/dts-file.


----------



## Tjure (May 20, 2021)

I tried also an older kernel (11.2), but still no success. 

Did anybody get FreeBSD running on Odroid XU4?


----------



## Demontager (Jul 17, 2022)

Bumping up thread because also own odroid XU4 and wish to run FreeBSD on it.


----------



## Maxfx (Oct 29, 2022)

Tjure said:


> It's a quite old post, but I don't want to reopen a new one.
> 
> I am wondering, whether the FreeBSD-kernel would be able to boot on Odroid XU4 or is it not working at all?
> Actually I configured/compiled a FreeBSD-kernel using the EXYNOS5420 configuration, but always stuck when the kernel actually should start (see attachment).
> ...


How to try run with uboot ? I tried  run without result . I did "tip 115200 ucom1"


----------



## Alain De Vos (Oct 29, 2022)

tingo said:


> There are lots of people who wants stuff. Some even want to pay for stuff. However the one thing FreeBSD needs most is more developers - that is the only thing that can help accelerate development.
> Still, very few of the people who wants something from FreeBSD wants to learn how to be a FreeBSD developer (in fairness, some do).
> 
> Curious that.


I find the porters-handbook not that easy.


----------



## Tjure (Nov 5, 2022)

Maxfx said:


> How to try run with uboot ? I tried  run without result . I did "tip 115200 ucom1"


I am not sure that I got your question right. You need to compile the u-boot for odroid, i.e., execute
`make odroid-xu4_defconfig` in the u-boot source directory and then perform the steps outlined in README.odroid


----------

