当前位置: 首页 > news >正文

使用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&#xff0c;采用了ARM音频DSP架构&#xff0c;集网络对讲、网络广播、监听等功能于一身&#xff0c;内置麦克风、配置line out、line in、Mic in功能输出接口&#xff0c;适用于学校&#xff0c;机场&#xff0c;广场等场所。 产品…...

cordova 12 编译失败Could not find method compile() for arguments [com....]

问题&#xff1a; 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. 问题原因&#xff1a; 在Cordova项目中&…...

快速开发平台 WebBuilder 9 发布

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

GPT-5出世,需5万张H100!英伟达GPU陷短缺风暴

随着人工智能技术的不断突破&#xff0c;自然语言处理领域也掀起了一波又一波的革命。从GPT-3.5的惊艳登场&#xff0c;到紧随其后的GPT-4的惊世震人&#xff0c;人们仿佛置身于科幻电影中&#xff0c;亲历了一场场技术的奇迹。然而&#xff0c;这场奇迹背后却逐渐显现出一道不…...

Jmeter学习和一个关于jmeter获取X-XSRF-TOKEN时的坑

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

SQL注入总结

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

Java 实现 后端分页

背景说明 在实际开发中&#xff0c;基于数据库表结构进行SQL查询&#xff0c;如果要对结果进行分页&#xff0c;可以借助一些工具类&#xff0c;如&#xff1a;基于Mybatis的 工具类 PageHelper。 但是&#xff0c;有时分页的对象是经过一些业务逻辑处理的列表&#xff0c;如…...

数据结构 | 搜索和排序——排序

目录 一、冒泡排序 二、选择排序 三、插入排序 四、希尔排序 五、归并排序 六、快速排序 排序是指将集合中的元素按照某种顺序排序的过程。 一、冒泡排序 冒泡排序多次遍历列表。它比较相邻的元素&#xff0c;将不合顺序的交换。每一轮遍历都将下一个最大值放到正确的位…...

【嵌入式环境下linux内核及驱动学习笔记-(18)LCD驱动框架1-LCD控制原理】

目录 1、LCD显示系统介绍1.1 LCD显示基本原理1.1.1 颜色的显示原理&#xff1a;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三种接口方式的区别&#xff1a…...

【unity】ShaderGraph实现等高线和高程渐变设色

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

快速修复应用程序中的问题的利器—— Android热修复

热修复技术在Android开发中扮演着重要的角色&#xff0c;它可以帮助开发者在不需要重新发布应用程序的情况下修复已经上线的应用程序中的bug或者添加新的功能。 一、热修复是什么&#xff1f; 热修复&#xff08;HotFix&#xff09;是一种在运行时修复应用程序中的问题的技术…...

什么是全局代理,手机怎么设置全局代理

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

技术领先产品ASSAR300一一基于SAR成像的角雷达产品,助力自动泊车

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

单元测试之 - Spring框架提供的单元/集成测试注解

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

深入学习 Redis - 事务、实现原理、指令使用及场景

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

异步javaScript

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

看跨境电商世界区域分布,Live Market教你深入参与跨境创业

随着全球化发展带来互联网技术的进步和平台经济的触角伸向全球&#xff0c;跨境电商越来越成为全球贸易的重要组成部分。根据国际数据公司&#xff08;IDC&#xff09;的最新数据显示&#xff0c;全球前五大跨境电商平台分别是亚马逊、阿里巴巴、eBay、Wish和京东全球购。这五家…...

python中的装饰器的真正含义和用法

闭包&#xff1a; 闭包是python中的一个很实用的写法&#xff0c;可以使得用户在函数中调用该函数外的函数的变量&#xff0c;使得该变量常驻于内存中。 闭包函数&#xff1a; 输入是函数&#xff0c;输出也是一个函数。 装饰器的写法是python闭包的语法糖。 面试中经常面…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...