AI教我玩路由03

用什么工具才能单独编译ipk包呢?

答案就是使用sdk单独编译自己所需要的ipk包,大大节省时间和流量 !小内存路由器的福音!

wget https://downloads.immortalwrt.org/releases/24.10.1/targets/x86/64/immortalwrt-sdk-24.10.1-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst


下载SDK:(以OpenWrt为例)

访问OpenWrt官方下载页面:https://downloads.openwrt.org/
选择与您路由器硬件匹配的版本和架构
下载文件名类似"openwrt-sdk-<版本>-<架构>.tar.xz"的文件

1.安装zstd解压工具(如未安装):

# Ubuntu/Debian
sudo apt install zstd
# CentOS/RHEL
sudo yum install zstd
# Windows系统可使用7-Zip ZS版本

2.解压SDK:

tar -I zstd -xvf immortalwrt-sdk-24.10.0-x86-64_gcc-13.3.0_musl.Linux-x86_64.tar.zst
ln -s immortalwrt-sdk-24.10.0-x86-64_gcc-13.3.0_musl.Linux-x86_64 sdk  #软连接
cd sdk

3.设置环境变量:

export STAGING_DIR=$(pwd)/staging_dir
export PATH=$PATH:$(pwd)/staging_dir/toolchain-x86_64_gcc-13.3.0_musl/bin
将您的package目录复制到SDK的package目录下

4.复制您的package目录到SDK中:

cp -r /path/to/your/packages ./package/
列如:hello/packages 中的 helloworld拷贝到sdk/package/

5.选择编译目标:

编译C语言包:
make package/helloworld/compile

make package/helloworld-rust/{clean,compile} V=s

6.获取IPK文件:

编译完成后,IPK文件会生成在:
bin/packages/x86_64/base/*.ipk
IPK文件会生成在bin/packages目录下。

注意:

首先修复Makefile格式问题:
检查Makefile中的缩进(必须使用Tab键)

以上就是编译 C语言 版本的helloworld!!!注意的是Makefile中的缩进(必须使用Tab键)

下面就是rust版的helloworld 注意:

./scripts/feeds install helloworld-rust 执行命令时候
出现:WARNING: No feed for package 'helloworld-rust' found
找不到包的时候
确保已安装Rust工具链
./scripts/feeds install rust
更新并安装依赖
./scripts/feeds update -a

我还是没有编译成功 rust 版本的helloworld!

posted @ 2025-04-19 10:53  土著古  阅读(79)  评论(0)    收藏  举报