|
|
@@ -1,111 +0,0 @@
|
|
|
-#!/usr/bin/env bash
|
|
|
-set -euo pipefail
|
|
|
-
|
|
|
-# Quick script to download ALL kernel sources used in test builds and name them properly.
|
|
|
-# Folder name format: "<kernel_version>.<sublevel>-<android_version>-lts"
|
|
|
-# Usage: ./download.sh [target_root]
|
|
|
-# Example: ./download.sh ./kernel_sources_lts
|
|
|
-
|
|
|
-TARGET_ROOT=${1:-"./kernel_sources_lts"}
|
|
|
-
|
|
|
-# Ensure target root exists
|
|
|
-mkdir -p "$TARGET_ROOT"
|
|
|
-
|
|
|
-# Require the 'repo' tool to be installed and available in PATH
|
|
|
-if ! command -v repo >/dev/null 2>&1; then
|
|
|
- echo "Error: 'repo' tool is required but not found in PATH." >&2
|
|
|
- echo "Install instructions: https://source.android.com/docs/setup/build/downloading\n" >&2
|
|
|
- exit 1
|
|
|
-fi
|
|
|
-
|
|
|
-REPO=$(command -v repo)
|
|
|
-
|
|
|
-# Determine CPU count for parallel sync
|
|
|
-CPU_COUNT() {
|
|
|
- if command -v nproc >/dev/null 2>&1; then
|
|
|
- nproc
|
|
|
- elif command -v sysctl >/dev/null 2>&1; then
|
|
|
- sysctl -n hw.ncpu
|
|
|
- else
|
|
|
- echo 4
|
|
|
- fi
|
|
|
-}
|
|
|
-
|
|
|
-# Branch format used by AOSP kernel manifest
|
|
|
-# common-${android_version}-${kernel_version}-${os_patch_level}
|
|
|
-
|
|
|
-download_one() {
|
|
|
- local android_version="$1" # e.g. android14
|
|
|
- local kernel_version="$2" # e.g. 6.1
|
|
|
- local os_patch_level="$3" # e.g. lts
|
|
|
-
|
|
|
- local formatted_branch="${android_version}-${kernel_version}-${os_patch_level}"
|
|
|
- local work_dir="${TARGET_ROOT}/${kernel_version}.X-${android_version}-${os_patch_level}"
|
|
|
-
|
|
|
- echo "\n=== Downloading sources for ${kernel_version}.X-${android_version}-${os_patch_level} ==="
|
|
|
- mkdir -p "$work_dir"
|
|
|
- pushd "$work_dir" >/dev/null
|
|
|
-
|
|
|
- # Initialize manifest
|
|
|
- "$REPO" init --depth=1 \
|
|
|
- --u https://android.googlesource.com/kernel/manifest \
|
|
|
- -b "common-${formatted_branch}" \
|
|
|
- --repo-rev=v2.16
|
|
|
-
|
|
|
- # Handle deprecated branches (matches build.yml logic)
|
|
|
- local remote_branch
|
|
|
- remote_branch=$(git ls-remote https://android.googlesource.com/kernel/common "${formatted_branch}" || true)
|
|
|
- local default_manifest_path=".repo/manifests/default.xml"
|
|
|
- if echo "$remote_branch" | grep -q deprecated; then
|
|
|
- sed -i "s/\"${formatted_branch}\"/\"deprecated\/${formatted_branch}\"/g" "$default_manifest_path"
|
|
|
- fi
|
|
|
-
|
|
|
- # Sync
|
|
|
- "$REPO" --trace sync -c -j"$(CPU_COUNT)" --no-tags --fail-fast
|
|
|
-
|
|
|
- # Extract sublevel from common/Makefile
|
|
|
- local sublevel="X"
|
|
|
- if [ -f "common/Makefile" ]; then
|
|
|
- sublevel=$(grep '^SUBLEVEL = ' common/Makefile | awk '{print $3}') || true
|
|
|
- if [ -z "$sublevel" ]; then
|
|
|
- sublevel="X"
|
|
|
- fi
|
|
|
- fi
|
|
|
-
|
|
|
- popd >/dev/null
|
|
|
-
|
|
|
- # Final name with actual sublevel
|
|
|
- local final_dir="${TARGET_ROOT}/${kernel_version}.${sublevel}-${android_version}-${os_patch_level}"
|
|
|
- if [ "$final_dir" != "$work_dir" ]; then
|
|
|
- mv "$work_dir" "$final_dir"
|
|
|
- fi
|
|
|
- echo "Saved to: $final_dir"
|
|
|
-}
|
|
|
-
|
|
|
-# All kernel combinations from test build workflow
|
|
|
-# Android 12 - 5.10
|
|
|
-download_one "android12" "5.10" "2021-08" # oldest (sub_level: 43)
|
|
|
-download_one "android12" "5.10" "lts" # LTS
|
|
|
-
|
|
|
-# Android 13 - 5.10
|
|
|
-download_one "android13" "5.10" "2022-04" # oldest (sub_level: 107)
|
|
|
-download_one "android13" "5.10" "lts" # LTS
|
|
|
-
|
|
|
-# Android 13 - 5.15
|
|
|
-download_one "android13" "5.15" "2022-06" # oldest (sub_level: 41)
|
|
|
-download_one "android13" "5.15" "lts" # LTS
|
|
|
-
|
|
|
-# Android 14 - 5.15
|
|
|
-download_one "android14" "5.15" "2023-06" # oldest (sub_level: 110)
|
|
|
-download_one "android14" "5.15" "lts" # LTS
|
|
|
-
|
|
|
-# Android 14 - 6.1
|
|
|
-download_one "android14" "6.1" "2023-06" # oldest (sub_level: 25)
|
|
|
-download_one "android14" "6.1" "lts" # LTS
|
|
|
-download_one "android14" "6.1" "2025-05" # specific (sub_level: 134)
|
|
|
-
|
|
|
-# Android 15 - 6.6
|
|
|
-download_one "android15" "6.6" "2024-07" # oldest (sub_level: 30)
|
|
|
-download_one "android15" "6.6" "lts" # LTS
|
|
|
-
|
|
|
-echo "\nAll kernel sources downloaded to: $TARGET_ROOT"
|