mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
Added toolchain/toolkit for 7.2 version
This commit is contained in:
parent
af865b9bf1
commit
756cf92c7f
@ -1,6 +1,7 @@
|
||||
FROM alpine:3.14 AS stage
|
||||
ARG PLATFORMS="@@@PLATFORMS@@@"
|
||||
ARG TOOLKIT_VER="@@@TOOLKIT_VER@@@"
|
||||
ARG GCCLIB_VER="@@@GCCLIB_VER@@@"
|
||||
|
||||
# Copy downloaded toolkits
|
||||
ADD cache /cache
|
||||
@ -12,8 +13,8 @@ RUN for V in ${PLATFORMS}; do \
|
||||
mkdir "/opt/${PLATFORM}" && \
|
||||
tar -xaf "/cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" -C "/opt/${PLATFORM}" --strip-components=9 \
|
||||
"usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}" && \
|
||||
echo "Extracting ${PLATFORM}-toolchain.txz" && \
|
||||
tar -xaf "/cache/${PLATFORM}-toolchain.txz" -C "/opt/${PLATFORM}" --strip-components=1; \
|
||||
echo "Extracting ${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz" && \
|
||||
tar -xaf "/cache/${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz" -C "/opt/${PLATFORM}" --strip-components=1; \
|
||||
KVER_MAJOR="`echo ${KVER} | rev | cut -d. -f2- | rev`"; \
|
||||
if [ ! -d "/opt/linux-${KVER_MAJOR}.x" -a -f "/cache/linux-${KVER_MAJOR}.x.txz" ]; then \
|
||||
echo "Extracting linux-${KVER_MAJOR}.x.txz" && \
|
||||
@ -25,7 +26,7 @@ RUN for V in ${PLATFORMS}; do \
|
||||
done
|
||||
|
||||
# Final image
|
||||
FROM debian:8-slim
|
||||
FROM debian:9-slim
|
||||
ENV SHELL=/bin/bash \
|
||||
ARCH=x86_64
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
bromolow 3.10.108
|
||||
apollolake 4.4.180
|
||||
broadwell 4.4.180
|
||||
broadwellnk 4.4.180
|
||||
denverton 4.4.180
|
||||
geminilake 4.4.180
|
||||
v1000 4.4.180
|
||||
r1000 4.4.180
|
||||
epyc7002 5.10.55
|
@ -1,7 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CACHE_DIR="cache"
|
||||
PLATFORM_FILE="PLATFORMS"
|
||||
#SERVER="https://archive.synology.com"
|
||||
SERVER="https://global.download.synology.com"
|
||||
#https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/
|
||||
|
||||
declare -A URIS
|
||||
declare -A PLATFORMS
|
||||
|
||||
URIS["apollolake"]="Intel%20x86%20Linux%20|%20%28Apollolake%29"
|
||||
URIS["broadwell"]="Intel%20x86%20Linux%20|%20%28Broadwell%29"
|
||||
URIS["broadwellnk"]="Intel%20x86%20Linux%20|%20%28Broadwellnk%29"
|
||||
URIS["bromolow"]="Intel%20x86%20linux%20|%20%28Bromolow%29"
|
||||
URIS["denverton"]="Intel%20x86%20Linux%20|%20%28Denverton%29"
|
||||
URIS["geminilake"]="Intel%20x86%20Linux%20|%20%28GeminiLake%29"
|
||||
URIS["v1000"]="Intel%20x86%20Linux%20|%20%28V1000%29"
|
||||
URIS["r1000"]="AMD%20x86%20Linux%20|%20%28r1000%29"
|
||||
URIS["epyc7002"]="AMD%20x86%20Linux%20Linux%20|%20%28epyc7002%29"
|
||||
PLATFORMS["7.1"]="apollolake:4.4.180 broadwell:4.4.180 broadwellnk:4.4.180 bromolow:3.10.108 denverton:4.4.180 geminilake:4.4.180 v1000:4.4.180 r1000:4.4.180 epyc7002:5.10.55"
|
||||
PLATFORMS["7.2"]="apollolake:4.4.302 broadwell:4.4.302 broadwellnk:4.4.302 bromolow:3.10.108 denverton:4.4.302 geminilake:4.4.302 v1000:4.4.302 r1000:4.4.302 epyc7002:5.10.55"
|
||||
|
||||
mkdir -p ${CACHE_DIR}
|
||||
|
||||
###############################################################################
|
||||
function trap_cancel() {
|
||||
@ -13,77 +32,62 @@ cd `dirname $0`
|
||||
|
||||
###############################################################################
|
||||
function prepare() {
|
||||
declare -A URLS
|
||||
|
||||
URLS["apollolake"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Apollolake%29/apollolake-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["broadwell"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Broadwell%29/broadwell-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["broadwellnk"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Broadwellnk%29/broadwellnk-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["bromolow"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20linux%203.10.108%20%28Bromolow%29/bromolow-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["denverton"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Denverton%29/denverton-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["geminilake"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28GeminiLake%29/geminilake-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["v1000"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28V1000%29/v1000-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["r1000"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/AMD%20x86%20Linux%204.4.180%20%28r1000%29/r1000-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
URLS["epyc7002"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/AMD%20x86%20Linux%20Linux%205.10.55%20%28epyc7002%29/epyc7002-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
#
|
||||
URLS["apollolake-4.4.180"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/apollolake/linux-4.4.x.txz"
|
||||
URLS["broadwell-4.4.180"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/broadwell/linux-4.4.x.txz"
|
||||
URLS["broadwellnk-4.4.180"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/broadwellnk/linux-4.4.x.txz"
|
||||
URLS["bromolow-3.10.108"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/bromolow/linux-3.10.x.txz"
|
||||
URLS["denverton-4.4.180"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/denverton/linux-4.4.x.txz"
|
||||
URLS["geminilake-4.4.180"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/geminilake/linux-4.4.x.txz"
|
||||
URLS["v1000-4.4.180"]="https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/7.0-41890/v1000/linux-4.4.x.txz"
|
||||
|
||||
# Read platforms/kerver version
|
||||
echo "Reading platforms"
|
||||
declare -A PLATFORMS
|
||||
while read PLATFORM KVER; do
|
||||
PLATFORMS[${PLATFORM}]="${KVER}"
|
||||
done < ${PLATFORM_FILE}
|
||||
|
||||
# Download toolkits
|
||||
mkdir -p ${CACHE_DIR}
|
||||
|
||||
for PLATFORM in ${!PLATFORMS[@]}; do
|
||||
KVER="${PLATFORMS[${PLATFORM}]}"
|
||||
for P in ${PLATFORMS[${TOOLKIT_VER}]}; do
|
||||
PLATFORM="`echo ${P} | cut -d':' -f1`"
|
||||
KVER="`echo ${P} | cut -d':' -f2`"
|
||||
# Dev
|
||||
echo -n "Checking ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... "
|
||||
if [ ! -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" ]; then
|
||||
URL="https://global.download.synology.com/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
URL="${SERVER}/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
echo -e "No\nDownloading ${URL}"
|
||||
curl -L "${URL}" -o "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"`
|
||||
if [ ${STATUS} -ne 200 ]; then
|
||||
rm -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "OK"
|
||||
fi
|
||||
echo -n "Checking ${CACHE_DIR}/${PLATFORM}-toolchain.txz... "
|
||||
if [ ! -f "${CACHE_DIR}/${PLATFORM}-toolchain.txz" ]; then
|
||||
URL=${URLS["${PLATFORM}"]}
|
||||
# Toolchain
|
||||
URI="`echo ${URIS[${PLATFORM}]} | sed "s/|/${KVER}/"`"
|
||||
URL="${SERVER}/download/ToolChain/toolchain/${TOOLCHAIN_VER}/${URI}/${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
FILENAME="${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz"
|
||||
echo -n "Checking ${CACHE_DIR}/${FILENAME}... "
|
||||
if [ ! -f "${CACHE_DIR}/${FILENAME}" ]; then
|
||||
echo -e "No\nDownloading ${URL}"
|
||||
curl -L "${URL}" -o "${CACHE_DIR}/${PLATFORM}-toolchain.txz"
|
||||
STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/${FILENAME}"`
|
||||
if [ ${STATUS} -ne 200 ]; then
|
||||
rm -f "${CACHE_DIR}/${FILENAME}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "OK"
|
||||
fi
|
||||
done
|
||||
|
||||
for KERNEL in 3.10.x 4.4.x 5.10.x; do
|
||||
URL=${URLS["${KERNEL}"]}
|
||||
[ -z "${URL}" ] && continue
|
||||
echo -n "Checking ${CACHE_DIR}/linux-${KERNEL}.txz... "
|
||||
if [ ! -f "${CACHE_DIR}/linux-${KERNEL}.txz" ]; then
|
||||
echo -e "No\nDownloading ${URL}"
|
||||
curl -L "${URL}" -o "${CACHE_DIR}/linux-${KERNEL}.txz"
|
||||
else
|
||||
echo "OK"
|
||||
fi
|
||||
done
|
||||
# for KERNEL in 3.10.x 4.4.x 5.10.x; do
|
||||
# URL=${URLS["${KERNEL}"]}
|
||||
# [ -z "${URL}" ] && continue
|
||||
# echo -n "Checking ${CACHE_DIR}/linux-${KERNEL}.txz... "
|
||||
# if [ ! -f "${CACHE_DIR}/linux-${KERNEL}.txz" ]; then
|
||||
# echo -e "No\nDownloading ${URL}"
|
||||
# STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/linux-${KERNEL}.txz"`
|
||||
# if [ ${STATUS} -ne 200 ]; then
|
||||
# rm -f "${CACHE_DIR}/linux-${KERNEL}.txz"
|
||||
# exit 1
|
||||
# fi
|
||||
# else
|
||||
# echo "OK"
|
||||
# fi
|
||||
# done
|
||||
|
||||
# Generate Dockerfile
|
||||
echo "Generating Dockerfile"
|
||||
cp Dockerfile.template Dockerfile
|
||||
VALUE=""
|
||||
for PLATFORM in ${!PLATFORMS[@]}; do
|
||||
VALUE+="${PLATFORM}:${PLATFORMS[${PLATFORM}]} "
|
||||
done
|
||||
sed -i "s|@@@PLATFORMS@@@|${VALUE::-1}|g" Dockerfile
|
||||
sed -i "s|@@@PLATFORMS@@@|${PLATFORMS[${TOOLKIT_VER}]}|g" Dockerfile
|
||||
sed -i "s|@@@TOOLKIT_VER@@@|${TOOLKIT_VER}|g" Dockerfile
|
||||
sed -i "s|@@@GCCLIB_VER@@@|${GCCLIB_VER}|g" Dockerfile
|
||||
}
|
||||
|
||||
# 7.0
|
||||
@ -96,9 +100,18 @@ function prepare() {
|
||||
#docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER}
|
||||
|
||||
# 7.1
|
||||
TOOLKIT_VER="7.1"
|
||||
TOOLCHAIN_VER="7.1-42661"
|
||||
GCCLIB_VER="gcc850_glibc226"
|
||||
# TOOLKIT_VER="7.1"
|
||||
# TOOLCHAIN_VER="7.1-42661"
|
||||
# GCCLIB_VER="gcc850_glibc226"
|
||||
# prepare
|
||||
# echo "Building ${TOOLKIT_VER}"
|
||||
# docker image rm fbelavenuto/syno-compiler:${TOOLKIT_VER} >/dev/null 2>&1
|
||||
# docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER}
|
||||
|
||||
# 7.2
|
||||
TOOLKIT_VER="7.2"
|
||||
TOOLCHAIN_VER="7.2-63134"
|
||||
GCCLIB_VER="gcc1220_glibc236"
|
||||
prepare
|
||||
echo "Building ${TOOLKIT_VER}"
|
||||
docker image rm fbelavenuto/syno-compiler:${TOOLKIT_VER} >/dev/null 2>&1
|
||||
|
Loading…
x
Reference in New Issue
Block a user