Ubuntu 下编译自定义 ImmortalWrt 固件与软件包
1. 前言
iStoreOS 中有许多可安装的软件,但如果需要制作特定的固件或编译开源源码时,就需要自行编译生成所需软件。
2. 所需工具
- Ubuntu 系统(推荐虚拟机)
- VMware 虚拟机
- 相应版本的 SDK 开发包
- SSH 连接工具
- Git(可选)
3. 软件编译
3.1 OpenWrt 与 ImmortalWrt
首先在 VMware 中安装 Ubuntu 系统。可自行选择服务器版或桌面版下载并启动,通过 SSH 连接。
下载对应 SDK 包(中科大镜像等):
搜索 openwrt 或 immortalwrt 获取相应版本 SDK(以 immortalwrt 为例)。
选择对应的处理器型号(例如 mediatek)。
找到如 immortalwrt-sdk-24.10.4-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst 的文件下载并上传到 Ubuntu 解压。
使用如下命令解压:
tar -xvf immortalwrt-sdk-24.10.4-mediatek-filogic_gcc-13.3.0_musl.Linux-x86_64.tar.zst
cd immortalwrt-sdk-24.10.4-mediatek-filogic_gcc-13.3.0_musl.Linux-x86_64/
我们需要安装如下软件依赖:
sudo apt update
sudo apt install -y make python3-pip aria2 genisoimage build-essential gawk gcc-multilib g++-multilib flex bison gettext unzip zlib1g-dev libncurses-dev libssl-dev rsync curl wget python3 python3-venv python3-setuptools file tar git patch libelf-dev libtool autoconf automake subversion xsltproc
其次更新包内容,如果是编译软件就执行:
./scripts/feeds update luci
./scripts/feeds install luci
如果因网络问题无法更新,需修改 feeds.conf.default 的下载链接。
做完上述步骤后,将自己写的软件或 git 下的源码放入当前目录的 package 文件夹下(以 luci-app-parentcontrol 为例)。
然后返回上一级目录编译相应软件包:
cd ..
make package/luci-app-parentcontrol/compile V=s
显示编译成功后,可在 bin/packages/aarch64_cortex-a53/base/ 目录查看打包好的软件包。
将打包好的软件包在浏览器登录相应设备管理页面后上传并安装即可。
3.2 iStoreOS
需要将仓库 git 到本地,或直接在网页下载:
git clone https://github.com/istoreos/istoreos.git
cd istoreos
./scripts/feeds update luci
./scripts/feeds install luci
其余部分与 3.1 的方法相同。
补充:如果是第一次运行打包编译软件会遇到配置界面,只需保存 .config 即可退出该页面,后期编译就不会弹出此页面了。
4. 固件编译
在固件编译上,我们需要下载全部内容:


