HOME> 每日趣玩> 在安卓手机上挂载飞牛的SMB共享文件夹
{$vo.文章标题}
{$vo.文章标题}

在安卓手机上挂载飞牛的SMB共享文件夹

admin
7882

前言

本文实际上没有什么实用价值

真要用NAS内的文件,直接用飞牛的APP就完事了,不需要这么多多余操作

使用的设备为 红米K30Pro 系统为MIUI 14.0.4

文中提到的adb、fastboot工具需自行准备

检查安卓内核

首先检查自己的安卓内核是否支持CIFS文件系统

在adb shell中使用如下命令即可

cat /proc/filesystems

如果你的设备跟我的一样,没有CIFS相关内容

D:\software\scrcpy-win64-v2.7>adb shell

lmi:/ $ cat /proc/filesystems

nodev sysfs

nodev rootfs

nodev tmpfs

nodev bdev

nodev proc

nodev cpuset

nodev cgroup

nodev cgroup2

nodev configfs

nodev debugfs

nodev tracefs

nodev sockfs

nodev bpf

nodev pipefs

nodev ramfs

nodev devpts

ext3

ext2

ext4

vfat

msdos

nodev ecryptfs

nodev sdcardfs

fuseblk

nodev fuse

nodev fusectl

nodev overlay

nodev incremental-fs

f2fs

nodev selinuxfs

nodev binder

nodev pstore

exfat

nodev functionfs

恭喜你,你需要自行构建内核添加CIFS支持

引导自定义内核

构建内核

每台手机构建内核的方法都各不相同,因此这一步没有通用步骤

这里给出在本例中使用的手机,lmi_defconfig新增的配置

这个文件在内核源码的arch/arm64/configs/lmi_defconfig目录

以下配置是一股脑加上的,有没有多余的不知道

CONFIG_CIFS=y

CONFIG_CIFS_SMB2=y

CONFIG_CIFS_WEAK_PW_HASH=y

CONFIG_CIFS_STATS2=y

CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y

CONFIG_CIFS_DEBUG=y

CONFIG_SMBFS=y

CONFIG_CIFS_FSCACHE=y

但至少CONFIG_CIFS肯定不是多余的

添加完成后,正常构建内核即可

我是直接在飞牛NAS上构建的,反正四舍五入NAS也是个Linux环境

把构建好的内核下载下来待用

引导内核

构建结束后,会有一个boot.img,不要急着刷入

可以使用下面的命令,进入fastboot模式

adb reboot bootloader

然后直接引导内核,先验证内核是否可用

fastboot boot D:\lmi\boot.img

命令行会出现,没有报错才是正常的

Sending 'boot.img' (131072 KB) OKAY [ 2.968s]

Booting OKAY [ 0.115s]

Finished. Total time: 3.137s

随后等待开机即可

如果开机后出现如下提示,不需要特别处理,忽略即可

检查支持的文件系统

依旧是在adb shell中,使用如下命令检查

cat /proc/filesystems

如果回显结果如同下面这个例子一样,出现cifs

说明成功构建了包含CIFS支持的内核

D:\software\scrcpy-win64-v2.7>adb shell

lmi:/ $ cat /proc/filesystems

nodev sysfs

nodev rootfs

nodev tmpfs

nodev bdev

nodev proc

nodev cpuset

nodev cgroup

nodev cgroup2

nodev configfs

nodev tracefs

nodev sockfs

nodev bpf

nodev pipefs

nodev ramfs

nodev devpts

ext3

ext2

ext4

vfat

msdos

exfat

nodev ecryptfs

nodev sdcardfs

nodev cifs

nodev smb3

ntfs

fuseblk

nodev fuse

nodev fusectl

nodev overlay

nodev incremental-fs

f2fs

erofs

nodev selinuxfs

nodev binder

nodev pstore

nodev functionfs

挂载SMB共享

在adb shell 中执行如下命令

命令中的用户名、密码、IP与共享文件夹需要自行更换

mount -vvv -o username=用户名,password=密码,rw,vers=3.1.1,noatime,noperm,noacl,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,echo_interval=10,actimeo=10,file_mode=0777,dir_mode=0777,context=u:object_r:sdcardfs:s0,uid=0,gid=9997 -t cifs //192.168.1.254/android_smb /mnt/runtime/full/emulated/0/android_smb

命令回显如下,没有报错的话基本上就挂载成功了

try '//192.168.1.254/android_smb' type 'cifs' on '/mnt/runtime/full/emulated/0/android_smb'

随后我们可以打开系统自带的文件管理器看看

可以看见,安卓端展示了挂载的文件

终端中检查权限正常

lmi:/ # ls -lh /mnt/runtime/full/emulated/0/android_smb/

total 549M

-rwxrwxrwx 1 root everybody 549M 2025-03-29 13:19 [VCB-Studio]\ No\ Game\ No\ Life\ Zero\ [CM&PV][Ma10p_1080p][x265_flac].mkv

尝试使用小米视频播放该影片

取消SMB共享挂载

执行如下命令,即可取消上述的挂载

umount /mnt/runtime/full/emulated/0/android_smb