下载BSP并编译内核

news2024/12/26 23:08:00

前提:用到的开发板100ask_imx6ull

下载BSP

  • 100ask_imx6ull 开发板的 BSP 都保存在 Git 站点上,通过 repo 命令进行统一管理。
  • 配置 repo
git config --global user.email "user@100ask.com"
book@100ask:~$ git config --global user.name "100ask"

可以用git config --list查看
在这里插入图片描述

  • 下载 BSP
git clone https://e.coding.net/codebug8/repo.git
mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
../repo/repo sync -j4

在这里插入图片描述
压缩

tar cjf Linux-4.9.88.tar.bz2 Linux-4.9.88

配置IMX6ULL Pro 版交叉编译工具链

-设置环境变量(临时生效)

export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin

执行以下命令测试环境变量

echo $ARCH
echo $CROSS_COMPILE

在这里插入图片描述
执行以下命令测试工具链

arm-buildroot-linux-gnueabihf-gcc -v

-设置环境变量(永久生效)

vim ~/.bashrc
在行尾添加或修改,加上上面几行

在这里插入图片描述
执行下面命令来验证是否配置成功

source ~/.bashrc
arm-buildroot-linux-gnueabihf-gcc -v

在这里插入图片描述

在这里插入图片描述

编译内核

make mrproper
make 100ask_imx6ull_defconfig
make zImage -j4
make dtbs

在这里插入图片描述
在这里插入图片描述
在 arch/arm/boot 目录下生成 zImage 内核文件, 在arch/arm/boot/dts 目录下生成设备树的二进制文件 100ask_imx6ull-14x14.dtb,把这 2 个文件复制到~/nfs_rootfs 目录下备用(nfs_rootfs 是开发板挂载的目录)
在这里插入图片描述

  • 编译内核模块
make modules

在这里插入图片描述
把模块安装在 nfs 目录“~/nfs_rootfs/”下
在这里插入图片描述
安装好驱动后,用tree命令(没有tree就使用sudo apt install tree安装)查看~/nfs_rootfs/目录结构
在这里插入图片描述

安装内核和模块到开发板上(100ask_imx6ull)

假设:在 Ubuntu 的~/nfs_rootfs 目录下,已经有了 zImage、dtb 文件,并且有 lib/modules 子目录(里面含有各种模块)
在这里插入图片描述

  • 挂载
 mount -t nfs -o nolock,vers=3 192.168.0.11:/home/zhangjinyou/nfs_rootfs /mnt
 //192.168.0.11  是被挂载目录的服务器ip(我这里用的是ubuntu)

在这里插入图片描述
在这里插入图片描述
接着执行下面的命令

cp /mnt/zImage /boot
cp /mnt/100ask_imx6ull-14x14.dtb /boot
cp /mnt/lib/modules /lib -rfd
sync

在这里插入图片描述

最后重启开发板,它就使用新的 zImage、dtb、模块了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/390244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring源码篇(3)——bean的加载和创建

spring-framework 版本:v5.3.19 文章目录bean的加载bean的创建总结getBean流程createBean流程doCreateBean流程bean的加载 beanFactory的genBean最常用的一个实现就是AbstractBeanFactory.getBean()。 以ApplicationContext为例,流程是: ApplicationCon…

01 C语言计算

C语言计算 1、变量 用途:需要存放输入的数据 定义格式:数据类型 变量名(用于区分其他变量) 变量名格式:只能由字母/下划线/数字构成,首位不能是数字;且变量名不能是标识符 **变量赋值和初始…

Python每日一练(20230305)

目录 1. 正则表达式匹配 ★★★ 2. 寻找旋转排序数组中的最小值 II ★★★ 3. 删除排序链表中的重复元素 II ★★ 1. 正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 . 和 * 的正则表达式匹配。 . 匹配任意单个字符* 匹配零个或多个…

格式化字符串之在栈上修改got表,执行system(“/bin/sh“)

题目自取: 链接:https://pan.baidu.com/s/1sZyC-d47cnrjQ0rmRNLbSg?pwdiung 提取码:iung 这是一题改got表的格式化字符串的例题 这里介绍下pwntools里的一个脚本 fmtstr_payload: 举个例子, payload fmtstr_payl…

谷歌浏览器被hao123网页(或其他网页)劫持了,怎么办?(已解决)

文章目录1、前言2、解决方案2.1、方案一:删除目标内容2.2、方案二:修改浏览器启动时内容2.3、方案三:重命名2.4、方案四:修改WMI脚本2.5、方案五:火绒修复3、总结1、前言 今天打开chrome浏览器,莫名转到hao…

【CMU15-445数据库】bustub Project #2:B+ Tree(下)

Project 2 最后一篇,讲解 B 树并发控制的实现。说实话一开始博主以为这块内容不会很难(毕竟有 Project 1 一把大锁摆烂秒过的历史x),但实现起来才发现不用一把大锁真的极其痛苦,折腾了一周多才弄完。 本文分基础版算法…

【uni-app教程】八、UniAPP Vuex 状态管理

八、UniAPP Vuex 状态管理 概念 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 应用场景 Vue多个组件之间需要共享数据或状态。 关键规则 State&#xff1a…

Linux系统配置nginx

下载安装包wget -c http://nginx.org/download/nginx-1.19.1.tar.gz安装gcc安装包yum install gcc-c安装pre-devel依赖库yum -y install pcre-devel安装openssl依赖库yum -y install openssl openssl-devel解压tar -zxvf 目录名 nginx-1.23.1.tar.gz -C 另外一个目录&#xff0…

QT配置安卓环境(保姆级教程)

目录 下载环境资源 JDK1.8 NDK SDK ​安装QT 配置环境 下载环境资源 JDK1.8 介绍JDK是Java开发的核心工具,为Java开发者提供了一套完整的开发环境,包括开发工具、类库和API等,使得开发者可以高效地编写、测试和运行Java应用程序。 下载…

基于Vue3和element-plus实现一个完整的登录功能

先看一下最终要实现的效果:登录页面:注册页面:(1)引入element-plus组件库引入组件库的方式有好多种,在这里我就在main.js全局引入了.npm i element-plus -Smain.js中代码:import { createApp } from "vue"; //element-plus import ElementPlus from "element-pl…

Linux基础篇(七)-- 用户管理

1 创建普通用户 1、创建用户 在 Linux 系统里,root 账户(超级管理员)拥有整个系统至高无上的权限,比如新建和添加用户。一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,…

项目:手把手实现高并发内存池

一.前言(一).项目简介高并发内存池(ConCurrentMemoryPool),其原型是google的开源项目tcmalloc。全称是thread-cache-malloc,即线程缓存malloc。应用场景是多线程环境下管理内存,相较于malloc库函…

Mysql数据库的(超详细)安装及环境变量的配置

一、 下载MySQL Mysql官网下载地址:https://downloads.mysql.com/archives/installer/ 1. 选择需要的版本点击Download进行下载 本篇文章选择的8.0.26版本 二、 安装MySQL 1. 选择设置类型 双击运行mysql-installer-community-8.0.26.msi,这里选择是…

GoldenGate(OGG)高可用XAG介绍

XAG介绍: Oracle Grid Infrastructure提供了高可用组件去管理实现集群上面服务的高可用,Oracle Grid Infrastructure agent(XAG)是Oracle Grid Infrastructure的一个管理组件,通过接口AGCTL在Oracle RAC集群上为应用程序(GoldenG…

【14】linux命令每日分享——userdel删除账号

大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的类UNIX操作系统,Linux的基本思想有两点:一切都是文件;每个文件都有确定的用途;linux涉及到IT行业的方方面面,在我们日常的学习中&…

Visual Studio 高级调试-企业版三大特性

前言前面两篇博客主要介绍了Visual Studio 高级调试-代码调试和Visual Studio 高级调试-Dump分析,这几篇博客的目的都是为了帮助大家更好的认识和使用Visual Studio,Visual Studio企业版订阅价格为每月250美元,很多同学想知道企业版有哪些特别…

IsADirectoryError: [Errno 21] Is a directory: ‘.‘

项目场景: 基于YOLOv5的室内场景识别 工具:colab 问题描述 Traceback (most recent call last): File “train.py”, line 630, in main(opt) File “train.py”, line 494, in main d torch.load(last, map_location‘cpu’)[‘opt’] File “/usr/…

docker(三)仓库的搭建、官方私有仓库的加密和认证

文章目录一、docker仓库二、仓库Registry工作原理三、搭建本地私有仓库四、配置镜像加速器五、私有仓库的加密认证1.非加密下上传拉取2.insecure registry3.仓库加密4.仓库认证一、docker仓库 什么是仓库 Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器…

QML集成JavaScript

在QML中可以使用现有的QML元素来创建页面,但QML紧密的集成了必要的JavaScript。 但QML中使用JavaScript比较严格,在QML中不可以添加或修改JavaScript全局对象成员,这样可能会使用一个未经声明的变量。 内联JavaScript 一些小型的JavaScript函…

动态规划 背包问题

动态规划 背包问题 问题描述: 有一个背包,总容量为12。有6件物品,每件物品的重量和价值不同,求在背包总容量12的前提下,装进物品的最大价值以及装进物品的编号 单个物品重量和价值: 为方便进行思考&#…