温馨提示×

ubuntu驱动如何分享

小樊
42
2025-12-04 08:36:26
栏目: 智能运维

Ubuntu 驱动分享的常见场景与做法

先明确你的目标

  • 共享“驱动文件/源码”给同事或另一台机器使用(便于多人协作或交叉编译)。
  • 把本机已加载的专有硬件驱动能力“共享”给远端,让远端像本地一样使用该设备(例如把插在本机的 USB 设备通过网络提供给另一台 Ubuntu 使用)。
  • 在离线/无网环境下先让目标机联网,以便在线安装驱动(例如用手机或另一台电脑给目标机共享网络)。

共享驱动文件或源码

  • 使用 Samba 把驱动目录共享给 Windows 或另一台 Ubuntu:在 Ubuntu 安装 Samba,编辑 /etc/samba/smb.conf 添加共享段(设置 path、browseable、read only/writeable、valid users 等),用 smbpasswd -a 用户名 设置访问账号,重启 Samba 服务;Windows 侧通过“映射网络驱动器”访问。适合多人协作编辑与版本同步。
  • 使用 NFS 把驱动目录挂载到 ARM 开发板/远端 Linux:在 Ubuntu 安装 nfs-kernel-server,在 /etc/exports 中导出目录(如 /home/incipe/nfs *(rw,sync,no_subtree_check)),重启 NFS;开发板用 mount -t nfs 服务器IP:/home/incipe/nfs /mnt 挂载,直接在共享目录编译与烧写驱动,适合嵌入式开发流。

共享已插入的 USB 设备驱动能力

  • 方案:使用 USB/IP 将本机的 USB 设备通过网络“共享”给远端 Ubuntu。架构上,本机作为 Server 导出设备,远端作为 Client 通过 VHCI 驱动“挂载”该设备,效果如同直插本机。
  • 快速步骤(两端均为 Ubuntu,示例命令):
    • 两端安装工具与加载模块:sudo apt-get install linux-tools-generic;sudo modprobe usbip-core;sudo modprobe vhci-hcd;sudo modprobe usbip-host
    • Server(插有 USB 设备):插入设备后执行 usbip list --local 查看 busid;启动守护进程 sudo usbipd -D;绑定设备 sudo usbip bind -b
    • Client:查看远端可导出设备 sudo usbip list -r <server_ip>;挂载到本地 sudo usbip attach -r <server_ip> -b ;使用完毕后 sudo usbip detach -p 或在 Server 端 sudo usbip unbind -b
    • 适用场景:调试需要独占访问的 USB 外设(如加密狗、采集卡、调试器)而无需物理搬运设备。

离线环境先联网再装驱动

  • 通过 Windows 笔记本共享网络给 Ubuntu 台式机:用网线连接两台机器,在 Windows“适配器设置”里将已联网的 Wi‑Fi 共享给“以太网”,Ubuntu 即可获得网络,随后 sudo apt update && sudo apt install build-essential 并编译安装驱动。
  • 通过 安卓手机 USB 共享网络给 Ubuntu:手机数据线连接电脑,开启“USB 共享网络”,待 lsusb/ifconfig 显示可用网络后,执行 sudo apt update 与驱动编译安装流程。适合新装系统或网卡驱动缺失导致无法上网的情况。

注意事项

  • USB/IP 仅共享设备本身,不会把“驱动模块”从 Server 自动复制到 Client;Client 仍需具备对应驱动(常见即插即用设备通常无需额外安装)。
  • 网络共享驱动文件时,注意 文件权限与所有权(Samba 的 force user/group、NFS 的 root_squash/no_root_squash 等),避免远端编译/烧写失败。
  • 使用 SoftAP(USB 网卡当热点)属于“共享网络”而非“共享驱动”,需网卡与驱动支持 AP 模式(如 rtl8192eu 可编译启用 SoftAP),与 USB/IP 的目标不同。

0