summaryrefslogtreecommitdiff
path: root/yocto/README
diff options
context:
space:
mode:
Diffstat (limited to 'yocto/README')
-rw-r--r--yocto/README122
1 files changed, 72 insertions, 50 deletions
diff --git a/yocto/README b/yocto/README
index 6c92a6e..8e63844 100644
--- a/yocto/README
+++ b/yocto/README
@@ -73,6 +73,7 @@ yocto image
-----------
- clone meta-information
+cd /build
mkdir oe-core
cd oe-core
# branch:
@@ -94,12 +95,16 @@ MACHINE ?= "verdin-imx8mp"
# set debian packages
PACKAGE_CLASSES ?= "package_deb"
...
+# set distro
+DISTRO ?= "mikrophone"
+...
# append
ACCEPT_FSL_EULA = "1"
- append mikrophone layer:
vi conf/bblayers.conf
# append to BBLAYERS variable:
+BBLAYERS ?= " \
...
${TOPDIR}/../layers/meta-mikrophone \
"
@@ -111,9 +116,20 @@ bitbake -k mikrophone-image
bitbake -k mikrophone-image -c populate_sdk
- install sdk:
-deploy/sdk/tdx-xwayland-glibc-x86_64-mikroPhone-Image-armv8a-verdin-imx8mp-toolchain-7.x.y.sh
+deploy/sdk/mikrophone-glibc-x86_64-mikroPhone-Image-armv8a-verdin-imx8mp-toolchain-7.x.y.sh
# install into: /build/tdx-xwayland/7.x.y
+- prepare sdk for building kernel modules:
+vi /build/tdx-xwayland/7.x.y/environment-setup-armv8a-tdx-linux
+...
+# append
+export KERNEL_SRC="$SDKTARGETSYSROOT/lib/modules/6.x.y-$OECORE_SDK_VERSION-devel/build"
+...
+
+. /build/tdx-xwayland/7.x.y/environment-setup-armv8a-tdx-linux
+cd /build/tdx-xwayland/7.x.y/sysroots/armv8a-tdx-linux/usr/lib/modules/6.x.y-7.x.y-devel/build
+make prepare
+
- machine.conf in: layers/meta-toradex-nxp/conf/machine/verdin-imx8mp.conf
layers/meta-mikrophone/conf/machine/include/verdin-imx8mp.inc
- mikrophone distro.conf in: layers/meta-mikrophone/conf/distro/mikrophone.conf
@@ -144,6 +160,14 @@ setenv fdtfile imx8mp-verdin-wifi-dev.dtb
boot
+install image (Tezi)
+--------------------
+
+Verdin iMX8MP # editenv fdtfile
+edit: imx8mp-verdin-wifi-dev.dtb
+Verdin iMX8MP # boot
+
+
u-boot
------
@@ -191,74 +215,72 @@ git clone -b toradex_6.6-2.1.x-imx git://git.toradex.com/linux-toradex.git
cd linux-toradex
git checkout 3493ccd66900420e2462daf4db187b315b50469e
cp ../oe-core/build/deploy/images/verdin-imx8mp/kernel-config .config
+# enable vivante gpu driver
+# should be exactly the same as kernel module from NXP's linux-imx buit by oe-core
+# diff -ur ../linux-imx/drivers/mxc/gpu-viv drivers/mxc/gpu-viv
+vi .config
+...
+CONFIG_MXC_GPU_VIV=m
+...
# verify config
make olddefconfig
# copy yocto/kernel_lvds_freq.patch from mikroPhone repo
# apply LVDS patch
patch < ../kernel_lvds_freq.patch
-# build kernel and dtb
-make -j$(nproc) Image.gz 2>&1 | tee build.log
-make freescale/imx8mp-verdin-wifi-dev.dtb
+# build kernel (remove + from kernel version string)
+make LOCALVERSION= -j$(nproc) Image.gz 2>&1 | tee build.log
# ls ./arch/arm64/boot/Image.gz
-# ls ./arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-dev.dtb
# build kernel modules
-make -j$(nproc) modules 2>&1 | tee build.log
-mkdir modules
-INSTALL_MOD_PATH=`pwd`/modules make modules_install
-cd modules
-tar -czf ../modules.tar.gz .
-cd ..
-
+make LOCALVERSION= -j$(nproc) modules 2>&1 | tee build.log
+# copy Module.symvers if there are some additional function exports: EXPORT_SYMBOL_GPL(...)
+cp Module.symvers /build/tdx-xwayland/7.x.y/sysroots/armv8a-tdx-linux/usr/lib/modules/6.x.y-7.x.y-devel/build/
+make INSTALL_MOD_PATH=modules modules_install
+# build dtb
+cp ../oe-core/layers/meta-mikrophone/recipes-kernel/linux/linux-toradex/*.dts arch/arm64/boot/dts/freescale/
+cp ../oe-core/layers/meta-mikrophone/recipes-kernel/linux/linux-toradex/*.dtsi arch/arm64/boot/dts/freescale/
+make DTC_FLAGS="-@" freescale/imx8mp-verdin-nonwifi-mikrophone.dtb
+make DTC_FLAGS="-@" freescale/imx8mp-verdin-wifi-mikrophone.dtb
+# ls ./arch/arm64/boot/dts/freescale/*.dtb
+# deploy
+tar -czf modules.tar.gz modules/
+scp ./arch/arm64/boot/Image.gz root@mikrophone:/boot/
+scp ./arch/arm64/boot/dts/freescale/*.dtb root@mikrophone:/boot/
+scp modules.tar.gz root@mikrophone:.
+
+
+esp32mod
+--------
-overlay
--------
+- setup environment:
+. /build/tdx-xwayland/7.x.y/environment-setup-armv8a-tdx-linux
-# toradex overlays (match branch to kernel branch)
-# git clone -b toradex_6.6-2.1.x-imx git://git.toradex.com/device-tree-overlays.git
-# copy yocto/overlays from mikroPhone repo
-cd overlays
-STAGING_KERNEL_DIR=../linux-toradex make mikroPhone-panel_overlay.dtbo
+- build:
+# copy yocto/esp32mod from mikroPhone repo
+cd esp32mod
+make
cd ..
-esp32d
-------
+esp32tun
+--------
- setup environment:
. /build/tdx-xwayland/7.x.y/environment-setup-armv8a-tdx-linux
- build:
-# copy yocto/esp32d from mikroPhone repo
-cd esp32d
+# copy yocto/esp32tun from mikroPhone repo
+cd esp32tun
make
cd ..
-debian repository
------------------
+overlays
+--------
-- install aptly and configure aptly:
-apt-get install aptly gnupg1 gpgv1
-aptly # creates config file
-vi ~/.aptly.conf
-...
- "gpgProvider": "internal",
-...
- "FileSystemPublishEndpoints": {
- "mikrophone": {
- "rootDir": "/build/repo",
- "linkMethod": "copy",
- "verifyMethod": "md5"
- }
- },
-...
-
-- generate gpg signing key:
-gpg1 --gen-key
-gpg1 --export --armor # signing key for apt-key add
-
-- create and publish repository:
-aptly repo create -distribution=koshuta -component=main mikrophone
-aptly repo add mikrophone /build/oe-core/build/deploy/deb
-aptly publish repo mikrophone filesystem:mikrophone:
-aptly publish update koshuta filesystem:mikrophone:
+# toradex overlays (match branch to kernel branch)
+# git clone -b toradex_6.6-2.1.x-imx git://git.toradex.com/device-tree-overlays.git
+# copy yocto/overlays from mikroPhone repo
+cd overlays
+STAGING_KERNEL_DIR=../linux-toradex make mikroPhone-panel_overlay.dtbo
+STAGING_KERNEL_DIR=../linux-toradex make mikroPhone-esp32_overlay.dtbo
+cd ..