使用ubuntu-base制作根文件系统
1:ubuntu官网下载最小根文件系统:
放置到电脑的ubuntu中,
Mkdir Ubuntu_rootfs
Cd Ubuntu_rootfs
Sudo tar –zxvf Ubuntu-bash-xxxxxx.tar.gz
2:电脑的ubuntu安装qemu搭建arm模拟系统
将/usr/bin/qemu-arm-static/(64位拷贝)qemu-aachr64-static到解压的目录中的/usr/bin中
sudo apt install qemu-user-static
sudo /usr/bin/qemu-arm-static Ubuntu_rootfs/usr/bin
3:拷贝电脑ubuntu的网络联网文件
Sudo cp /etc/resolv.conf Ubuntu_rootfs/etc/resolv.conf
如果电脑的源已经可以使用的就不用自己添加源,需要修改的话修改一下文件
Sudo vim Ubuntu_rootfs/etc/apt/source.list
4:编写挂载文件和卸载文件:
####mymount.sh
#!/bin/bash
echo "mountting..."
sudo mount -t proc /proc /home/my_linux/ubuntu_rootfs/proc
sudo mount -t sysfs /sys /home/my_linux/ubuntu_rootfs/sys
sudo mount -o bind /dev /home/my_linux/ubuntu_rootfs/dev
sudo mount -o bind /dev/pts /home/my_linux/ubuntu_rootfs/dev/pts
sudo chroot /home/my_linux/ubuntu_rootfs
####myumount.sh#!/bin/bash
echo "umountting..."
sudo umount -f /home/my_linux/ubuntu_rootfs/dev/pts
sudo umount -f /home/my_linux/ubuntu_rootfs/dev
sudo umount /home/my_linux/ubuntu_rootfs/sys
sudo umount /home/my_linux/ubuntu_rootfs/proc
附加执行权限:
Sudo chmod 777 mymount.sh
Sudo chmod 777 myumount.sh
运行脚本挂载系统:
Source mymount.sh
6:安装ubuntu文件系统所需软件(在挂在后的文件系统中安装,指令:apt install xxx)
所需软件如下:
Make,gcc,device-tree-compiler,rsyslog,net-tool,ssh,language-pack-en-base, kmod,nano,xorg等
7:添加用户:
Passwd root
Adduser cjqzynq
为用户添加权限:打开/etc/sudoers
8: 修改终端tty打印(很重要)
操作如下:如果没搞对,会出现以下问题:
/bin/sh : cannot accese tty turn off ….
如果修改的不对会有:
解决办法:
Tty需要根据板卡设置的串口进行设置,操作如下:ttyPS0是kernel和uboot,设备树中配置开启的终端输出串口
9:退出根文件系统制作:
Exit
运行卸载:
Source ./myumount.sh
使用tar打包ubuntu_rootfs/
然后烧录到ddr,再用ext4write,写进mmc,在进去mmc做解压,需要解压到mmcblk0p1
不能有额外多的路径:正确如下:
前期需要uboot和kernel都能识别到mmc,然后使用randisk进去系统,针对mmc做格式化和分区:使用Fdisk指令和mke2fs mmcblk0
10:启动系统(同样使用ext4write将ddr中的uimage.dtb放进mmc中)
然后就叫可以使用cmd指令和args从mmc中引导起来
setenv bootargs "console=ttyPS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rw rootwait "setenv bootcmd "echo zIamge is loading ... ... && ext4load mmc 0:1 0x2000000 zImage && echo zIamge is loading ... ... && ext4load mmc 0:1 0x6a00000 system-top.dtb && echo zIamge is loading ... ... && bootz 0x2000000 - 0x6a00000"
参考链接:
搭建最小ubuntu20.04系统_ubuntu20.04最小化安装_代码撸起的博客-CSDN博客
基于ubuntu-base进行根文件系统的修改与打包_根文件系统打包_里先森的博客-CSDN博客
相关文章:

使用ubuntu-base制作根文件系统
1:ubuntu官网下载最小根文件系统: 放置到电脑的ubuntu中, Mkdir Ubuntu_rootfs Cd Ubuntu_rootfs Sudo tar –zxvf Ubuntu-bash-xxxxxx.tar.gz 2:电脑的ubuntu安装qemu搭建arm模拟系统 将/usr/bin/qemu-arm-static/(64位拷贝…...

springboot-mybatis的分页查询的接口
一、安装依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version> </dependency> 二、代码定义 分页对象类 Data AllArgsConstruct…...

网络音频终端音频编码解码终端
网络对讲终端SV-7011V 网络对讲终端SV-7011V,采用了ARM音频DSP架构,集网络对讲、网络广播、监听等功能于一身,内置麦克风、配置line out、line in、Mic in功能输出接口,适用于学校,机场,广场等场所。 产品…...

cordova 12 编译失败Could not find method compile() for arguments [com....]
问题: Could not find method compile() for arguments [com.tencent.mm.opensdk:wechat-sdk-android-with-mta:] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 问题原因: 在Cordova项目中&…...

快速开发平台 WebBuilder 9 发布
WebBuilder 是一款强大,全面和高效的应用开发和运行平台。基于浏览器的集成开发环境,智能化的设计,能轻松完成常规桌面应用和面向手机等的移动应用开发。高效、稳定和可扩展的特点,适合复杂企业级应用的运行。跨平台、数据库和浏览…...

GPT-5出世,需5万张H100!英伟达GPU陷短缺风暴
随着人工智能技术的不断突破,自然语言处理领域也掀起了一波又一波的革命。从GPT-3.5的惊艳登场,到紧随其后的GPT-4的惊世震人,人们仿佛置身于科幻电影中,亲历了一场场技术的奇迹。然而,这场奇迹背后却逐渐显现出一道不…...

Jmeter学习和一个关于jmeter获取X-XSRF-TOKEN时的坑
Jmeter学习和一个关于jmeter获取X-XSRF-TOKEN时的坑 现在想对一个接口做性能测试,需要测试它多个线程并发下的调用 1.新建测试计划和线程组 略 2.新建http接口 一个完整的http接口包含请求头和请求,这里就需要两个组件:HTTP request、HT…...

SQL注入总结
0x00 前言 简单的总结一下SQL注入的内容 0x01 常规注入 通过特殊字符测试闭合,通常使用的闭合方式有 " ) ")等 1.判断字段 a union select 1,2,3 #2.执行基础内容 a union select 1,database(),3 #3.查表 a union select 1,group_concat(table_na…...

Java 实现 后端分页
背景说明 在实际开发中,基于数据库表结构进行SQL查询,如果要对结果进行分页,可以借助一些工具类,如:基于Mybatis的 工具类 PageHelper。 但是,有时分页的对象是经过一些业务逻辑处理的列表,如…...
数据结构 | 搜索和排序——排序
目录 一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 五、归并排序 六、快速排序 排序是指将集合中的元素按照某种顺序排序的过程。 一、冒泡排序 冒泡排序多次遍历列表。它比较相邻的元素,将不合顺序的交换。每一轮遍历都将下一个最大值放到正确的位…...

【嵌入式环境下linux内核及驱动学习笔记-(18)LCD驱动框架1-LCD控制原理】
目录 1、LCD显示系统介绍1.1 LCD显示基本原理1.1.1 颜色的显示原理:1.1.2 图像的构成 1.2 LCD接口介绍1.2.1 驱动接口 - MCU接口1.2.2 驱动接口 - RGB接口1.2.3 驱动接口 - LVDS接口1.2.4 驱动接口 - MIPI接口1.2.5 RGB / MIPI / LVDS三种接口方式的区别:…...

【unity】ShaderGraph实现等高线和高程渐变设色
【unity】ShaderGraph实现等高线和高程渐变设色 等高线的实现思路 方法一: 通过Position节点得到顶点的高度(y)值,将高度值除去等高距离取余,设定余数的输出边界(step) 方法二: 将…...

快速修复应用程序中的问题的利器—— Android热修复
热修复技术在Android开发中扮演着重要的角色,它可以帮助开发者在不需要重新发布应用程序的情况下修复已经上线的应用程序中的bug或者添加新的功能。 一、热修复是什么? 热修复(HotFix)是一种在运行时修复应用程序中的问题的技术…...

什么是全局代理,手机怎么设置全局代理
目录 什么是全局代理 全局代理的优缺点 优点 缺点 手机怎么设置全局代理 注意事项 总结 在计算机网络和信息安全中,全局代理是一种常用的技术手段,用于将网络流量通过代理服务器进行转发和处理。本文将介绍什么是全局代理,探讨全局代理…...

技术领先产品ASSAR300一一基于SAR成像的角雷达产品,助力自动泊车
作为自动驾驶应用场景中最先被推广和商业化落地的自动泊车功能,目前是在一些限定环境下实现了功能跑通。面对多种多样的复杂停车场场景,系统需要不断增强感知算法能力或寻求新的传感器技术,来提升对周围环境感知和对障碍物探测的精准度。 传…...

单元测试之 - Spring框架提供的单元/集成测试注解
Spring框架提供了很多注解来辅助完成单元测试和集成测试(备注:这里的集成测试指容器内部的集成测试,非系统间的集成测试),先看看Spring框架提供了哪些注解以及对应的作用。RunWith(SpringRunner.class) / ExtendWith(SpringExtension.class)&…...

深入学习 Redis - 事务、实现原理、指令使用及场景
目录 一、Redis 事务 vs MySQL事务 二、Redis 事务的执行原理 2.1、执行原理 2.2、Redis 事务设计这么简单,为什么不涉及成 MySQL 那样强大呢? 三、Redis 事务的使用 3.1、使用场景 3.2、具体演示 开启/执行/放弃事务 watch 监控 watch 实现原理…...

异步javaScript
在本文中,我们将解释什么是异步编程,为什么我们需要它,并简要讨论 JavaScript 历史上异步函数是怎样被实现的。 预备知识:基本的计算机素养,以及对 JavaScript 基础知识的一定了解,包括函数和事件处理程序…...

看跨境电商世界区域分布,Live Market教你深入参与跨境创业
随着全球化发展带来互联网技术的进步和平台经济的触角伸向全球,跨境电商越来越成为全球贸易的重要组成部分。根据国际数据公司(IDC)的最新数据显示,全球前五大跨境电商平台分别是亚马逊、阿里巴巴、eBay、Wish和京东全球购。这五家…...

python中的装饰器的真正含义和用法
闭包: 闭包是python中的一个很实用的写法,可以使得用户在函数中调用该函数外的函数的变量,使得该变量常驻于内存中。 闭包函数: 输入是函数,输出也是一个函数。 装饰器的写法是python闭包的语法糖。 面试中经常面…...

opencv基础-38 形态学操作-闭运算(先膨胀,后腐蚀)cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
闭运算是先膨胀、后腐蚀的运算,它有助于关闭前景物体内部的小孔,或去除物体上的小黑点,还可以将不同的前景图像进行连接。 例如,在图 8-17 中,通过先膨胀后腐蚀的闭运算去除了原始图像内部的小孔(内部闭合的…...

RocketMQ生产者和消费者都开启Message Trace后,Consume Message Trace没有消费轨迹
一、依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.0.3</version> </dependency>二、场景 1、生产者和消费者所属同一个程序 2、生产者开启消…...

JDV背后的技术-助力618 | 京东云技术团队
一、项目介绍 JDV(可视化大屏)是京东内部搭建可视化大屏的数据工具平台,内置10种模版特效,40种风格各异的图表、导航等组件。与集团其他数据工具打通,支持一站式、自助化、拖拽式搭建大屏,实现数据切换、联…...

0基础学习VR全景平台篇 第78篇:全景相机-拍摄VR全景
新手入门圆周率科技,成立于2012年,是中国最早投身嵌入式全景算法研发的团队之一,亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One,为用户带来实时畅享…...

Spring MVC简介与概述
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

java基础复习(第六日)
java基础复习(五) 1.是否了解类似 RabbitMQ.kalka 之类的队列服务? 请简述队列取务中的常见要素和使用场景? 了解,队列服务是一种应用间的通信方式,可以实现异步处理、应用解耦、流量削峰和消息通信等功能 队列服务的常见要素:…...

商用服务机器人公司【Richtech Robotics】申请纳斯达克IPO上市
来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于美国内华达州拉斯维加斯由华人领导的商用服务机器人公司【Richtech Robotics】近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达克IPO上市&am…...

关于nn.Embedding如何使用预定义词表
直接使用,则是没有pretrained的词表。 若要使用预定义词表,则可以用 pretrained_weight np.array(pretrained_weight) embeds.weight.data.copy_(torch.from_numpy(pretrained_weight))参考: https://wmathor.com/index.php/archives/1435/…...

怎么设置文件夹密码?文件夹密码设置方法合集
为文件夹设置密码可以有效地保护文件夹的数据安全,那么该怎么设置文件夹密码呢?下面我们来一起了解一下。 文件夹保护3000 想要简单快捷的为文件夹设置密码,那么,文件夹保护3000就是最佳的选择。它提供了3种文件夹保护方式&#…...

PEMFC氢氧质子交换燃料电池MATLAB仿真模型
氢氧燃料电池静态模型: (1)热力学电动势En (2)活化极化过电势Vact 活化损失主要是因为电极表面的反应速度过慢,在驱动电子传递到或者传送出电极的化学反应时,部分电压会被消耗。 (…...