树莓派3b+ openwrt 21.02.3添加exfat支持
因何而起,从网上花了40大洋买了一个比较水的128G U盘,准备格式化为ext4以供openwrt的samba来使用。但经两天的努力后,发现无法格式化为ext4,只能格式化为exfat。但是 树莓派的3B+ openwrt 21.02.3版本,在仓库里面无法安装kmod-fs-exfat。简单来说,就是系统不支持exfat格式的U盘。为了不浪费这40大洋,只能自己想方法解决问题。
解决思路
1. 直接在网上搜索,看看有没有大神已经编译好了相对应内核的模块。经过半天的百度,没有找到答案。(此方案放弃)
2. 自己动手编译,这个比较麻烦,找到的教程,都是说编译单个app或者直接就编译内核。为了让钱花得值,决定自己动手编译单个内核模块
编译前准备工作
1. 确认内核版本号
2. 根据内核版本号,找到openwrt的sdk工具,链接地址:https://downloads.openwrt.org/releases/21.02.3/targets/bcm27xx/bcm2710/
对应的openwrt-sdk为 https://downloads.openwrt.org/releases/21.02.3/targets/bcm27xx/bcm2710/openwrt-sdk-21.02.3-bcm27xx-bcm2710_gcc-8.4.0_musl.Linux-x86_64.tar.xz sha256sum: 713f9e589178825d0abf639c29eaedda0344a1e6fab50caa873fffbd8691d804
3. 最重要的,你需要有一台装有Linux系统的电脑(此处以ubuntu为例子,openwrt-sdk配置教程 https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem )
4.说不下去了,直接提供我编译的kmod-fs-exfat的(对应内核版本为5.4.188)
链接: https://pan.baidu.com/s/1DZOCM5NPoS_qgTYcdumWxQ?pwd=j6im 提取码: j6im 复制这段内容后打开百度网盘手机App,操作更方便哦
使用说明
直接安装kmod-fs-exfat_5.4.188+5.12.3-1_aarch64_cortex-a56.ipk就可以了,其余的exfat-fsck,exfat-mkfs是用于exfat文件系统的管理使用的(可以考虑不安装),fuse-utils,libfuse是可以用于fuse block挂载的,实际测试没有用到
kmod-fs-exfat 安装命令
# 192.168.x.x 是你openwrt的ip地址,使用pscp命令,复制kmod-fs-exfat文件到/tmp目录里面 pscp -scp kmod-fs-exfat_5.4.188+5.12.3-1_aarch64_cortex-a53.ipk root@192.168.x.x:/tmp/ # 使用 opkg安装 opkg install /tmp/ kmod-fs-exfat_5.4.188+5.12.3_1_aarch64_cortex-a53.ipk # 使用insmod加载内核模块 insmod exfat # 重启电脑,使装载的内核模块生效 reboot
装载exfat内核模块的效果,如下图
成功挂载exfat格式的U盘,效果如下图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决