# Installing on a AmigaOne X5000



## SteveG1 (Mar 2, 2017)

Hello All,

I just purchased an AmigaOne X5000. It looks like FreeBSD will run it:
https://www.freebsd.org/news/status/report-2016-01-2016-03.html

It also appears that it is unfinished. Still, I would like to try it. Is it part of powerpc64? Where do I download it from and is there a how-to on installing?

Kind Regards,
Al


----------



## SirDice (Mar 2, 2017)

Please note that PowerPC(64) is a Tier 2 platform.


----------



## SteveG1 (Mar 2, 2017)

SirDice said:


> Please note that PowerPC(64) is a Tier 2 platform.



It is a Tier 2 platform, and from everything I read support for the X5000 is incomplete, but I still what to try it.


----------



## Chmeee (Jun 5, 2017)

Hi Al,

I'm the one responsible for the port, and yes, it's not in a sanely-finished state yet.  Most devices work for powerpc(32) -- ethernet, SDHC, SPI, USB, i2c (for RTC) -- but SATA does not, it has some problems currently.  A short install overview is (with HEAD):

```
make buildworld buildkernel KERNCONF=MPC85XX TARGET=powerpc
make installworld installkernel KERNCONF=MPC85XX TARGET=powerpc DESTDIR=/path/to/nfs/root (or USB/image)
make distribution TARGET=powerpc DESTDIR=/path/to/new/root
```
Now the tricky part, building the kernel uboot image.  I use the following command line, using NetBSD's mkubootimage:
`mkubootimage -A powerpc -C none -O linux -a 0x3ffffc0 -e 0x04001000 -n "FreeBSD Amiga" -T kernel /usr/obj/powerpc.powerpc/usr/src/sys/MPC85XX/kernel amiga.uImage`

You need to also get a customized device tree blob, which currently is only at (until I can make it use the Linux blob, or place this blob in a better place): https://people.freebsd.org/~jhibbits/cyrus_p5020_amiga2.dtb

You need to either netboot this image (there are lots of instructions on creating a netboot host elsewhere), or put it on a FAT volume (USB), and load it via:

```
(dhcp method): dhcp 3ffffc0 amiga.uImage; tftpboot $fdtaddr cyrus_p5020_amiga2.dtb; bootm 3ffffc0 - $fdtaddr
(fatload method): fatload usb 0:1 3ffffc0 amiga.uImage; fatload usb 0:1 $fdtaddr cyrus_p5020_amiga2.dtb; bootm 3ffffc0 - $fdtaddr
```
I've only ever used the dhcp boot method, so the fatload method is purely a guess right now.

Currently, also, there are problems with it, in that after some time (with NFS root, at least) it crashes with some pmap issues.  I'm still trying to diagnose those issues, and haven't had any luck over the last year or so that I've been trying (off and on while doing other development for the board).

Also, you can use the QORIQ64 kernel, with TARGET=powerpc TARGET_ARCH=powerpc64, to build a powerpc64 kernel, which runs, but has no ethernet support.  This is also still in development.


----------



## tingo (Jun 8, 2017)

I'm guessing that this is unlikely to run on a AmigaOne X1000?


----------



## Chmeee (Jun 8, 2017)

Unfortunately not.  We currently do not support the PA6T architecture, but if someone wants to donate some hardware, we could have it running eventually.  I just checked qemu, as that could've been a viable alternative for bringup, but it doesn't appear to emulate the PA6T, so I'd need access to the hardware.


----------



## tingo (Jun 10, 2017)

Yeah, that was my thinking. Anyway, thanks for checking!


----------

