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

Linux NFS/TFTP文件系统挂载

开发环境

Ubuntu 24.04
windows10

VMware Workstation 16 Player

Ubuntu 虚拟机 IP: 192.168.10.100
电脑网口的 IP: 192.168.10.200
开发板 IP 地址: 192.168.10.10

本地源码编译

参考
【正点原子】STM32MP1嵌入式Linux驱动开发指南V2.0.pdf
【正点原子】STM32MP157网络环境TFTP&NFS搭建手册V1.3.2.pdf
参考手册网站

内核网络配置

setenv ipaddr 192.168.10.10  
setenv gatewayip 192.168.10.1  
setenv netmask 255.255.255.0  
setenv serverip 192.168.10.100
setenv ethaddr b8:ae:1d:01:01:00  
saveenv

TFTP内核挂载

1. 安装 xinetd

sudo apt-get install xinetd

查询/etc/下是否存在 xinetd.conf 文件,没有的话则自己新建一个

ls /etc/xinetd.conf
sudo vi /etc/xinetd.conf

修改 xinetd.conf 文件内容如下:

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{

# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info

}

includedir /etc/xinetd.d

2. 创建TFTP 目录

mkdir -p /home/hsc/3519/tftpboot 
sudo chmod 777 /home/hsc/3519/tftpboot 

3.安装 tftp-hpa 服务

sudo apt-get install tftp-hpa tftpd-hpa

打开 tftpd-hpa 配置文件,修改 tftp 目录为 TFTP 服务器工作目录

sudo vi /etc/default/tftpd-hpa

在这里插入图片描述
创建/etc/ xinetd.d/tftp 文件, 配置/etc/ xinetd.d/tftp 文件,将 tftp 路径设置为自己的 tftp 路径

sudo vi /etc/xinetd.d/tftp -p
server tftp
{
        socket_type = dgram
        wait = yes
        disable = no
        user = root
        protocol = udp
        server = /usr/sbin/in.tftpd
        server_args = -s /home/hsc/3519/tftpboot -c
        #log_on_success += PID HOST DURATION
        #log_on_failure += HOST
        per_source = 11
        cps =100 2
        flags =IPv4
}

![[Pasted image 20241223173305.png]]
重启 tftpd-hpa xinetd 服务
在这里插入图片描述

sudo service tftpd-hpa restart
sudo service xinetd restart

4.配置uboot IP

setenv ipaddr 192.168.10.10  
setenv gatewayip 192.168.10.1  
setenv netmask 255.255.255.0  
setenv serverip 192.168.10.100
setenv ethaddr b8:ae:1d:01:01:00  
saveenv

5.挂载内核

将内核和设备树打包在一起挂载

setenv bootcmd 'mmc read 0 0x40010000 0x68800 0x800; ipcboot bl31 0x40010000; tftp 0x44000000 uImage_dtb; ipcboot uimgfdt 0x44000000'

将内核和设备树分开挂载

setenv bootcmd 'mmc read 0 0x40010000 0x68800 0x800; ipcboot bl31 0x40010000; tftp 0x44000000 uImage; tftp 0x44BDE040 hi3519dv500-demb-emmc.dtb; ipcboot uimgfdt 0x44000000'

恢复默认emmc挂载

setenv bootcmd 'mmc read 0 0x40010000 0x68800 0x800;ipcboot bl31 0x40010000;mmc read 0 0x44000000 0x800 0x8000;ipcboot uimgfdt 0x44000000'

NFS文件系统挂载

1. 安装 NFS 服务

sudo apt-get install nfs-kernel-server

2. 创建NFS 共享目录

sudo mkdir /home/hsc/3519/nfs
sudo chmod 777 /home/hsc/3519/nfs

3. 配置 NFS 服务

sudo vi /etc/exports

进入 /etc/exports 文件,在最后添加如下内容

/home/hsc/3519/nfs *(rw,sync,no_root_squash)

4.重启 NFS 服务器

sudo /etc/init.d/nfs-kernel-server restart

查看 NFS 共享目录

showmount -e

![[Pasted image 20241223174459.png]]

5挂载共享目录

配置文件系统ip

ifconfig eth0 192.168.10.10

创建文件夹进行挂载

mkdir getnfs
mount -t nfs -o nolock,nfsvers=3 192.168.10.100:/home/hsc/3519/nfs /getnfs/
mount -t nfs -o nolock,nfsvers=3 192.168.10.100:/home/hsc/share /getnfs/

6.共享文件系统

配置uboot启动文件系统地址

setenv bootargs 'mem=128M quiet console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/nfs nfsroot=192.168.10.100:/home/hsc/3519/nfs/rootfs,proto=tcp rw ip=192.168.10.10:192.168.10.100:192.168.10.1:255.255.255.0'

恢复默认状态

setenv bootargs 'mem=128M quiet console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 rootfstype=ext4 blkdevparts=mmcblk0:1M(boot_image.bin),16M(uImage),96M(rootfs.ext4),96M(appfs.ext4),1M(bl31.bin),1M(rawparam),1M(rawparambak),1M(resImage),-(storage)'

http://www.kler.cn/a/582888.html

相关文章:

  • C# 数据类型总结
  • Android ANR 监控方法与事件分发耗时优化实战
  • 无人机全景应用解析与技术演进趋势
  • 新能源汽车电控系统的大尺寸PCB需求:猎板PCB的技术突围
  • 【后端开发面试题】每日 3 题(十)
  • 笔记本电脑开机自动启用自定义电源计划方法
  • 11. Pandas :操作Excel文件(Excel报表的案例研究)
  • SvelteKit 最新中文文档教程(1)—— 入门指南
  • CentOS 7 64 安装 Docker
  • 【MySQL篇】基本查询实战OJ
  • 12 | 给应用添加优雅关停功能
  • ApiBoot v2.2.5版本无法兼容Hoxton.SR5的SpringCloud Gateway
  • 面向对象Demo01
  • IIS EXPRESS 虚拟目录经验谈!
  • 动态规划 -第1篇
  • 机器翻译技术深度解析:从统计模型到Transformer革命
  • bhSDR Matlab-通用软件无线电平台
  • 【每日学点HarmonyOS Next知识】类型判断、刘海高度、隐私弹窗、滑动下一页效果、清楚缓存
  • Agisoft Metashape 创建分块建模
  • 自然语言处理中的语音识别技术:从声波到语义的智能解码