1715173329 / blog

一点文字垃圾。
https://blog.imouto.in/
Creative Commons Attribution Share Alike 4.0 International
18 stars 1 forks source link

ImmortalWrt SDK 使用说明 #7

Open 1715173329 opened 1 year ago

1715173329 commented 1 year ago

什么是 SDK

SDK 集成了完整构建系统以及预编译工具链,旨在为特定目标交叉编译软件包,而无需从头开始构建整个 ImmortalWrt。

SDK 可以做的事:

SDK 不能做的事:

依赖要求

要使用 SDK,需要预先安装对应的依赖,请参阅 Build system setup

[!IMPORTANT] 上述软件包只包括使用 SDK 所必须的依赖。部分软件包可能需要额外安装依赖,请善用搜索引擎。


获取 SDK

您可以下载由 ImmortalWrt 项目提供的预编译 SDK,也可以自行从源码构建,在 buildroot 中启用 CONFIG_SDK 即可。预编译 SDK 与固件映像位于同一文件夹中。

如需下载 ImmortalWrt 提供的预编译 SDK,可通过以下方法确定路径:

  1. 登录 LuCI 后台,在 概览 -> 状态 中找到 目标平台 以及 固件版本
  2. 以 x86/64 为例,目标平台为 x86/64,固件版本为 ImmortalWrt 21.02.6,则对应 SDK 目录为: releases/21.02.6/targets/x86/64
  3. SDK 统一命名为 immortalwrt-sdk[-<version>]-<platform>_gcc-<gcc_version>_musl.Linux-<sdk_arch>.tar.xzimmortalwrt-sdk-21.02.6-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar.xz

[!WARNING] ImmortalWrt 项目所提供的预编译 SDK 仅供 x86_64 / AMD64 平台使用,其他架构则需要自行构建。

[!NOTE] 在稳定发布版本中,SDK 所包含的源码会被固定版本,因此无法收到当前分支最新的更新。 您可以从当前分支的快照版本中获取 SDK,如 releases/21.02-SNAPSHOT/targets/x86/64 或 sdk:x86-64-21.02-SNAPSHOT

[!NOTE] ImmortalWrt 目前拥有多个镜像站,您可以从最快的镜像中下载: https://downloads.immortalwrt.org/acknowledgements.html

使用 SDK

[!WARNING] 以下所有操作必须以非特权用户(non-root)身份执行。

初始化 SDK

编译软件包

由于默认情况下 SDK 会选中所有软件包,在未经额外配置的情况下,不建议直接使用 make 进行全量编译。 在编译时,您可以指定需要编译的软件包,如:

make package/path/to/package/compile V=s

buildroot 会自动寻找软件包所在目录,所以也可以简化为:

make package/<pkg folder name>/compile V=s

编译完毕后,可以在 bin/packagesbin/targets/<platform>/packages 目录下找到编译好的 .ipk 文件。 可以通过 LuCI 系统 -> 软件包 -> 上传软件包 进行安装。


参考