【elfboard linux 开发板】9. 虚拟机扩容和内核编译

1. 虚拟机扩容

  1. 需要将虚拟机的快照全都删除,并且将运行的系统关机
  2. 点击扩展,改为需要的磁盘大小在这里插入图片描述
  3. 安装gparted工具

sudo apt-get install gparted
如果报错,则按照出错内容修改,一般是出现下载错误,可以使用下列命令:
sudo apt-get install --fix-broken

  1. 打开gparted工具扩容

如果无法直接扩容,需要关闭工具,重新挂载,再打开工具
sudo mount -o umount -rw /
sudo mount -o umount -rw /var/snap/firefox/common/host-hunspell 这个位置可以查看下面位置获得:
在这里插入图片描述

  1. 查看磁盘空间方式

fdisk /dev/sda
df -h

2. 内核编译

a. 步骤

  1. 下载源码(此处使用的厂家送的tar.bz2压缩文件,用u盘拷贝进虚拟机),解压缩,进入到解压缩后的目录下;

  2. grep -c processor /proc/cpuinfo在/proc/cpuinfo文件中,统计processor出现的次数,含义:计算有多少个cpu

  3. make distclean 清理文件
    在这里插入图片描述

  4. make imx6ull_elf1_defconfig使用imx6ull_elf1_defconfig配置当前工程,并生成.config文件
    在这里插入图片描述

  1. make -j2因为有两个cpu,所以使用的是2

错误信息:“/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of ‘yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host: 100: scripts/dtc/dtc] Error 1
make[1]: *** [scripts/Makefile.build:403: scripts/dtc] Error 2”
诊断:① 多次定义
原因:在scripts/dtc/dtc-lexer.lex.c_shipped和scripts/dtc/dtc-lexer.l中都有声明
解决方法:在scripts/dtc/dtc-lexer.lex.c_shipped文件的第640行YYLTYPE yylloc前加extern声明为外部变量

  1. make modules_install INSTALL_MOD_PATH=./.tmp/rootfs/安装模块到./tmp/rootfs路径下
  2. tar -jcvf modules.tar.bz2 .tmp/rootfs/* 将.tmp/rootfs/下所有文件打包成tar.bz2的压缩包
  3. 产生的一些重要的文件
  • vmlinux 内核原始elf格式镜像,包含可执行的二进制指令,调试信息,符号表等内容
  • System.map 符号表
  • arch/arm/boot/Image 内核原始bin格式镜像
  • arch/arm/boot/zImage 经压缩和添加头信息后的 bin 镜像
  • arch/arm/boot/dts/*.dtb 设备树二进制文件
  • arch/arm/boot/compressed/vmlinux 经压缩和添加头信息后的elf镜像

单独编译内核

4.5 前1-4步与前面相同,使用菜单勾选相关组件:make menuconfig打开菜单,然后手动勾选,会重新生成配置文件
报错2:: fatal error: ncurses.h: No such file or directory
解决方法: sudo apt-get install libncurses5-dev
报错3:Your display is too small to run Menuconfig!
解决方法:把字体调小,和把终端放大
在这里插入图片描述
5. 单独编译

make zImage -j2 单独编译内核镜像, 主要会在arch/arm/boot下生成zImage文件及其他文件
make dtbs -j2 单独编译设备树,主要会在arch/arm/boot下生成*.dts文件及其他文件
make modules -j2 单独编译模块
报错4:lzop: not found
解决方法:sudo apt-get install lzop

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

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

相关文章

PHP 平滑重启 kill -SIGUSR2 <PID>

在 PHP 中,平滑重启通常涉及向 PHP 进程发送特定的信号。以下是使用信号进行平滑重启的一般步骤: 1. 查找 PHP 进程的主进程 ID (PID): 首先,您需要找到正在运行的 PHP 进程的主进程 ID (PID)。您可以使用 ps 命令来查找 ps a…

Ubuntu22.04安装VTK8.2

1. 安装ccmake 和 VTK 的依赖项: sudo apt-get install cmake-curses-gui sudo apt-get install freeglut3-dev2.下载VTK-8.2.0库 VTK官方网址 自己选择合适的版本进行下载,解压到VTK文件夹下,再新建文件下名为build 3. 配置VTK 进入buil…

【Python百宝箱】模拟未见之境:精准工具畅游分子动力学风景

分子演绎:模拟工具的综合探索 前言 在当今科学研究中,分子动力学模拟成为解析原子和分子行为的关键工具之一。本文将深入探讨几种领先的分子动力学模拟工具,包括MDTraj、ASE(原子模拟环境)、OpenMM和CHARMM。这些工具…

控制器转盘错误

目录 起因 经过(调试) 点焊机数据修改 结果 今天来记录设备的维修记录,下面来根据起因,经过,结果来说明情况!!!,希望对读者的你有帮助!!!

强化学习Double DQN方法玩雅达利Breakout游戏完整实现代码与评估pytorch

1. 实验环境 1.1 硬件配置 处理器:2*AMD EPYC 7773X 64-Core内存:1.5TB显卡:8*NVIDIA GeForce RTX 3090 24GB 1.2 工具环境 Python:3.10.12Anaconda:23.7.4系统:Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-…

软件测试|解决‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件

前言 很多Python初学者在使用Python时,会遇到环境的问题,比如无法使用pip命令安装第三方库的问题,如下图: 当出现错误信息 "pip 不是内部或外部命令,也不是可运行的程序或批处理文件" 时,这通常…

echarts柱状图加单位,底部文本溢出展示

刚开始设置了半天都不展示单位,后来发现是被挡住了,需要调高top值 // 基于准备好的dom,初始化echarts实例var myChart echarts.init(document.getElementById("echartD"));rankOption {// backgroundColor: #00265f,tooltip: {…

树定义及遍历

1、定义树 可以参考链表,链表遍历不方便,如果单链表有多个next指针,则就形成了树。 Java: public class TreeNode {int val;TreeNode left, right;TreeNode(int val) { this.val val; this.left null;this.right null;} } Python&#…

WIN32 桌面应用编程综合实验一学习记录

文章目录 引用传递和指针传递的区别和联系如何创建一个空的WINDOWS桌面项目C编程中函数声明、定义和链接的基本概念 引用传递和指针传递的区别和联系 case ID_SETTING_FONT:GetDrawFont(hWnd, gs_logFont, &gs_TextColor); break;logFont 和 pColor 的用法体现了 C 中两种…

stm32的规则采样与注入采样的理解

规则与注入转换 在STM32中,规则采样(Regular Conversion)和注入采样(Injected Conversion)是用于模数转换的两种不同模式。 规则采样(Regular Conversion):规则采样是STM32中最常用…

面试算法105:最大的岛屿

题目 海洋岛屿地图可以用由0、1组成的二维数组表示,水平或竖直方向相连的一组1表示一个岛屿,请计算最大的岛屿的面积(即岛屿中1的数目)。例如,在下图中有4个岛屿,其中最大的岛屿的面积为5。 分析 将岛屿…

力扣-34. 在排序数组中查找元素的第一个和最后一个位置

文章目录 力扣题目代码 力扣题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算…

山东名岳轩印刷包装携专业包装袋盛装亮相2024济南生物发酵展

山东名岳轩印刷包装有限公司盛装亮相2024第12届国际生物发酵展,3月5-7日山东国际会展中心与您相约! 展位号:1号馆F17 山东名岳轩印刷包装有限公司是一家拥有南北两个生产厂区,设计、制版、印刷,营销策划为一体的专业…

python运行报错_ModuleNotFoundError: No module named ‘xxx‘,调用自己定义的文件报错。

问题描述:cifar10.py文件调用non_stationary.py文件的方法 目录结构: project_directory/ └── continuum/├── dataset_scripts/│ └── cifar10.py├── __init__.py├── continuum.py└── non_stationary.py# cifar10.pyfrom continuum…

JavaSec基础 反射修改Final修饰的属性及绕过高版本反射限制

反射重拾 半年没碰java了 先写点基础回忆一下 反射弹计算器 public class Test {public static void main(String[] args) throws Exception {Class<?> clazz Class.forName("java.lang.Runtime");clazz.getDeclaredMethod("exec", String.cla…

springBoot-自动配置原理

以下笔记内容&#xff0c; 整理自B站黑马springBoot视频&#xff0c;抖音Holis 1、自动配置原理 1.收集Spring开发者的编程习惯&#xff0c;整理开发过程使用的常用技术列表一>(技术集A) 2.收集常用技术(技术集A)的使用参数&#xff0c;整理开发过程中每个技术的常用设置列表…

灵活轻巧的java接口自动化测试实战

前言 无论是自动化测试还是自动化部署&#xff0c;撸码肯定少不了&#xff0c;所以下面的基于java语言的接口自动化测试&#xff0c;要想在业务上实现接口自动化&#xff0c;前提是要有一定的java基础。 如果没有java基础&#xff0c;也没关系。这里小编也为大家提供了一套jav…

U盘、硬盘无法打开,修复RAW磁盘或分区,硬盘变成raw格式如何恢复,数据恢复

本文持续更新&#xff0c;针对遇到的数据丢失问题进行详细记录 磁盘变成RAW的可能原因 突然断电或关机文件系统丢失或损坏病毒或恶意软件感染坏扇区磁盘损坏 以下解决方案针对非病毒损坏 通过Windows自带的工具进行恢复&#xff08;CHKDSK命令&#xff09; 1.连接硬盘 2.…

springcloud bus消息总线

简介 Spring Cloud Bus 配合Spring Cloud Config 使用可以实现配置的动态刷新。 Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架&#xff0c;它整合了Java的事件处理机制和消息中间件的功能。Spring Clud Bus目前支持RabbitMQ和Kafka。 Spring C…

TDengine 被 Frost Sullivan 评为全球最佳工业数据管理解决方案

近日&#xff0c;TDengine 被国际知名咨询公司沙利文&#xff08;Frost & Sullivan&#xff09;评为全球最佳工业数据管理解决方案&#xff0c;赢得了 2023 年客户价值领导力奖&#xff08;Frost & Sullivan duoxie&#xff09;&#xff0c;该奖项重点关注引领行业创新…