Skip to content

Commit acb26fc

Browse files
authored
Do not re-download Linux kernel tarball (#12)
1 parent b0e2d6f commit acb26fc

3 files changed

Lines changed: 19 additions & 5 deletions

File tree

build.sh

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,24 @@ fetch_sources() {
6666
fetch_git_commit "$ROOT/src/llvm" "$llvm_repo" "$LLVM_BRANCH" "$LLVM_SHA"
6767
fetch_git_commit "$ROOT/src/musl" "$musl_repo" "$MUSL_BRANCH" "$MUSL_SHA"
6868

69-
local SOURCE_TARBALL=linux-$LINUX_KERNEL_VERSION.tar.xz
70-
curl -sSL "https://cdn.kernel.org/pub/linux/kernel/v${LINUX_KERNEL_VERSION%%.*}.x/$SOURCE_TARBALL" \
71-
-o "$ROOT/src/$SOURCE_TARBALL"
69+
local LOCAL_TARBALL_PATH="$ROOT/src/$LINUX_KERNEL_TARBALL_BASENAME"
70+
if [ ! -f "$LOCAL_TARBALL_PATH" ]; then
71+
echo "Missing $LOCAL_TARBALL_PATH, downloading from $LINUX_KERNEL_TARBALL_URL..."
72+
curl -sSL "$LINUX_KERNEL_TARBALL_URL" -o "$LOCAL_TARBALL_PATH"
73+
fi
7274

7375
check_repo_sha "$ROOT/src/llvm" "$LLVM_SHA"
7476
check_repo_sha "$ROOT/src/musl" "$MUSL_SHA"
77+
78+
local computed_sha256="$(sha256sum "$LOCAL_TARBALL_PATH" | sed 's/[ \t].*$//')"
79+
if [ "$computed_sha256" = "$LINUX_KERNEL_SHA256" ]; then
80+
echo "Checked SHA256 of $LOCAL_TARBALL_PATH"
81+
else
82+
echo "Unexpected SHA256 of $LOCAL_TARBALL_PATH:"
83+
echo " expected: $LINUX_KERNEL_SHA256"
84+
echo " computed: $computed_sha256"
85+
exit 1
86+
fi
7587
}
7688

7789
build_in_docker() {

scripts/build-linux-header.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ cd "$(dirname "$0")"
55
. ./global-vars
66

77
KERNEL_ARCH=arm64
8-
TARBALL_BASENAME="linux-$LINUX_KERNEL_VERSION.tar.xz"
9-
TARBALL_PATH="$SRC_DIR/$TARBALL_BASENAME"
8+
TARBALL_PATH="$SRC_DIR/$LINUX_KERNEL_TARBALL_BASENAME"
109

1110
mkdir "$BUILD_DIR"
1211
tar -axf "$TARBALL_PATH" -C "$BUILD_DIR" --strip 1

scripts/global-vars

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ fi
3232
# Any recent version should work, so this variable is defined here instead
3333
# of $REPO_ROOT/config.
3434
LINUX_KERNEL_VERSION=6.1.58
35+
LINUX_KERNEL_TARBALL_BASENAME="linux-$LINUX_KERNEL_VERSION.tar.xz"
36+
LINUX_KERNEL_TARBALL_URL="https://cdn.kernel.org/pub/linux/kernel/v${LINUX_KERNEL_VERSION%%.*}.x/$LINUX_KERNEL_TARBALL_BASENAME"
37+
LINUX_KERNEL_SHA256=ce987ed3d2f640b3a2a62a0a8573d538a36dfd3cc31e2d7a239ce5a16c1c21ad
3538

3639
CPU_COUNT="$(nproc)"
3740

0 commit comments

Comments
 (0)