系统移植 kernel 移植 配置网卡IP NFS网络文件系统移植 7.4

news2024/12/23 6:07:14

给fs4412移植内核

Kernel(内核)是操作系统的核心组件,它负责管理计算机硬件和软件资源,提供对底层硬件的访问和控制,以及为应用程序提供运行环境。内核是操作系统的最底层,负责处理系统的各种任务和功能,包括进程管理、内存管理、文件系统管理、设备驱动程序等。内核与用户空间相对,用户空间是操作系统中运行应用程序的部分,而内核运行在特权模式下,具有更高的权限和访问硬件资源的能力。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bCimv7VN-1688565355832)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230704140157873.png)]

1.获取源码:Linux 3.14
2.芯片是否支持(linux 3.14/arch/arm/configs/查找是否有相关芯片)
exynos_defconfig(提前配置了芯片相关的驱动和逻辑,SOC相关的基础设备的驱动和逻辑“内存,中断,IO设备”,kernel逻辑“文件管理、进程管理、内存管理”)
3.板子是否支持(linux 3.14/arch/arm/boot/dts/查找是否有相关板子)

《制作uImage》
4.
	vi Makefile
	{
	ARCH ?= arm
	CROSS_C = arm-linux-
	}
	
	make exynos_defconfig
	sudo apt-get install libncurses5-dev
	sudo apt-get install uboot-mkimage
	sudo apt-get install u-boot-tools
5.make menuconfig (图像界面) //内核功能的增减
(2)S3C UART to use
6.make uImage -j8

《制作exynos4412-fs4412.dts》
7.设备+驱动 才能使用功能
vi arch/arm/boot/dts/Makefile 添加fs4412设备树文件,添加fs4412板子(因为板子上的设备“内存、串口、网卡、ADC”不一定被SOC全部初始化:比如ADC和网卡,只能在make menuconfig去勾选)
板子的设备告知系统: cp exynos4412-origen.dts exynos4412-fs4412.dts (复制设备树)
make dtbs

板子无法在服务器上下载东西怎么办?

cd arch/arm/boot/dts/exynos4412-fs4412.dts
find ./ | grep -IR dm9000----------->查找拥有dm9000的板子
gedit xxxx----------->然后复制dm9000设备
在exynos4412-fs4412.dts中的添加设备要在最后添加
修改网络设备
添加中断头文件
make menuconfig中 添加驱动 device----> “/dm9000” --->
make uImage
make dtbs
然后添加uImage和dtb文件到mytftp重新烧录到板子上

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uPFdC6rN-1688565355832)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230704162114606.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4VA1S4U-1688565355833)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230704164945132.png)]

配置客户端的网卡IP:

+++++++make menuconfig中开启自动配置IP功能++++++++++++
告诉kernel,系统IP是多少:set bootargs root=/dev/ram rw console=ttySAC2,115200 clk_ignore_unused init=/linuxr ip=192.168.2.248
或者
ifconfig eth0 192.168.2.248
save
```
tftp -g -r a.out 192.168.2.249(在服务器上下载程序a.out)
此时的a.out应该是用交叉编译arm-linux-gcc 1.c  生成的
生成的a.out应该更改权限 chmod 777 a.out
并且将a.out放到mytftp文件中
```

在超级终端中./a.out即可运行程序

程序编译出,如何在板子方便的验证(不用下载)

现象:NFS(网络文件系统)

Linux下使用根目录下挂载文件系统mounted on访问文件
/------------>ramdisk.img
1.ubuntu下开辟一个目录存放bin lib...
2./根目录映射到目录,以后打开文件都直接在目录中打开

思考:服务器(Ubuntu)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-00tlbOvv-1688565355833)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230705102346107.png)]

检查dpkg -s nfs-kerbel-server是否存在
1.sudo apt-get install nfs-kernel-server
2.指定根目录 
解压rootfs根目录系统到sys中
3.内核的根目录和Linux的根目录 映射
pwd
sudo vi /etc/exports(nfs配置文件,把rootfs添加进去)
sudo service nfs-kernel-server restart (重启nfs,让配置生效)

客户端(开发板 kernel)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tIWtZQKq-1688565355833)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20230705105740217.png)]

make menuconfig --> 添加nfs client功能
搜索nfs,打开(* NFS client support)
			( * Root file system on NFS)
make uImage -j8
cp ....uImage ~/mytftp
修改启动参数
set bootargs root=/dev/nfs nfsroot=192.168.2.249:/home/hqyj/sys/rootfs,v3 rw console=ttySAC2,115200 clk_ignore_unused init=/linuxr
ip=192.168.2.248

set bootcmd tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;bootm 41000000 - 42000000

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

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

相关文章

第二步:STM32F407ZGT6资源介绍

1.1 STM32F407ZGT6资源描述 内核: 32位 高性能ARM Cortex-M4处理器 时钟:高达168M,实际还可以超屏一点点 支持FPU(浮点运算)和DSP指令 IO口: STM32F407ZGT6: 144引脚 114个IO 大部分IO口都耐5V(模拟通道除外) …

Spring Security OAuth2.0(3):Spring Security简单入门

文章目录 前言一、Spring Security 介绍二、创建工程三、认证1. 认证页面2. 安全配置 四、授权 前言 Spring Security 快速入门。 本章代码已分享至Gitee:https://gitee.com/lengcz/security-spring-security 一、Spring Security 介绍 \qquad Spring Secutiry 是…

vue3中的setup方法

一、vue2中的定义变量和方法的写法 在介绍v3的setup之前&#xff0c;我们先来看看在v2中是如何定义变量和方法的 <template><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><button click"sayHello">说话…

openEuler Linux 光驱开启自动挂载

openEuler Linux 光驱开启自动挂载 创建光驱挂载目录 mkdir -p /mnt/cdrom 手动挂载光驱 但是系统重启后挂载失效 mount /dev/cdrom /mnt/cdrom取消光驱挂载 umount /mnt/cdrom光驱开机自动挂载 临时挂载光驱 mount /dev/cdrom /mnt/cdrom编写配置文件/etc/fstab vi /etc/fst…

【Distributed】分布式监控系统zabbix应用

文章目录 前言一、Zabbix基本概述1. Zabbix 的概念2. Zabbix 的工作原理3. Zabbix 6.0 新特性3.1 Zabbix 可以实现高可用3.2 Zabbix 新增监控系统 4. Zabbix 的构成5. Zabbix 的功能组件5.1 数据库5.2 Web 界面5.3 Zabbix Agent5.4 Zabbix Proxy5.5 Java Gateway 6. Zabbix 和 …

【macOS 系列】如何设置macos的软件、app随系统启动

如何设置app随系统启动 有些app可以在内部实现&#xff0c;如果没有&#xff0c;则需要在系统-偏好设置-用户与群组&#xff0c;切换到登录项&#xff0c;然后在下方可以添加或删除开机启动项。

[管理与领导-6]:新任管理第1课:管理转身--从技术业务走向管理,角色的转变

目录 第1章 管理从转变角色开始 1.1 什么是角色 1.2 角色定位 1.3 技术型与管理型人才差别&#xff1a;六大转变 1.4 不同角色的人能力要求 第2章 管理从定位角色迈步&#xff1a;管理者的四位 2.1 定位 2.1.1 辅助者 2.1.2 教练&#xff1a;以身作则&#xff0c;带领…

【数据结构与算法】树和二叉树课后习题

题目 题目1 知一棵树边的集合为 < I , M > , < I , N > , < E , I > , < B , E > , < B , D > , < A , B > , < G , J > , < G , K > , < C , G > , < C , F > , < H , L > , < C , H > , < A …

财务凭证替代退出类型不正确几个问题汇总

财务凭证替代退出类型不正确几个问题汇总 以上资料均来自网络&#xff0c;纯粹个人工作记录&#xff0c;如有意见请联系删除。 1、两种类型含义 c_exit_param_class. 传参数 代表完全凭证替代 c_exit_param_none. 不传参数 代表行项目替代 exits-name ‘ZFI27’. " …

wpf中DialogResult.Yes方法报错

原因&#xff1a;在WPF里DialogResult没有Yes或No的枚举取值了 所以应该这样写 private void Button_Click(object sender, RoutedEventArgs e) {   if (MessageBox.Show ("要退出程序吗?", "退出程序",MessageBoxButton.YesNo ) MessageBoxResult.Y…

MySQL数据库概述

文章目录 SQL语言的特点SQL的组成部分数据库基本概念数据库性质数据库系统数据库系统的组成部分数据库发展简史 SQL语言的特点 &#xff08;1&#xff09;功能一体化 &#xff08;2&#xff09;高度非过程化 &#xff08;3&#xff09;面向集合的操作方式 &#xff08;4&am…

企业利用bi商业智能工具有哪些改变呢?以瓴羊QuickBI为例

当下的趋势是数字化已经成为一股不可抗拒的力量&#xff0c;推动着全球各国社会经济的发展。在数字经济中&#xff0c;数据是核心基础&#xff0c;包括数据的收集、整合、分析和应用等各个方面。为了充分挖掘数据的价值&#xff0c;各种相关技术近年来得到了迅猛发展。在这些技…

MFC管理系统

文章目录 登录设置登录界面登录用户判断 界面设计嵌入对话框 添加列表添加员工添加按钮 完成添加员工删除员工修改员工信息修改 完成修改员工保存数据打开时显示读取内容全部代码 登录 设置登录界面 初始化窗口实列 添加控件变量 登录用户判断 void CLoginDlg::OnBnClickedB…

C语言程序环境和预处理

本章主要以图片和文字的形式给大家讲解 程序的翻译环境和程序的执行环境 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境&#xff0c;它用于实际执行代码 2. 详解编译…

visio常用功能

1.常规对象&#xff0c;鼠标左键操作进行旋转、下图旋转柄是鼠标左键拖动可以任意改变方向&#xff0c;改变大小&#xff08;长度、宽度、等比例&#xff09;。 2.注意&#xff1a;用大小和位置定量改变形状的大小和角度 在选中形状对象后&#xff0c;页面底部会出现该形状的大…

【Spring Boot】Spring Boot日志详情:基于lombok的日志输出

文章目录 1. 何为日志文件&#xff1f;2. 日志文件的作用3. 日志文件的基本使用3.1 Spring Boot中的日志3.2 自定义日志打印 4 日志级别4.1 日志级别的作用4.2 日志级别的分类4.3 日志级别的设置 5 日志持久化6 基于lombok的日志输出6.1 lombok 简单输出日志案例6.2 浅谈 lombo…

如果遇到洪灾导致网络瘫痪,对讲机能起到什么作用?

当我们遇到洪灾这种突发事件时&#xff0c;网络基本就会处于瘫痪状态&#xff0c;人们的安全和生命也将面临着极大的威胁。而在这种时候&#xff0c;一种看似普通的通讯工具&#xff0c;却能够成为拯救生命的关键&#xff0c;它就是——对讲机&#xff01; 网络已经成为我们生…

使用3D Slicer进行图像配准

在3D Slicer官网上&#xff08;https://www.slicer.org/&#xff09;下载最新版本的软件 下载完成后按照指示安装软件&#xff0c;并在安装目录下打开软件 打开后在插件市场搜索并安装需要的配准插件 安装完成后重新打开软件&#xff0c;进行图像配准操作&#xff0c;首先需…

FreeRTOS ~(四)同步互斥与通信 ~ (1/3)同步的缺陷

举例子说明&#xff1a;同步的缺陷 首先创建两个任务&#xff1a;Task1和Task2; 让Task1执行一个比较耗时的计算,计算完成之后,通知Task2; Task1&#xff1a;求和,sum,累加10000000次,然后标志位置1 Task2&#xff1a;检测到标志位置1,打印sum值 为了可以在逻辑分析仪上更准确…

Kibana的对索引库的操作(2)

使用Kibana对文档操作 1.新增文档 新增文档并随机生成id: POST /索引库名/类型名{"key","value"} 新增文档并自定义id:POST /索引库名/类型名/id值 {"key","value"} 2.查看文档 如果查询的文档不存在则返回false 3.修改文档 这里需…