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

给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 ?= armCROSS_C = arm-linux-}make exynos_defconfigsudo apt-get install libncurses5-devsudo apt-get install uboot-mkimagesudo 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.248set bootcmd tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;bootm 41000000 - 42000000

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

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

相关文章

Docker学习笔记17

跨主机容器间网络: 实现跨主机容器间通信的工具: 1)Pipework 2)Flannel 3)Weave 4)Open V Switch (OVS) 5)Calico 1. Weave: 在每个宿主机上布置一个特…

ChatGPT:为教育创新提供五大机遇

随着智能技术的不断发展,ChatGPT在教育场景中的创新价值可能比我们能够意识到的还要多。比如它可以自动处理作业、在线答疑,可以辅助语言学习、实时沟通,甚至还可以用于评估诊断、科学研究。国内外关于利用ChatGPT实现教育创新的场景描绘已经…

论文浅尝 | 大语言模型综述

笔记整理:刘康为、方润楠,浙江大学硕士,研究方向为自然语言处理 链接:https://arxiv.org/abs/2303.18223 一、介绍 在当前机遇和挑战的背景下,对大语言模型的研究和开发需要更多的关注。为了让读者对大语言模型有一个基…

从零开始:如何用Python建立你的第一个人工智能模型

1. 摘要: 在这篇文章中,我们将介绍如何从零开始使用Python建立你的第一个人工智能模型。无论你是刚接触编程的新手,还是有经验的开发者想进一步探索人工智能领域,这篇文章都将为你提供清晰、详细的指南。我们将一步步探索数据预处…

matlab画拟合直方图的脚本

都是一些简单的作图参数,可以自己按照matlab官方的指导去改style https://ww2.mathworks.cn/help/stats/histfit.html %-----------------------------------------------------------------------------------------------------------% %-----Function: Plot a h…

解决阿里qiankun微应用资源无法加载

公司老项目多了,却想用新版本的框架,最好的解决办法就是用微前端。 本文说下我们在用阿里微前端框架qiankun,遇到的一些问题,以及一些巧妙的解决办法。 背景 因为接入微前端很长时间了,导致现在的微应用变成了实际意…

ikbc键盘2.4G接收器丢失,重新对码

我的键盘:ikbc W200 1.键盘关掉重开; 2.新接收器插在电脑上; 3.电脑上打开软件,点开始对码,一会就连接上了。 对码软件放在这里: 我用夸克网盘分享了「IKBC 对码.rar」,点击链接即可保存。打开…

进程(process)、线程(thread)、协程 (Coroutine) 的区别

说到协程(Coroutine),我们必须提到两个名称相似的东西。 在操作系统(os)级别,有进程(process)和线程(thread)两个(仅从我们常见的讲)实际的“东西”&#xff…

redis面试题

面试题汇总 Redis的使用场景什么是缓存穿透,有什么解决方案?能否介绍一下布隆过滤器布隆过滤器? 什么是缓存击穿 ? 怎么解决 ?什么是缓存雪崩 ? 怎么解决 ?redis做为缓存,mysql的数据如何与redis进行同步呢?&#…

【C++】C++11的新特性

文章目录 1. C11简介2. 统一的列表初始化2.1 {}统一初始化2.2 std::initializer_list 3. 声明的新方式和范围for循环3.1 decltype3.2 auto&nullptr&范围for循环 4. STL的变化4.1 新容器4.2 新接口 1. C11简介 ​ 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1…

MySQL中这些关键字的用法,佬们get到了嘛

前言: 最近粉丝问了一个问题,是关于Limit分页的用法,他没有理解清楚,因此本篇文章主要讲解MySQL的关键字的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出&#xff0c…

【Unity】HyBridCLR初探

完成目标: 创建热更新程序集加载热更新程序集,并执行其中热更新代码,打印 Hello, HybridCLR修改热更新代码,打印 Hello, World准备环境​ 安装Unity HybridCLR也支持2019.4.x,但新手请先按照下面要求跑通流程后,再根据安装HybridCLR文档尝试2019.4.x。 安装 2020.3.26+…