Linux arm 内核选项和busybox选项 加载tun模块 -- 创建/dev/tun 字符设备

本文介绍如何在Linux环境下配置TUN/TAP虚拟网卡,包括解决常见错误如找不到'/dev/net/tun'文件的问题。通过修改源码和正确指定设备文件,实现虚拟网卡tap0的成功创建。

Linux arm 内核选项和busybox选项 加载tun/tap模块 – 创建/dev/tun 字符设备

可以参考博客1: linux下TUN/TAP虚拟网卡的使用

可以参考博客2:ubuntu下安装tun模块图文详细教程

1.查看tuncrl --h ,帮助说明,其中 -f 指定设备文件 -u 指定用户

~ # tunctl --h
tunctl: unrecognized option `--h'
BusyBox v1.26.2 (2021-01-27 10:35:44 CST) multi-call binary.
Usage: tunctl [-f device] ([-t name] | -d name) [-u owner] [-g group] [-b]

2.创建虚拟网卡tap0 ---- 报错 tunctl: can’t open ‘/dev/net/tun’: No such file or directory

tunctl -t tap0 -u root 

在这里插入图片描述

解决办法:指定用户为user 指定设备为/dev/tun 注意是绝对路径,若提示/dev/tun ,则得重新编译内核选项和busybox选项,具体如下图操作
在这里插入图片描述
配置完成后,可以看到home/xiening/mtk7561/Project/profile/CT/CMCC_AP_WIFI6_W30S_Demo/kernel_3_18.config多了CONFIG_TUN=y
在这里插入图片描述

重新编译busybox126,并再次打包成固件tclinux.bin

./cool 1 busybox126
./cool 1 f
tunctl -t tap0 -u user -f /dev/tun

现在好了:

在这里插入图片描述

3.不想每次指定设备文件类型-f /dev/tun 改下源码:将/dev/net/tun 修改为/dev/tun
在这里插入图片描述
修改后如下图,重新编译即可
在这里插入图片描述
最后完成效果如下:
在这里插入图片描述

可以参考博客:Linux wget命令详解

linux 查看系统信息命令:

在这里插入图片描述
在这里插入图片描述

### 解决 TWRP 下 `ntfs-3g` 挂载 NTFS 分区时出现 `unknown filesystem type 'ntfs-3g'` 的问题 当尝试在 TWRP (Team Win Recovery Project) 中挂载 NTFS 文件系统的分区时,如果遇到错误提示 `unknown filesystem type 'ntns-3g'`[^1],这通常是因为设备的内核未编译支持 NTFS 文件系统或者缺少必要的驱动程序。 以下是针对该问题的具体分析解决方案: #### 1. **确认设备内核是否支持 NTFS** 许多 Android 设备默认使用的内核可能不包含对 NTFS 文件系统的原生支持。因此,在执行挂载命令之前,需验证当前运行的内核是否已启用 NTFS 支持功能。可以通过以下方法检查: ```bash cat /proc/filesystems | grep ntfs ``` 如果没有返回任何结果,则表明当前内核尚未提供对该文件系统的支持[^2]。 #### 2. **安装兼容的模块或工具包** 对于某些较新的设备而言,即使其官方恢复模式无法直接处理 NTFS 类型磁盘,也可以通过刷入第三方修补后的 busybox 或其他扩展工具来实现间接操作。具体做法如下: - 利用 fastboot 将定制版 recovery image 安装到目标装置上; - 进入新设置好的环境后下载并部署专门用于安卓平台上的 ntfs-3g 应用版本; 注意:此过程涉及到高级技术操作,并存在一定风险,请务必提前做好数据备份工作以防万一发生意外情况造成不可逆损害! #### 3. **手动加载所需模块** 假如上述两种方式均不可行的话,还可以考虑采用更底层的办法——即主动调用 insmod 命令显式引入相应的 kernel module 。不过需要注意的是 ,由于不同厂商可能会基于安全等因素考量而锁定此类权限,所以实际可实施程度会有所差异。 例如,可以尝试下面这条指令序列(假设已经获取 root 权限以及正确路径下的二进制文件存在): ```bash insmod /path/to/ntfs.ko mount -t ntfs-3g /dev/block/device_name /mnt/sdcard/ ``` 以上每一步都需要精确无误地完成才能最终达成目的。另外提醒一下各位朋友,在做这些改动前一定要仔细阅读相关文档资料,确保了解清楚每一个环节背后的工作原理及其潜在影响后再行动哦~ ```python # Python 示例代码仅作为说明用途,无需执行 def check_ntfs_support(): with open('/proc/filesystems', 'r') as f: content = f.read() if 'ntfs' in content: return True else: return False if not check_ntfs_support(): print("Kernel does not support NTFS.") else: print("NTFS is supported by the current kernel.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值