树莓派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盘,效果如下图

    

 

posted @ 2022-06-10 10:44  sndnvaps  阅读(1248)  评论(0编辑  收藏  举报