在rk设备上挂载windows上某个文件夹,通过SSH实时将打包的文件保存至windows上

时间:2025-04-06 08:40:57

一、简介

要实现将实时打包的镜像文件直接保存到Windows上,而不是先在RK3588设备上创建镜像然后再传输,你可以通过网络挂载Windows上的共享文件夹到RK3588设备上。这样你可以将镜像直接写入到Windows设备的存储中,而不占用RK3588设备的内存空间。

二、步骤1:在Windows上设置共享文件夹

  • 创建共享文件夹
    Windows上,右键点击你想要共享的文件夹(如 D:\work\remote_img),选择“属性”。
  • 设置共享
    属性窗口中,选择“共享”选项卡,然后点击“高级共享”。
    • 勾选“共享此文件夹”,然后为共享指定一个名称(默认与文件夹名相同)
    • 点击“权限”,确保“完全控制”权限已赋予给适当的用户或“Everyone”(视情况而定)。
  • 确认共享路径
    • 共享路径可能类似于 \\<Windows_IP>\share_name,例如 \\192.168.1.31\remote_img

三、在RK3588设备上安装必要的工具(根据实际需要安装)

  • 在RK3588设备上安装 cifs-utils,这可以让你挂载Windows共享文件夹

    sudo apt-get update
    sudo apt-get install cifs-utils
    
    • 1
    • 2

四、挂载Windows共享文件夹到RK设备

  • 在RK设备上创建一个目录,用于挂载Windows共享文件夹

    sudo mkdir /mnt/remote_img
    
    • 1
  • 将Windows共享文件夹挂载到RK设备上

    sudo mount -t cifs -o username=your_windows_user_name,password=your_password //192.168.5.34/remote_img /mnt/remote_img
    
    • 1
    • username=your_windows_user_namepassword=your_password 是你在Windows设备上使用的用户名和密码。
    • //192.168.5.34/remote_img 是共享文件夹的网络路径。
    • /mnt/remote_img 是rk设备上挂载点目录。
  • 检查是否挂载成功

    df -h
    
    • 1

    挂载成功后,你应该能够看到挂载点 /mnt/remote_img,它对应于Windows设备上的共享文件夹。

五、将镜像实时文件保存到Windows

sudo dd if=/dev/mmcblk0 bs=4M | tee /mnt/remote_img/backup_image_v2043.img | dd of=/dev/null
  • 1
  • tee 命令用于将数据流复制到文件的同时继续传输,因此数据不仅被保存到镜像文件中,也被实时处理。
  • /mnt/remote_img/backup_image_v2043.img 是Windows共享文件夹的路径。
  • dd of=/dev/null:将数据流同时传递,但不做额外处理。

六、自动挂载(可选)

  • 如果你想让挂载点在设备重启后自动挂载,可以编辑 /etc/fstab 文件:
    sudo vim /etc/fstab
    
    • 1
  • 在文件末尾添加以下内容:
    //192.168.1.31/remote_img /mnt/remote_img cifs username=your_windows_user_name,password=your_password,iocharset=utf8,vers=3.0 0 0
    
    • 1
    保存并退出。

七、遇到权限问题

Permission denied”等错误,表明当前用户或进程在写入到挂载的共享文件夹时没有足够的权限。

解决步骤:

  • 1、卸载现有挂载
    sudo umount /mnt/remote_img
    
    • 1
  • 2、使用带有权限设置的 mount 命令重新挂载
    sudo mount -t cifs -o username=your_windows_username,password=your_password,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 //192.168.1.31/remote_img /mnt/remote_img
    
    • 1
    • username=your_windows_username 和 password=your_password:替换为你在Windows上的用户名和密码。
    • uid=1000,gid=1000:将挂载的文件的所有权设置为当前用户(通常 1000 是第一个创建的用户的UID)。
    • file_mode=0777,dir_mode=0777:设置文件和目录的权限为可读写执行。