aarch64 based on main 58661b3ba9eb : panic for "ufs_dirbad: /: bad dir ino 66371814 at offset 106496: mangled entry"

Greg V greg at unrelenting.technology
Tue Mar 16 11:39:39 UTC 2021



On Tue, Mar 16, 2021 at 02:53, Mark Millard via freebsd-arm 
<freebsd-arm at freebsd.org> wrote:
> 
> https://unrelentingtech.s3.dualstack.eu-west-1.amazonaws.com/flash-image-2020-07-01-mainline-tfa.bin
> 
> With this media I get to see the kernel output that
> was missing before and so would have a chance of
> gathering evidence if there was a boot problem.

This is because FreeBSD was switched to actually correct parsing of 
serial settings:
https://reviews.freebsd.org/D25373

And only in these newer firmwares are the settings also correct :)

> I still have never tried to use the PCIe bus. A
> verbose boot reported:
> 
> pcib0: <Generic PCI host controller> on acpi0
> pcib0: Bus is cache-coherent
> pcib0: ECAM for bus 0-0 at mem e0000000-e00fffff
> pci0: <PCI bus> on pcib0
> pci0: domain=0, physical bus=0
> 
> but that was all for pci*. pciconf -l reported
> an empty output.

That's all you'll see without a card inserted.
On this device, we can only expose this much with ECAM.

> ( I've no clue how to accurately rebuild
> flash-image-2020-07-01-mainline-tfa.bin . Being
> able to rebuild in a known way could be an
> advantage to using a working port.)

You'll need to study EDK2 and TF-A documentation to understand all 
these things,
but some rough info:

EDK2 forks: https://github.com/unrelentingtech/edk2/commits/master 
https://github.com/unrelentingtech/edk2-platforms/commits/master

EDK2 build commands (before that, you'll need to build the tools in the 
repo etc.):

export 
PACKAGES_PATH=/usr/home/greg/src/github.com/tianocore/edk2:/usr/home/greg/src/github.com/tianocore/edk2-platforms:/usr/home/greg/src/github.com/tianocore/edk2-non-osi; 
 ./edksetup.sh

DTC_PREFIX=/usr/local/bin/ CLANG38_BIN=/usr/local/llvm80/bin/ 
CLANG38_AARCH64_PREFIX=aarch64-none-elf- build -a AARCH64 -p 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc -n 8 -t CLANG38 
-b DEBUG -D X64EMU_ENABLE=TRUE -D CAPSULE_ENABLE=FALSE

The final build image is produced by TF-A, mainline is 
https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git and the 
build command is

gmake -j8 HOSTCC=clang10 CROSS_COMPILE=aarch64-none-elf- ARCH=aarch64 
SCP_BL2=/home/greg/src/github.com/MarvellEmbeddedProcessors/binaries-marvell/mrvl_scp_bl2.img 
MV_DDR_PATH=/home/greg/src/github.com/MarvellEmbeddedProcessors/mv-ddr-marvell 
BL33=/home/greg/src/github.com/tianocore/edk2/Build/Armada80x0McBin-AARCH64/DEBUG_CLANG38/FV/ARMADA_EFI.fd 
PLAT=a80x0_mcbin LOG_LEVEL=30 E=0 all fip

the MV_DDR_PATH should have 
https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/tree/mv_ddr-armada-atf-mainline 
checked out (note the mainline branch for mainline TF-A), the SCP_BL2 
is from 
https://github.com/MarvellEmbeddedProcessors/binaries-marvell/tree/binaries-marvell-armada-18.12 
and BL33 is the .fd image built by the EDK2 build system.

and the TF-A makefile needs a gmake fix

--- i/plat/marvell/armada/a8k/common/ble/ble.mk
+++ w/plat/marvell/armada/a8k/common/ble/ble.mk
@@ -29,4 +29,4 @@ BLE_LINKERFILE := $(BLE_PATH)/ble.ld.S
 FORCE:

 $(MV_DDR_LIB): FORCE
- @+make -C $(MV_DDR_PATH) --no-print-directory 
PLAT_INCLUDES="$(PLAT_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 
OBJ_DIR=$(CURDIR)/$(BUILD_PLAT)/ble
+ @+$(MAKE) -C $(MV_DDR_PATH) --no-print-directory 
PLAT_INCLUDES="$(PLAT_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 
OBJ_DIR=$(CURDIR)/$(BUILD_PLAT)/ble


> There is also:
> 
> https://people.freebsd.org/~manu/flash-image-2020-07-01.bin
> and:
> https://unrelentingtech.s3.dualstack.eu-west-1.amazonaws.com/flash-image-2020-07-01.bin
> 
> that I have not tried.

That build has the same EDK2, but vendor TF-A 
(https://github.com/unrelentingtech/atf-marvell/tree/atf-v1.5-armada-18.12) 
instead of mainline.

If mainline works for you, great, no reason to switch to that one.
I've had some issue with mainline… IIRC, it refused to run from the 
SD card because of some SD timeout thing, only worked from SPI flash.




More information about the freebsd-arm mailing list