openWRT其实也是linux内核,但为了在路由上运行,改动较大,导致一般的jdk包无法使用。
接下来的方式可以将jdk安装到openWRT上,主要步骤如下(可能需要科学上网):
1、下载架构的jdk,这里以aarch64架构,openjdk8 ,版本 8.275.01-r0 为例
http://dl-cdn.alpinelinux.org/alpine/v3.10/community/
下载openjdk8 openjdk8-jre openjdk8-jre-lib openjdk8-jre-base 对应的apk压缩包
也可以在此下载
2、将apk文件放入jdk-apks文件夹
3、在jdk-apks的同级目录创建如下的脚本install.sh,脚本内容根据你的jdk版本和文件夹名称,可以做适当修改。按照步骤1、2的操作则不需要修改
4、将文件和脚本放入openWRT,然后执行脚本
#!/bin/sh
set -o errexit
set -o nounset
set -o pipefail
set -x
REVISION=8.275.01-r0
PACKAGES="openjdk8 openjdk8-jre openjdk8-jre-lib openjdk8-jre-base"
old_pwd=$(pwd)
tmp_dir=$(mktemp -d -t openjdk8-XXXXXXXXXX)
trap "rm -rf $tmp_dir" EXIT
cd "${tmp_dir}"
cp ${old_pwd}/jdk-apks/* ${tmp_dir}/
for package in $PACKAGES; do
tar xzf "${package}-${REVISION}.apk"
done
cd "${old_pwd}"
mv $tmp_dir/usr/lib/jvm/java-1.8-openjdk /opt/java-1.8-openjdk
参考:
[1]: https://gist.github.com/simonswine/64773a80e748f36615e3251234f29d1d