编译服务器使用 ubuntu 18.04
编译前安装
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm rsync curl
一、下载SDK
通过 debix官网 可以看到Debix 使用的是 ubuntu20.04 内核版本为 5.10.72。
NXP 对应的 Ubuntu 系统 为 imx-5.10.72-2.2.0_desktop.xml,下面是下载方法。
$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ PATH=${PATH}:~/bin
$ mkdir imx-5.10.72-hardknott
$ cd imx-5.10.72-hardknott
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.72-2.2.0_desktop.xml
$ repo sync
二、修改源码更变为debix model A相应代码
1、uboot 更换
--- a/sources/meta-imx/meta-bsp/recipes-bsp/u-boot/u-boot-imx_2021.04.bb
+++ b/sources/meta-imx/meta-bsp/recipes-bsp/u-boot/u-boot-imx_2021.04.bb
@@ -7,10 +7,10 @@ require recipes-bsp/u-boot/u-boot-imx-common_${PV}.inc
PROVIDES += "u-boot"
-UBOOT_SRC ?= "git://github.com/nxp-imx/uboot-imx.git;protocol=https"
+UBOOT_SRC ?= "git://github.com/debix-tech/uboot.git;protocol=https"
SRCBRANCH = "lf_v2021.04"
SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH}"
-SRCREV = "263b27e076a0f6e5dcc80227a235f0af73718342"
+SRCREV = "7d071c6d1e3eefb542bb8398bf641a40efae70aa"
LOCALVERSION = "-${SRCBRANCH}"
2、kernel 更换
--- a/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.10.bb
+++ b/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.10.bb
@@ -16,12 +16,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "lzop-native bc-native"
-SRCBRANCH = "lf-5.10.y"
+SRCBRANCH = "debix"
LOCALVERSION = "-lts-5.10.y"
-KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https"
+KERNEL_SRC ?= "git://github.com/debix-tech/linux.git;protocol=https"
SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}"
-SRCREV = "a68e31b63f864ff71cd4adb40fbc9e1edc75c250"
+SRCREV = "a8727e450408291e5fd0aabaff93c648dbcff075"
# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
# required by kernel-yocto.bbclass.
--- a/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx-headers_5.10.bb
+++ b/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx-headers_5.10.bb
@@ -7,12 +7,12 @@ New headers are installed in ${includedir}/imx."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-SRCBRANCH = "lf-5.10.y"
+SRCBRANCH = "debix"
LOCALVERSION = "-lts-5.10.y"
-KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https"
+KERNEL_SRC ?= "git://github.com/debix-tech/linux.git;protocol=https"
SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}"
-SRCREV = "a68e31b63f864ff71cd4adb40fbc9e1edc75c250"
+SRCREV = "a8727e450408291e5fd0aabaff93c648dbcff075"
S = "${WORKDIR}/git"
3、删除无效的dtb文件
--- a/sources/meta-freescale/conf/machine/imx8mp-lpddr4-evk.conf
+++ b/sources/meta-freescale/conf/machine/imx8mp-lpddr4-evk.conf
@@ -11,33 +11,33 @@ KERNEL_DEVICETREE_BASENAME = "imx8mp-evk"
# NXP kernel has additional DTB files for various board configuration and
# derivates. Include them here for NXP BSP only
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- freescale/imx8mp-ab2.dtb \
- freescale/imx8mp-evk-basler.dtb \
- freescale/imx8mp-evk-basler-ov2775.dtb \
- freescale/imx8mp-evk-basler-ov5640.dtb \
- freescale/imx8mp-evk-dual-basler.dtb \
- freescale/imx8mp-evk-dual-ov2775.dtb \
- freescale/imx8mp-evk-ecspi-slave.dtb \
- freescale/imx8mp-evk-flexcan2.dtb \
- freescale/imx8mp-evk-hifiberry-dacplus.dtb \
- freescale/imx8mp-evk-inmate.dtb \
- freescale/imx8mp-evk-iqaudio-dacplus.dtb \
- freescale/imx8mp-evk-iqaudio-dacpro.dtb \
- freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
- freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
- freescale/imx8mp-evk-ndm.dtb \
- freescale/imx8mp-evk-ov2775.dtb \
- freescale/imx8mp-evk-ov2775-ov5640.dtb \
- freescale/imx8mp-evk-pcie-ep.dtb \
- freescale/imx8mp-evk-rm67191.dtb \
- freescale/imx8mp-evk-rm67199.dtb \
- freescale/imx8mp-evk-root.dtb \
- freescale/imx8mp-evk-rpmsg.dtb \
- freescale/imx8mp-evk-sof-wm8960.dtb \
- freescale/imx8mp-evk-spdif-lb.dtb \
- freescale/imx8mp-evk-usdhc1-m2.dtb \
-"
+# KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+# freescale/imx8mp-ab2.dtb \
+# freescale/imx8mp-evk-basler.dtb \
+# freescale/imx8mp-evk-basler-ov2775.dtb \
+# freescale/imx8mp-evk-basler-ov5640.dtb \
+# freescale/imx8mp-evk-dual-basler.dtb \
+# freescale/imx8mp-evk-dual-ov2775.dtb \
+# freescale/imx8mp-evk-ecspi-slave.dtb \
+# freescale/imx8mp-evk-flexcan2.dtb \
+# freescale/imx8mp-evk-hifiberry-dacplus.dtb \
+# freescale/imx8mp-evk-inmate.dtb \
+# freescale/imx8mp-evk-iqaudio-dacplus.dtb \
+# freescale/imx8mp-evk-iqaudio-dacpro.dtb \
+# freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
+# freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
+# freescale/imx8mp-evk-ndm.dtb \
+# freescale/imx8mp-evk-ov2775.dtb \
+# freescale/imx8mp-evk-ov2775-ov5640.dtb \
+# freescale/imx8mp-evk-pcie-ep.dtb \
+# freescale/imx8mp-evk-rm67191.dtb \
+# freescale/imx8mp-evk-rm67199.dtb \
+# freescale/imx8mp-evk-root.dtb \
+# freescale/imx8mp-evk-rpmsg.dtb \
+# freescale/imx8mp-evk-sof-wm8960.dtb \
+# freescale/imx8mp-evk-spdif-lb.dtb \
+# freescale/imx8mp-evk-usdhc1-m2.dtb \
+# "
UBOOT_CONFIG_BASENAME = "imx8mp_evk"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
--- a/sources/meta-imx/meta-bsp/conf/layer.conf
+++ b/sources/meta-imx/meta-bsp/conf/layer.conf
@@ -99,7 +99,7 @@ MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8 sof-imx"
MACHINE_FIRMWARE_append_mx8mn = " firmware-imx-easrc-imx8mn"
MACHINE_FIRMWARE_append_mx8mnul = " firmware-imx-easrc-imx8mn"
MACHINE_FIRMWARE_remove_mx8mp = "firmware-sof-imx"
-MACHINE_FIRMWARE_append_mx8mp = " sof-imx"
+MACHINE_FIRMWARE_append_mx8mp = " sof-imx ap6256-firmware"
MACHINE_FIRMWARE_remove_mx8mpul = "firmware-sof-imx"
MACHINE_FIRMWARE_append_mx8mpul = " sof-imx"
MACHINE_FIRMWARE_append_mx8ulp = " sof-imx"
@@ -325,16 +325,16 @@ KERNEL_DEVICETREE_append_imx8mn-ddr4-evk = " \
# Overrides for imx8mp-lpddr4-evk
#MACHINE_FEATURES_IMX_REMOVALS_append_imx8mp-lpddr4-evk = " jailhouse"
MACHINE_FEATURES_append_imx8mp-lpddr4-evk = " optee nxp8997"
-KERNEL_DEVICETREE_remove_imx8mp-lpddr4-evk = " \
- freescale/imx8mp-evk-dsp-lpa.dtb \
-"
-KERNEL_DEVICETREE_append_imx8mp-lpddr4-evk = " \
- freescale/imx8mp-evk-dsp.dtb \
- freescale/imx8mp-evk-ecspi-slave.dtb \
- freescale/imx8mp-evk-ndm.dtb \
- freescale/imx8mp-evk-usdhc1-m2.dtb \
- freescale/imx8mp-evk-rm67199.dtb \
-"
+#KERNEL_DEVICETREE_remove_imx8mp-lpddr4-evk = " \
+# freescale/imx8mp-evk-dsp-lpa.dtb \
+#"
+#KERNEL_DEVICETREE_append_imx8mp-lpddr4-evk = " \
+# freescale/imx8mp-evk-dsp.dtb \
+# freescale/imx8mp-evk-ecspi-slave.dtb \
+# freescale/imx8mp-evk-ndm.dtb \
+# freescale/imx8mp-debix-lora-board.dtb \
+# freescale/imx8mp-debix-io-board.dtb \
+#"
WKS_FILE_DEPENDS_append_imx8mp-lpddr4-evk = " imx-m7-demos"
IMAGE_BOOT_FILES_append_imx8mp-lpddr4-evk = " \
imx8mp_m7_TCM_hello_world.bin \
--- a/sources/meta-imx/meta-bsp/conf/machine/imx8_all.conf
+++ b/sources/meta-imx/meta-bsp/conf/machine/imx8_all.conf
@@ -81,24 +81,7 @@ KERNEL_DEVICETREE += "freescale/imx8mq-evk-ak4497.dtb freescale/imx8mq-evk-audio
# DEVICETREE of i.MX 8MP
KERNEL_DEVICETREE += " \
- freescale/imx8mp-ab2.dtb \
- freescale/imx8mp-ddr4-evk.dtb \
freescale/imx8mp-evk.dtb \
- freescale/imx8mp-evk-basler.dtb freescale/imx8mp-evk-basler-ov2775.dtb freescale/imx8mp-evk-basler-ov5640.dtb \
- freescale/imx8mp-evk-dsp.dtb \
- freescale/imx8mp-evk-dual-basler.dtb freescale/imx8mp-evk-dual-ov2775.dtb \
- freescale/imx8mp-evk-ecspi-slave.dtb \
- freescale/imx8mp-evk-flexcan2.dtb freescale/imx8mp-evk-inmate.dtb \
- freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
- freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
- freescale/imx8mp-evk-ndm.dtb \
- freescale/imx8mp-evk-ov2775.dtb freescale/imx8mp-evk-ov2775-ov5640.dtb \
- freescale/imx8mp-evk-pcie-ep.dtb \
- freescale/imx8mp-evk-rm67191.dtb \
- freescale/imx8mp-evk-rm67199.dtb \
- freescale/imx8mp-evk-root.dtb freescale/imx8mp-evk-rpmsg.dtb \
- freescale/imx8mp-evk-sof-wm8960.dtb freescale/imx8mp-evk-spdif-lb.dtb \
- freescale/imx8mp-evk-usdhc1-m2.dtb \
"
# DEVICETREE of i.MX 8QM
--- a/sources/meta-imx/meta-bsp/conf/machine/imx8mpul-lpddr4-evk.conf
+++ b/sources/meta-imx/meta-bsp/conf/machine/imx8mpul-lpddr4-evk.conf
@@ -11,29 +11,29 @@ KERNEL_DEVICETREE_BASENAME = "imx8mp-evk"
# NXP kernel has additional DTB files for various board configuration and
# derivates. Include them here for NXP BSP only
-KERNEL_DEVICETREE_append_use-nxp-bsp = " \
- freescale/imx8mp-ab2.dtb \
- freescale/imx8mp-evk-dual-ov2775.dtb \
- freescale/imx8mp-evk-ecspi-slave.dtb \
- freescale/imx8mp-evk-flexcan2.dtb \
- freescale/imx8mp-evk-hifiberry-dacplus.dtb \
- freescale/imx8mp-evk-inmate.dtb \
- freescale/imx8mp-evk-iqaudio-dacplus.dtb \
- freescale/imx8mp-evk-iqaudio-dacpro.dtb \
- freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
- freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
- freescale/imx8mp-evk-ndm.dtb \
- freescale/imx8mp-evk-ov2775.dtb \
- freescale/imx8mp-evk-ov2775-ov5640.dtb \
- freescale/imx8mp-evk-pcie-ep.dtb \
- freescale/imx8mp-evk-rm67191.dtb \
- freescale/imx8mp-evk-rm67199.dtb \
- freescale/imx8mp-evk-root.dtb \
- freescale/imx8mp-evk-rpmsg.dtb \
- freescale/imx8mp-evk-sof-wm8960.dtb \
- freescale/imx8mp-evk-spdif-lb.dtb \
- freescale/imx8mp-evk-usdhc1-m2.dtb \
-"
+#KERNEL_DEVICETREE_append_use-nxp-bsp = " \
+# freescale/imx8mp-ab2.dtb \
+# freescale/imx8mp-evk-dual-ov2775.dtb \
+# freescale/imx8mp-evk-ecspi-slave.dtb \
+# freescale/imx8mp-evk-flexcan2.dtb \
+# freescale/imx8mp-evk-hifiberry-dacplus.dtb \
+# freescale/imx8mp-evk-inmate.dtb \
+# freescale/imx8mp-evk-iqaudio-dacplus.dtb \
+# freescale/imx8mp-evk-iqaudio-dacpro.dtb \
+# freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \
+# freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \
+# freescale/imx8mp-evk-ndm.dtb \
+# freescale/imx8mp-evk-ov2775.dtb \
+# freescale/imx8mp-evk-ov2775-ov5640.dtb \
+# freescale/imx8mp-evk-pcie-ep.dtb \
+# freescale/imx8mp-evk-rm67191.dtb \
+# freescale/imx8mp-evk-rm67199.dtb \
+# freescale/imx8mp-evk-root.dtb \
+# freescale/imx8mp-evk-rpmsg.dtb \
+# freescale/imx8mp-evk-sof-wm8960.dtb \
+# freescale/imx8mp-evk-spdif-lb.dtb \
+# freescale/imx8mp-evk-usdhc1-m2.dtb \
+#"
UBOOT_CONFIG_BASENAME = "imx8mp_evk"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
4、新增目录加入 wifi firmware
文件保存于网盘 :
链接: https://pan.baidu.com/s/13_4b2cuJ9gehxqSONRkznQ?pwd=eus6
提取码: eus6
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware.bb
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/BCM4345C0.hcd
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/BCM4345C5.hcd
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/brcmfmac43455-sdio.bin
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/brcmfmac43455-sdio.clm_blob
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/brcmfmac43455-sdio.fsl,imx8mp-evk.txt
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/brcmfmac43456-sdio.bin
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/brcmfmac43456-sdio.clm_blob
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/brcmfmac43456-sdio.fsl,imx8mp-evk.txt
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/cyfmac43455-sdio.bin
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/cyfmac43455-sdio.clm_blob
new file: sources/meta-imx/meta-bsp/recipes-polyhex/ap6256-firmware/ap6256-firmware/cyfmac43455-sdio.txt
开启蓝牙
--- a/sources/meta-nxp-desktop/recipes-fsl/images/imx-image-desktop.bb
+++ b/sources/meta-nxp-desktop/recipes-fsl/images/imx-image-desktop.bb
@@ -14,7 +14,7 @@ APTGET_CHROOT_DIR = "${IMAGE_ROOTFS}"
APTGET_SKIP_UPGRADE = "1"
ROOTFS_POSTPROCESS_COMMAND_append = "do_fix_ldconfig; do_save_graphics; do_save_cheese; do_aptget_update; do_update_host; do_update_dns;"
-IMAGE_PREPROCESS_COMMAND_append = " do_fix_connman_conflict; do_enable_graphics; do_enable_cheese; do_cleanup_rootfs"
+IMAGE_PREPROCESS_COMMAND_append = " do_fix_connman_conflict; do_enable_bluetooth; do_enable_graphics; do_enable_cheese; do_cleanup_rootfs"
REQUIRED_DISTRO_FEATURES = "wayland"
@@ -326,7 +326,7 @@ After=dev-serial1.device \n
\n
[Service] \n
Type=forking \n
-ExecStart=-/usr/bin/hciattach /dev/ttymxc0 qualcomm -t120 115200 flow \n
+ExecStart=-/usr/bin/hciattach /dev/ttymxc0 bcm43xx -t120 3000000 flow \n
\n
[Install] \n
WantedBy=multi-user.target \n
三、编译sdk
DISTRO=imx-desktop-xwayland MACHINE=imx8mpevk source imx-setup-desktop.sh -b debix-desktop
bitbake imx-image-desktop
四、编译过程中遇到的一些问题
1、sources/meta-nxp-desktop/recipes-extended/ubuntu/ubuntu-base_20.04.3.bb:do_install) failed with exit code '1'
查看了报错文档里面提到:是加了 proxy 代理导致。
Ign:4 http://ports.ubuntu.com/ubuntu-ports focal-security InRelease
Err:5 http://ports.ubuntu.com/ubuntu-ports focal Release
Unsupported proxy configured: 192.168.2.35://7892
Err:6 http://ports.ubuntu.com/ubuntu-ports focal-updates Release
Unsupported proxy configured: 192.168.2.35://7892
Err:7 http://ports.ubuntu.com/ubuntu-ports focal-backports Release
Unsupported proxy configured: 192.168.2.35://7892
Err:8 http://ports.ubuntu.com/ubuntu-ports focal-security Release
Unsupported proxy configured: 192.168.2.35://7892
Reading package lists...
修改如下:
--- a/sources/meta-nxp-desktop/classes/nativeaptinstall.bbclass
+++ b/sources/meta-nxp-desktop/classes/nativeaptinstall.bbclass
@@ -158,7 +158,8 @@ ${PSEUDO_LOCALSTATEDIR}:\
${DPKG_NATIVE}:\
"
-ENV_HOST_PROXIES ?= "http_proxy=${http_proxy}"
+#John_gao ENV_HOST_PROXIES ?= "http_proxy=${http_proxy}"
+ENV_HOST_PROXIES ?= ""
APTGET_HOST_PROXIES ?= ""
APTGET_EXECUTABLE ?= "/usr/bin/apt-get"
APTGET_DEFAULT_OPTS ?= "-qy -o=Dpkg::Use-Pty=0"
五、烧录固件到sd卡
1、编译好后拷贝文件 : tmp/deploy/images/imx8mpevk/imx-image-desktop-imx8mpevk.wic.bz到pc端
2、运行 balenaEtcher (下载路径balenaEtcher - Flash OS images to SD cards & USB drives)

选择 固件和 U盘 ,再点击 现在烧录 按钮开始烧录
T卡烧录完成插入 Debix Model A 板子上运行。
登录用户名 :user
密码 : user
运行结果

41

被折叠的 条评论
为什么被折叠?



