FreeBSD Image für Orange Pi Zero Plus / Cross Compile

pooltechniker

Well-Known Member
Hallo,
Ich versuche gerade, ein FreeBSD Image für meinen Orange Pi Zero Plus zu erstellen; habe mich dabei an das FreeBSD Wiki gehalten:

Als Ausgangsconfig hab ich die vom Pine64 genommen; meine Config sieht jetzt so aus:
Code:
# cat orangepizeroplus.conf
#!/bin/sh
#
# $FreeBSD$
#

EMBEDDED_TARGET_ARCH="aarch64"
EMBEDDED_TARGET="arm64"
EMBEDDEDBUILD=1
EMBEDDEDPORTS="sysutils/u-boot-orangepi-zero-plus"
FAT_SIZE="54m -b 1m"
FAT_TYPE="16"
IMAGE_SIZE="3072M"
KERNEL="GENERIC"
MD_ARGS="-x 63 -y 255"
NODOC=1
PART_SCHEME="GPT"
FDT_OVERLAYS="sun50i-a64-timer,sun50i-a64-opp"
export BOARDNAME="OrangePiZeroPlus"

arm_install_uboot() {
       UBOOT_DIR="/usr/local/share/u-boot/u-boot-orangepi-zero-plus"
       UBOOT_FILES="u-boot-sunxi-with-spl.bin"
       chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \
               of=/dev/${mddev} bs=128k seek=1 conv=sync

       return 0
}
Danach die Übersetzung angestoßen - aber: das wird alles für amd64 kompiliert, und nicht für arm64:
Code:
$ pstree 838
-+= 00838 root sh release.sh -c arm64/orangepizeroplus.conf
\-+- 00857 root make -s -j4 __MAKE_CONF=/dev/null SRCCONF=/dev/null buildworld
  \-+= 00888 root sh -e
    \-+- 00889 root make -m /scratch/usr/src/share/mk -f Makefile.inc1 TARGET=amd64 TARGET_ARCH=amd64 buildworld
      \-+= 48008 root sh -e
        \-+- 48009 root time env MACHINE_ARCH=amd64 MACHINE=amd64 CPUTYPE=CC=cc -target x86_64-unknown-freebsd14.0 --sysroot=/scratc
          \-+- 48010 root make -f Makefile.inc1 BWPHASE=libraries DESTDIR=/scratch/tmp/obj/scratch/usr/src/amd64.amd64/tmp -DNO_FSCHG
            \-+= 48036 root sh -e
              \-+- 72663 root make -f Makefile.inc1 _generic_libs
                \-+= 72673 root sh -e
                  \-+- 72676 root make MK_TESTS=no DIRPRFX=lib/ all
                    \-+= 79245 root sh -e
                      \-+- 79246 root make all DIRPRFX=lib/clang/
                        \-+= 79247 root sh -e
                          \-+- 79248 root make all DIRPRFX=lib/clang/libllvm/
                            |-+= 85978 root sh -e
                            | \--- 85979 root c++ -target x86_64-unknown-freebsd14.0 --sysroot=/scratch/tmp/obj/scratch/usr/src/amd64
                            |-+= 86005 root sh -e
                            | \--- 86006 root c++ -target x86_64-unknown-freebsd14.0 --sysroot=/scratch/tmp/obj/scratch/usr/src/amd64
                            |-+= 86007 root sh -e
                            | \--- 86008 root c++ -target x86_64-unknown-freebsd14.0 --sysroot=/scratch/tmp/obj/scratch/usr/src/amd64
                            \-+= 86009 root sh -e
                              \--- 86010 root c++ -target x86_64-unknown-freebsd14.0 --sysroot=/scratch/tmp/obj/scratch/usr/src/amd64
EMBEDDED_TARGET_ARCH und EMBEDDED_TARGET sind in der Config ja richtig gesetzt. Was mache ich hier falsch?
 
Zurück
Oben