前言 本教程基于 LEDE 项目 首先需要安装Linux虚拟机或者使用WSL虚拟环境，这里使用后者 正文 准备工作 首先自然是配置依赖环境 sudo apt -y update sudo apt -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync 因为要对LEDE固件做一些修改，所以我们需要去Folk一份源码 然后把刚刚Folk的仓库clone到本地 x> 请不要下载Zip存档，这样操作会丢失git配置，导致后续操作无法继续 # PS: 这里换成自己的仓库的地址 git clone https://github.com/chr233/lede !> 请确保处于大小写敏感的文件系统下，否则无法使用配置工具（NTFS和FAT都不行, EXT4可以） 然后使用命令就可以进入配置菜单了 make menuconfig 编译配置菜单说明（部分） Target System (Broadcom BCM27xx) #选择处理器架构 Subtarget (BCM2711 boards (64 bit)) #选择处理器 Target Profile (Raspberry Pi 4B/400/4CM (64bit)) #预制配置文件 Target Images #固件映像设置 ramdisk # 内存盘, 硬件内存充裕的话可以打开，有效提升性能 Compression # 压缩等级(none表示不压缩) Root filesystem archives #根文件系统存档类型 cpio.gz tar.gz Root filesystem images #根文件系统格式 ext4 #适用于大容量闪存,易于修改分区大小,没有恢复出厂设置的功能 squashfs #适用于小容量闪存，不可修改分区大小，有恢复出厂设置的功能 Gzip images #Gzip存档 Image Options Kernel partition size #内核分区大小，建议64M到256M，足够了 Root filesystem partition size #跟文件系统分区大小，根据闪存大小自行设定 Make /var persistent #持久化/var(开启后重启软路由/var下内容会保留) 以下设置一般无需修改 Enable experimental features by default #默认启用实验性功能 Global build settings #全局编译设置 Advanced configuration options (for developers) #高级选项(仅供开发者) Build the OpenWrt Image Builder #编译OpenWrt镜像编译器 Build the OpenWrt SDK #编译OpenWrt SDK Package the OpenWrt-based Toolchain #打包OpenWrt工具链 Image configuration #镜像选项 以下可以根据需要选择要加入的附加组件 i> M代表编译成ipk包，不内置在固件中，可以之后单独安装，*代表内置在固件中 Base system #基本组件 Administration #管理员工具 Boot Loaders #引导程序 Development #开发者工具 Extra packages #额外包 Firmware #固件工具 Fonts #字体 Kernel modules #内核模块 Languages #额外的语言(Python3,PHP,NodeJS等) Libraries #系统库 LuCI #LuCI插件(一般只需修改应用和主题) Collections #合集 Modules #模块 Applications #应用程序 Themes #主题 Protocols #协议支持 Libraries #运行库 default-settings # 默认选项(自动配置语言包) Mail #邮件 Multimedia #多媒体 Network #网络相关 Sound #音频 Utilities #各类实用软件(比如VIM) Xorg 修改完成以后，按左右方向键选中Save，按回车键保存，无需修改文件名，保存为.config即可 准备工作 为了能使用GitHub Action进行在线编译，我们需要将.config上传到自己的仓库中，可以手动上传，也可以在.gitignore中设置取消忽略 直接在.gitignore中删除/.config行即可 然后就可以使用Git进行提交了 git add .config git commit -m "update" git push 如果一切顺利，可以在自己的仓库中看到.config文件，这个就是编译配置文件了 然后切换到Actions页，点击绿色按钮启用GitHub Actions功能 然后回到仓库主页，右下角找到Release，进入Release页 点击Draft a new release创建新的Release 标题和内容可以随便填，最后点Publish release发布 然后回到Actions页，可以看到自动触发了一个workflow 然后只需要耐心等待，如果编译成功，图标会变成绿色，点进去就能下载编译好的固件了 OpenWrt_buildinfo #固件编译信息，没什么用 OpenWrt_firmware #编译好的固件本体 解压即可得到指定分区格式的镜像 如果是第一次刷入，需要刷入带factory的镜像 如果是通过网页升级，则需要上传带sysupgrade镜像 OpenWrt_package #编译好的ipk包 可以在刷入固件以后手动安装到OpenWrt中
前言 本文仅供学习探讨之用，如果侵犯您的权益请联系我删除。 上文 [post cid="714"/] [post cid="1347"/] [post cid="1365"/] [post cid="1383"/] 前情提要 距离上一篇文章已经过去一年多了，前两天心血来潮找了最新版本研究了一下，熬了两天夜也没整明白，不打算继续研究下去了，做个笔记记录下分析过程。 @> 本文适用于小黑盒 1.3.191，小黑盒历史版本参考我的仓库 @> 全文评论后可见
去除梅林固件虚拟内存插件的最低速度限制
前言 一直在使用KoolShare的改版梅林固件，前段时间软件仓库的虚拟内存插件增加了速度限制，但是绕过也很简单。 PS：我个人觉得这个速度限制完全没有必要，路由器本身性能就这样了，读写速度持平内部闪存我觉得都可以接受。 绕过步骤 使用SSH登陆路由器，如果没有开启的话在【系统管理】->【系统设置】【服务】->【启用 SSH】里开启。 使用vi打开脚本：vi /koolshare/scripts/swap_make.sh 定位到95行，把return 1改成return 0 然后直接新建虚拟内存即可，虽然会提示速度不达标，但是仍然可以正常使用。