Re: Booting FreeBSD 13-RELEASE on AmigaOne X5000 (Cyrus P5020)
Date: Fri, 08 Apr 2022 12:52:25 UTC
Hi, On 07/04/22 14:29, widelec-bb wrote: > Hello. > > I'm trying to boot FreeBSD 13-RELEASE on AmigaOne x5000. I can load ubldr > from u-boot, but I can't get it to load the kernel. How can I do that? > > This is the boot sequence I have (from u-boot console): > > X5000> run bootfreebsd > reading ubldr > 315292 bytes read in 238 ms (1.3 MiB/s) > reading bsd_cyrus_p5020.dtb > 65536 bytes read in 254 ms (252 KiB/s) > ## Starting application at 0x00010160 ... > Consoles: U-Boot console > Compatible U-Boot API signature found @0x7fe2efd8 > > FreeBSD/powerpc64 U-Boot loader, Revision 1.1 > > Number of U-Boot devices: 4 > U-Boot env: loaderdev not set, will probe all devices. > Found U-Boot device: disk > Probing all <unknown> devices... > Checking unit=0 slice=<auto> partition=<auto>... > Checking unit=1 slice=<auto> partition=<auto>... > Checking unit=2 slice=<auto> partition=<auto>... good. > Booting from disk2s4a: > / > can't load 'kernel' > > Type '?' for a list of commands, 'help' for more detailed help. > > The bootfreebsd variable is defined as shown at > https://wiki.freebsd.org/powerpc/UBoot-Install that is: > fatload sata 1:1 $loadaddr ubldr; > fatload sata 1:1 $fdtaddr bsd_cyrus_p5020.dtb; > fdt addr $fdtaddr; > fdt boardsetup; > bootelf $loadaddr; > > The addr variables are defined as: > loadaddr=1000000 > fdtaddr=c00000 > > File bsd_cyrus_p5020.dtb is downloaded from > https://people.freebsd.org/~jhibbits/cyrus_p5020.dtb > > ubdlr lsdev: > loader> lsdev > disk devices: > disk0 (MMC) > disk1 (SATA) > disk1p1: EFI > disk1p2: APFS > disk2 (SATA) > disk2s1: DOS/Windows > disk2s2: Linux > disk2s3: Linux > disk2s4: FreeBSD > disk2s4a: FreeBSD UFS > disk2s4b: FreeBSD swap > net devices: > net0: > > FreeBSD partitions have been created under VM (VirtualBox/amd64) using > gpart, following EXAMPLES/MBR section from manual. > Output of "gpart show" on VM: > => 63 4000797296 da0 MBR (1.9T) > 63 1985 - free - (993K) > 2048 4194304 1 fat32 (2.0G) > 4196352 104857600 2 linux-data (50G) > 109053952 1074120704 3 linux-data (512G) > 1183174656 268435456 4 freebsd (128G) > 1451610112 2549187247 - free - (1.2T) > > => 0 268435456 da0s4 BSD (128G) > 0 104857600 1 freebsd-ufs (50G) > 104857600 33554432 2 freebsd-swap (16G) > 138412032 130023424 - free - (62G) > > It is "da0" because disk was connected via sata->usb adapter. > On disk (da0s4a) I extracted kernel.txz and base.txz downloaded from > https://download.freebsd.org/releases/powerpc/powerpc64/13.0-RELEASE/ > > I'm probably missing some simple, but required step, so any help will be > appreciated. > > I think those are not relevant, but I tried also: > 1. switching disk to become only disk in system and primary device (the > first partition become sata 0:1 in uboot) > 2. writing installation ISO to the usb stick > 3. building system from sources and extracting generated kernel.txz > and base.txz > 4. writing installation ISO generated during build from source to USB stick > 5. creating FreeBSD partitions on USB stick and extracting kernel.txz > and base.txz on it (to exclude interference of the Linux partitions > present on sata disk) > 6. moving /boot/kernel/kernel to the root directory (partition da0s4a using > names from "gpart show" output shown above) > > In all those cases I end up with same error in ubldr (can't load 'kernel') > with FreeBSD partition properly discovered, variables loaderdev and currdev > in ubldr were assigned to correct device name. > > When building system from sources I used following commands: > make -s -j3 buildworld buildkernel TARGET_ARCH=powerpc64 KERNCONF=QORIQ64 > make -C release cdrom ARCH=powerpc > The second one have "ARCH" variable set which is not shown on wiki, > but seems to be required to run correctly. > > - widelec-BB > You need to add: setenv loaderdev disk0s2a Also, maybe: setenv bootargs vfs.root.mountfrom=ufs:/dev/ada1s2a Of course, you will need to change the device to match yours. Also, you may need a newer .dtb. I can email you one if you need it. Please let me know if you have any other questions. Kind Regards, Al