imx8mqevk OPTEE 全系统构建
imx8mqevk OPTEE 全系统构建
源码下载
git clone https://source.codeaurora.org/external/imx/uboot-imx -b imx_v2019.04_4.19.35_1.0.0
git clone https://source.codeaurora.org/external/imx/imx-atf -b imx_4.19.35_1.0.0
git clone https://source.codeaurora.org/external/imx/imx-optee-os -b imx_4.19.35_1.0.0
git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_4.19.35_1.0.0
git clone https://source.codeaurora.org/external/imx/imx-mkimage -b imx_4.19.35_1.0.0
git clone https://source.codeaurora.org/external/imx/imx-optee-client -b imx_4.19.35_1.0.0
git clone https://source.codeaurora.org/external/imx/imx-optee-test -b imx_4.19.35_1.0.0
git clone https://github.com/linaro-swg/optee_examples.git -b 3.2.0optee os patch: gcc.mk+libgcc$(sm) := $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) $(comp-cflags$(sm)) \-print-libgcc-file-name 2> /dev/null)
环境搭建
sudo apt install libssl-dev autoconf automake bc bison build-essential ccache cscope curl device-tree-compiler expect flex ftp-upload gdisk iasl libattr1-dev libcap-dev libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev libpixman-1-dev libssl-dev libtool make mtools netcat python-crypto python3-crypto python-pyelftools python3-pycryptodome python3-pyelftools python-serial python3-serial rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev
工具链
使用aarch64-poky-linux- 工具链:
# aarch64-poky-linux
mkdir imx-yocto-bsp && cd imx-yocto-bsp
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-thud -m imx-4.19.35-1.0.0.xml
repo sync
DISTRO=fsl-imx-wayland MACHINE=imx8mqevk source fsl-setup-release.sh -b imx8mqevk_wayland
bitbake core-image-minimal -c populate_sdk
cd ~/imx-yocto-bsp/imx8mqevk_wayland
mkdir sdk
cd ~/imx-yocto-bsp/imx8mqevk_wayland/tmp/deploy/sdk
./fsl-imx-wayland-glibc-x86_64-core-image-minimal-aarch64-toolchain-4.19-thud.sh
# 安装目录: ~/imx-yocto-bsp/imx8mqevk_wayland/sdk
# 使用该工具链时
source ~/imx-yocto-bsp/imx8mqevk_wayland/sdk/environment-setup-aarch64-poky-linux
也可使用aarch64-linux-gnu- 工具链
编译
make all
rootfs制作
两种方式:
1. 完全自制
1.1 制作 boot
ls linux-imx/arch/arm64/boot/dts/freescale | grep "fsl-imx8mq-evk.*dtb" | xargs -i cp linux-imx/arch/arm64/boot/dts/freescale/{} ~/imx8mqevk/boot
cp linux-imx/arch/arm64/boot/Image ~/imx8mqevk/boot
1.2 制作rootfs:
参考 树莓派3 和 ROC
1.3 合并制作镜像
dd if=/dev/zero of=imx8rootfs.sdcard bs=1M count=3072
losetup --partscan /dev/loop0 imx8rootfs.sdcardsudo fdisk /dev/loop0
Type the following parameters (each followed by <ENTER>):
p
d [lists the current partitions]
[to delete existing partitions. Repeat this until no unnecessary partitions
are reported by the 'p' command to start fresh.]
n
p
1
16384
147455
p [create a new partition]
[create a primary partition - use for both partitions]
[the first partition]
[starting at offset sector]
[size for the first partition to be used for the boot images]
[to check the partitions]
n
p
2
147456
<enter>
p
w
[starting at offset sector, which leaves enough space for the kernel,
the bootloader and its configuration data]
[using the default value will create a partition that extends to
the last sector of the media]
[to check the partitions]
[this writes the partition table to the media and fdisk exits]#挂载 /dev/loop0
mount /dev/loop0p1 /media/yin/boot
mount /dev/loop0p2 /media/yin/rootfs
#将 ~/imx8mqevk/boot 复制至 /media/yin/bootboot
#将自制的rootfs复制至rootfs
2. 官方镜像修改
使用官方镜像
2.1 生成
$ mkdir imx-yocto-bsp && cd imx-yocto-bsp
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-thud -m imx-4.19.35-1.0.0.xml
$ repo sync
$ DISTRO=fsl-imx-wayland MACHINE=imx8mqevk source fsl-setup-release.sh -b imx8mqevk_wayland
// 使用apt, dpkg , 编辑imx8mqevk_wayland/conf/local.conf
PACKAGE_CLASSES = "package_deb"
PACKAGE_FEED_URIS = "http://<local-machine-ip>:5678"
EXTRA_IMAGE_FEATURES += " package-management "$ bitbake core-image-minimal
// 在路径imx8mqevk_wayland/tmp/deploy/deb下执行 SimpleHTTPServer 5678
// 浏览器中访问http://<local-machine-ip>:5678 可看到所有的deb包
2.2 挂载
sudo losetup --partscan /dev/loop0 core-image-minimal-imx8mqevk-20201229075124.rootfs.wic
sudo mount /dev/loop0p1 /media/yin/boot
sudo mount /dev/loop0p2 /media/yin/rootfs
# 安装自己的内核模块
make linux-rootfs
# 将自己编译的内核Image dtb替换原有的
刷写
下载 uuu 工具
修改官方镜像的uuu.auto
拨动sw802开关至 D1 OFF D2 ON
uuu -d uuu.auto
后续需要更新内核或optee 可直接 scp 修改/run/media/mmcblk0p1对应的文件
参考文档
imx8mq evk get start
imx8mq - bootloader编译过程
imx8mq 官方文档
imx8mqevk OPTEE 全系统构建相关推荐
- Linux 之八 完整嵌入式 Linux 环境、(交叉)编译工具链、CPU 体系架构、嵌入式系统构建工具
最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,由于之前对嵌入式 Linux 环境并不是很了解,因此,第一步就是需要了解如何搭建一个完整的嵌入式 Linux 环境.现在将学习心得记录 ...
- Gem5在全系统(FS)模式下运行自己的测试程序
上一篇文章讲了怎么用Gem5构建和启动FS模式,这一次想看看怎么在模拟的环境中测试自己的程序. 我这里还是用的上次提到的X86的环境,整体过程是以下几个步骤: 1.挂载镜像 ypf@ypf-PC:~/ ...
- android全系统动态二进制分析--CopperDroid
1. 简介 CopperDroid通过直接监测System call,不但可以判断操作系统的一些动作(比如进程创建.文件创建),还可以判断进程内部的动作(比如短信发送,这种行为和android的对象有 ...
- android系统构建系统_构建系统简介
android系统构建系统 Jan. 21. 2016 2016年1月21日 Roughly speadking, build in software development is the proce ...
- 交通规划辅助决策系统构建及佛山实践
[作者简介] 罗典,硕士,高级工程师,佛山市城市规划设计研究院交通所副总工程师 孙剑,同济大学交通运输工程学院交通工程系主任.教授 阎泳楠,硕士,现任职于佛山市城市规划设计研究院交通所 摘要 在大数据 ...
- 数字孪生工厂生产线系统构建与应用
一直以来很多企业将自动化生产线建设视为智能制造的重要抓手,并且涌现出了一些"黑灯生产"."无人工厂"的示范案例.但目前企业较为常见的自动化生产线,更多的体现为物 ...
- 深入剖析Vue源码 - 响应式系统构建(上)
从这一小节开始,正式进入Vue源码的核心,也是难点之一,响应式系统的构建.这一节将作为分析响应式构建过程源码的入门,主要分为两大块,第一块是针对响应式数据props,methods,data,comp ...
- 美团点评业务风控系统构建经验
美团点评业务风控系统构建经验 义哲 ·2017-01-13 18:20 本文根据"第八届中国系统架构师大会"演讲内容整理而成. 背景 美团最初以团购的形式出现,到现在有了很大 ...
- 自动完形填空系统构建
自动完形填空系统构建要求 问题描述 在语义连贯的句子中去掉一个词语,形成空格,要求在给出的对应备选答案中,系统自动选出一个最佳的答案,使语句恢复完整. 相关语料 1. Training data:未标 ...
最新文章
- 时隔5年,再次接触数字图像处理
- 【今晚7点半】:超低延迟下的实时合唱体验升级
- 2019蓝桥杯省赛---java---C---2(矩阵切割)
- wpsa3版面怎么变成a4、排版不变_毕业论文排版攻略
- 06-自定义构造方法
- 在editor模式下遍历unity3d builtsetting中的场景
- js中~~和^=分别代表什么,用处是什么?
- 网众无盘linux挂载u盘,详解网众无盘的服务器调试
- 放大镜拾色器vue+typescript+canvas
- Android Studio基础-Activity生命周期与多个Activity跳转
- 1990~2003TVB剧集一览表!
- 凶猛的长城汽车:走在挑战万亿市值的征途上
- Android 监听短信数据库过滤获取短信内容上传至服务器
- Python Matplotlib设置x轴与y轴相交于心仪的坐标点
- 7-6 jmu-Java-01入门-开根号
- 二叉树、平衡二叉树、完全二叉树、满二叉树
- 原创---爱普生LQ-690K打印机win7共享报错解决方案“Windows无法连接到打印机。无法找...
- pygame time.clock.tick
- 33岁开始我们该做些什么
- Python做风险控制|找出形成环状投资的公司
热门文章
- 自步对比学习(Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID)
- 修改hosts不管用。为什么修改127.0.0.1指向的域名,访问域名却弹出别的网站
- 智能时代为什么需要区块链技术?
- 出走的门徒之三——小红书郄小虎:穿越人心的迷雾
- 爱普生Epson LQ-735KII 打印机驱动
- 浙大计算机跨专业考研心路历程记录
- PaddlePaddle - 人脸关键点检测课程笔记
- Autocad2015点开闪退问题,线段等分
- 石墨文档编辑器用的是开源库吗?
- Android sdcard文件读写操作