From c7a49cb9319b3c2565537becd3e5d0e5a6908752 Mon Sep 17 00:00:00 2001 From: Samuel Dolt Date: Tue, 18 Oct 2022 16:37:36 +0200 Subject: [PATCH] meta-belden-coreos-bsp: add beaglebone machine --- .../conf/machine/beaglebone.conf | 53 +++++++++++++++++++ .../linux/linux-yocto_5.15.bbappend | 6 +++ .../wic/beaglebone.wks.in | 7 +++ 3 files changed, 66 insertions(+) create mode 100644 layers/meta-belden-coreos-bsp/conf/machine/beaglebone.conf create mode 100644 layers/meta-belden-coreos-bsp/wic/beaglebone.wks.in diff --git a/layers/meta-belden-coreos-bsp/conf/machine/beaglebone.conf b/layers/meta-belden-coreos-bsp/conf/machine/beaglebone.conf new file mode 100644 index 0000000..2a6f515 --- /dev/null +++ b/layers/meta-belden-coreos-bsp/conf/machine/beaglebone.conf @@ -0,0 +1,53 @@ +#@TYPE: Machine +#@NAME: Beaglebone-yocto machine +#@DESCRIPTION: Reference machine configuration for http://beagleboard.org/bone and http://beagleboard.org/black boards + +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree" +EXTRA_IMAGEDEPENDS += "virtual/bootloader" + +DEFAULTTUNE ?= "cortexa8hf-neon" +include conf/machine/include/arm/armv7a/tune-cortexa8.inc + +IMAGE_FSTYPES += "wic wic.bmap" +WKS_FILE ?= "beaglebone-yocto.wks" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image kernel-devicetree" +do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot virtual/bootloader:do_deploy" + +SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" +PREFERRED_VERSION_linux-yocto ?= "5.15%" + +KERNEL_IMAGETYPE = "zImage" +KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" +KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" + +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" + +SPL_BINARY = "MLO" +UBOOT_SUFFIX = "img" +UBOOT_MACHINE = "am335x_evm_defconfig" +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" + +MACHINE_FEATURES = "usbgadget usbhost vfat alsa" + +IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE}" + +# support runqemu +EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" +IMAGE_CLASSES += "qemuboot" +QB_DEFAULT_FSTYPE = "wic" +QB_FSINFO = "wic:no-kernel-in-fs" +QB_KERNEL_ROOT = "/dev/vda2" +QB_SYSTEM_NAME = "qemu-system-arm" +QB_MACHINE = "-machine virt" +QB_CPU = "-cpu cortex-a15" +QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 systemd.mask=systemd-networkd" +QB_OPT_APPEND = "-device virtio-rng-device" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" +QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" +QB_SERIAL_OPT = "" +QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" diff --git a/layers/meta-belden-coreos-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend b/layers/meta-belden-coreos-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend index ac23e17..2da8781 100644 --- a/layers/meta-belden-coreos-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend +++ b/layers/meta-belden-coreos-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend @@ -3,3 +3,9 @@ COMPATIBLE_MACHINE:pc-x64 = "pc-x64" # Enable some kernel features related to virtualiuzation KERNEL_FEATURES:append:pc-x64=" cfg/virtio.scc cfg/paravirt_kvm.scc" + +KBRANCH:beaglebone = "v5.15/standard/beaglebone" +KMACHINE:beaglebone ?= "beaglebone" +SRCREV_machine:beaglebone ?= "9aabbaa89fcb21af7028e814c1f5b61171314d5a" +COMPATIBLE_MACHINE:beaglebone = "beaglebone" +LINUX_VERSION:beaglebone = "5.15.54" diff --git a/layers/meta-belden-coreos-bsp/wic/beaglebone.wks.in b/layers/meta-belden-coreos-bsp/wic/beaglebone.wks.in new file mode 100644 index 0000000..247b914 --- /dev/null +++ b/layers/meta-belden-coreos-bsp/wic/beaglebone.wks.in @@ -0,0 +1,7 @@ +# short-description: Create SD card image for Beaglebone +# long-description: Creates a partitioned SD card image for Beaglebone. +# Boot files are located in the first vfat partition. + +part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --fixed-size 32 --sourceparams="loader=u-boot" --use-uuid +part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4 --use-uuid +bootloader --append="console=ttyS0,115200" \ No newline at end of file