【正点原子I.MX6U-MINI】删除开机内核Logo和进度条界面Logo

news2024/11/24 19:32:14

一、编译内核

内核源码1、例程源码-》3、正点原子 Uboot 和 Linux 出厂源码-》linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2。

在 Ubuntu 中新建名为“alientek_linux”的文件夹,然后将 linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2 这个压缩包拷贝到前面新建的 alientek_linux 文件夹中并解压,命令如下:

tar -vxjf linux-imx-4.1.15-2.1.0-g0d2381d-v2.4.tar.bz2


解压完成以后的 Linux 源码根目录如图所示:

新建名为mx6ull_alientek_emmc.sh的 shell 脚本,

touch mx6ull_alientek_emmc.sh

然后在这个 shell 脚本里面输入如下所示内容:

#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16

使用 chmod 给予mx6ull_alientek_emmc.sh可执行权限,然后运行此 shell 脚本,命令如下:

./mx6ull_alientek_emmc.sh

删除内核LOGO

编译的时候会弹出 Linux 图形配置界面,如图所示:

Device Drivers->Graphics support->Bootup logo不设置;



最后会将生成的zImage 文件拷贝至mfgtool工具的\mfgtool\Profiles\Linux\OS Firmware\files\boot中

将拨码开关调至USB档位。这时mfgtool工具会出现符合HD标准的供应商定义设备这几个字,如果没有请检查接线是否正确以及拨码开关是否拨码至USB档位。同时打开一个串口调试终端软件,可以观察在烧写系过程中的打印信息。

点击“Start”按钮即可开始烧写。

二、烧写内核

MfgTool 其实是先通过USB OTG先将uboot、kernel 和.dtb(设备树)这是三个文件下载到开发板的DDR中,注意不需要下载rootfs。就相当于直接在开发板的DDR上启动Linux 系统,等Linux 系统启动以后再向EMMC中烧写完整的系统,包括uboot、linuxkernel、.dtb(设备树)和 rootfs,因此MfgTool工作过程主要分两个阶段:

  • ①、将 firmware 目录中的uboot、linux kernel和.dtb(设备树),然后通过USB OTG将这个文件下载到开发板的DDR中,目的就是在DDR中启动Linux系统,为后面的烧写做准备。
  • ②、经过第①步的操作,此时Linux系统已经运行起来了,系统运行起来以后就可以很方便的完成对 EMMC的格式化、分区等操作。EMMC分区建立好以后就可以从files中读取要烧写的uboot、linux kernel、.dtb(设备树)和rootfs 这4个文件,然后将其烧写到EMMC中,这就是 MfgTool的大概工作流程。

1、开始烧写

这个时候可以在Mobaterm上看到具体的烧写过程:

等待烧写完成,因为正点原子的根文件系统比较大,因此烧写的时候耗时会久一点。烧写完成以后 MfgTool 软件如图所示:

2、设置网络

如上图所示新烧写的系统不支持网络,uboot 是支持网络的,我们在移植 uboot 的时候一般都要调通网络功能,因为在移植 linuxkernel的时候需要使用到 uboot的网络功能做调试。这时候给uboot添加网络相关的环境变量。

setenv ipaddr 192.168.10.50 
setenv ethaddr 00:04:9f:04:d2:35 
setenv gatewayip 192.168.10.1
setenv netmask 255.255.255.0
setenv serverip 192.168.10.100 
saveenv

网络地址环境变量的设置要根据自己的实际情况,确保 Ubuntu 主机和开发板的 IP地址在同一个网段内,比如我现在的开发板和电脑都在 192.168.10.0 这个网段内,所以设置开发板的 IP 地址为 192.168.10.50,我的 Ubuntu 主机的地址为 192.168.10.100,因此 serverip 就是192.168.10.100。ethaddr 为网络 MAC 地址,是一个 48bit 的地址,如果在同一个网段内有多个开发板的话一定要保证每个开发板的 ethaddr 是不同的,否则通信会有问题!设置好网络相关的环境变量以后就可以使用网络相关命令了。

开发板的网络能否使用,是否可以和服务器(Ubuntu 主机)进行通信,通过 ping 命令就可以验证,直接ping服务器的 IP 地址即可,比如我的服务器 IP 地址为 192.168.10.100,命令如下:

ping 192.168.10.100

将环境变量 bootdelay 改为 5,就是在启动内核之前倒计时时间为5s,进入uboot。

setenv bootdelay 5
saveenv

3、设置静态 ip

由于LAN8720 PHY网络芯片没有MAC地址,系统启动时会生成随机MAC地址给网络使用。每次都生成一个MAC地址,导致每次开机网络获取的ip不是固定的。所以我们要设置给它一个静态的ip,不因MAC地址的改变而改变,设置固定ip方法调试。开发板启动时会自动获取ip,最简单的方法是直接设置一个ip 给它。这样我们就可以直接使用这个ip 了。

在出厂文件系统里/etc/rc.local 文件里如图位置添加以下文件。

vi /etc/rc.local

添加以下内容,请根据个人使用的路由器,设置相应网段的ip地址。下图为设置eth0的静态ip 地址。

PATH=/sbin:/bin:/usr/sbin:/usr/bin
ifconfig eth0 192.168.10.50 netmask 255.255.255.0
route add default gw 192.168.10.1
echo "nameserver 114.114.114.114" > /etc/resolv.conf

4、删除进度条界面logo

进入开发板,执行以下命令删除logo

rm /usr/bin/psplash
rm /usr/bin/psplash-write
reboot

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

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

相关文章

Revit中用楼板编辑创建坡道的两种方法

在绘制坡道的时候,有一种两侧带坡度的坡道,一般我们采用楼板编辑的方式来创建。 方法有两种: 第一种是听过添加子图元的点来创建,方法如下, 首先绘制设计所需的楼板尺寸,完成之后点击楼板,形状编…

【Flutter 组件】004-基础组件:图片及 ICON

【Flutter 组件】004-基础组件:图片及 ICON 文章目录【Flutter 组件】004-基础组件:图片及 ICON一、图片1、Image概述Image 的几个构造方法常用属性ImageProvider2、从 asset 中加载图片第一步:准备图片第二步:使用图片第三步&…

9.高性能计算 期末复习

文章目录1.提纲2.第二章 并行硬件&程序设计2.1 SIMD&MIMD2.2 可扩展性2.7 串行程序并行化(poster四步:划分、通信、聚合、分配)3.mpi2.1 点对点gemm2.2集合通信gemmsend/recv实现reducesend/recv 实现ring AllReduce2.3 加速比2.4 奇…

数据预处理的方法有哪些?

数据处理的工作时间占据了整个数据分析项目的70%以上。因此,数据的质量直接决定了分析模型的准确性。那么,数据预处理的方法有哪些呢?比如数据清洗、数据集成、数据规约、数据变换等,其中最常用到的是数据清洗与数据集成&#xff…

医学影像篇

影像组学研究的基本流程知识点 01 准备工作 研究前我们先要做好准备工作:(这个准备工作呢就好像小白做菜) 最开始,我们往往主动提出或者被提出了一个临床问题(临床问题可能是老板直接安排的,也可能是在临…

【网管日记】Nginx基本介绍、安装与使用

Nginx基本使用 基本介绍 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是 占用内存少,并发能力强 ,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用ngin…

AntV-G6:图表自动居中显示/画布自适应/fitView

需求描述 图表节点较多时,可能分布到屏幕可视范围之外,期望图表自动居中显示 调研分析 阅读官网文档:G6.Graph配置项,一下就看到了这个配置项: 看起来只要在初始化图表的配置里加上“fitView: true”就能万事大吉了…

解决PyCharm中opencv不自动补全的问题

解决PyCharm中opencv不自动补全的问题前言解决办法前言 今天下载opencv后,发现用pycharm打开并没有出现代码补全的情况,对于我这种新手极其不友好,故我去网上寻找方法。 opencv版本:4.6.0 寻找半天 有的说,要移动cv…

数据结构——二叉树的顺序存储(堆)

二叉树的顺序存储 顺序结构存储就是使用数组来存储,一般使用数组只适合表示完全二叉树,因为不是完全二叉树会有空间的浪费。而现实中使用中只有堆才会使用数组来存储,关于堆我们后面的章节会专门讲解。二叉树顺序存储在物理上是一个数组&…

玩转MySQL:如何在高并发大流量情况下正确分库分表海量数据

引言 本篇数据库专栏内容,主要会讲解不同高并发场景下的MySQL架构设计方案,也包括对于各类大流量/大数据该如何优雅的处理,也包括架构调整后带来的后患又该如何解决?其中内容会涵盖库内分表、主从复制、读写分离、双主热备、垂直分…

极简而高效的沟通管理法(有点长,但都是干货)

我想说的意思不是说为了体现工作的价值,要故意提高工作的沟通成本,相反,我们的确需要通过归纳总结梳理标准话的流程、甚至是工具化的手段来降低一个领域的沟通,但我们同时工作在找更复杂、更需要去沟通的场景中,去创造…

【PTA-训练day16】L2-028 秀恩爱分得快 + L1-064 估值一亿的AI核心代码

!L2-028 秀恩爱分得快 - 分块大模拟 PTA | 程序设计类实验辅助教学平台 这个题还是挺考验 函数合理运用 和 数据模拟处理能力 的 思路: 因为可能出现-0这种输入 所以不能是int型 stoi() 将字符串转化为整数先把每张照片的人 按照片编号储存因为题目只要…

手慢无!阿里云神作被《Spring Boot进阶原理实战》成功扒下,限时

小编又来给大家分享好书了:郑天民老师的 《Spring Boot进阶:原理、实战与面试题分析》,别问网上有没有开源版本!问就是我也不知道,哈哈!小编会在文末附电子版下载方式。 郑天民是谁? 资深架构师和技术专家…

非程序员,到底该不该学Python

前言 最近被各种Python的小广告轰炸。也有很多非程序员的朋友咨询Python相关的事儿。(前两年是前端) 所以今天不讲技术,纯BB。 进入正题吧: Python是啥: 编程语言。和大多数编程语言一样。它只能帮助人类完成一些…

3000字带你读懂:BI能解决报表解决不了的什么问题?

一、BI不等于报表 工作原因,老李经常跟不同行业的人打交道。不聊不知道,在大肆谈论“数字化转型”、“信创”、“业务对象数字化”、“BI”这类大而广的词语之下,隐藏着的却是国人的无知。搞业务的朋友不太懂这类工具和概念,我也…

mac怎么删除硬盘里面的东西?为什么苹果电脑无法删除移动硬盘文件?

mac怎么删除硬盘里面的东西?由于移动硬盘的文件系统是NTFS格式的,而这种格式与Mac电脑是不兼容的,Mac电脑没有权限对移动硬盘上的数据进行操作,Mac上不能把移动硬盘的数据删除了,那么,有没有什么操作方法&a…

状态模式(State)

参考: [状态设计模式 (refactoringguru.cn)](https://refactoringguru.cn/design-patterns/mediator) 4. 状态模式 — Graphic Design Patterns (design-patterns.readthedocs.io) design-patterns-cpp/State.cpp at master JakubVojvoda/design-patterns-cpp …

31-Vue之ECharts-饼图

ECharts-饼图前言饼图的特点饼图的基本实现饼图的常见效果显示数值南丁格尔图选中效果圆环前言 本篇来学习饼图的实现 饼图的特点 饼图可以很好地帮助用户快速了解不同分类的数据的占比情况 饼图的基本实现 ECharts 最基本的代码结构准备数据准备配置项 在 series 下设置 …

去年今日我凭借这份文档,摇身一变成了被BAT看中的幸运儿

我足够努力,当然也足够幸运。现在把这份文档和这份幸运分享给你们。 JVM 线程 JVM内存区域 JVM运行时内存 垃圾回收与算法 JAVA 四种引用类型 GC分代收集算法 VS 分区收集算法 GC垃圾收集器 JAVA IO/NIO JVM 类加载机制 由于篇幅限制小编,细节内…

使用Tensorflow2和Pytorch实现线性回归

使用Tensorflow2和Pytorch实现线性回归步骤Tensorflow2代码效果Pytorch代码效果步骤 准备步骤: 1. 创建数据集 2. 设置超参数 3. 创建模型(函数) 4. 选择损失函数 5. 选择优化器 训练步骤: 6. 通过模型(函数)前向传播 7. 计算损失 8. 对超参数求梯度 9…