mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 10:46:32 +00:00
[AZ-187] Docker & hardening
Made-with: Cursor
This commit is contained in:
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
L4T_VERSION="${L4T_VERSION:-r36.4.4}"
|
||||
L4T_DIR="${L4T_DIR:-/opt/nvidia/Linux_for_Tegra}"
|
||||
ROOTFS_DIR="${ROOTFS_DIR:-${L4T_DIR}/rootfs}"
|
||||
|
||||
l4t_download_url() {
|
||||
local version="$1"
|
||||
local major minor patch
|
||||
IFS='.' read -r major minor patch <<< "${version#r}"
|
||||
echo "https://developer.nvidia.com/downloads/embedded/l4t/r${major}_release_v${minor}.${patch}/release/Jetson_Linux_${version}_aarch64.tbz2"
|
||||
}
|
||||
|
||||
rootfs_download_url() {
|
||||
local version="$1"
|
||||
local major minor patch
|
||||
IFS='.' read -r major minor patch <<< "${version#r}"
|
||||
echo "https://developer.nvidia.com/downloads/embedded/l4t/r${major}_release_v${minor}.${patch}/release/Tegra_Linux_Sample-Root-Filesystem_${version}_aarch64.tbz2"
|
||||
}
|
||||
|
||||
if [[ -f "$L4T_DIR/flash.sh" ]]; then
|
||||
echo "L4T BSP already installed at $L4T_DIR"
|
||||
else
|
||||
echo "L4T BSP not found at $L4T_DIR"
|
||||
echo "Downloading and installing L4T $L4T_VERSION..."
|
||||
|
||||
bsp_url="$(l4t_download_url "$L4T_VERSION")"
|
||||
rootfs_url="$(rootfs_download_url "$L4T_VERSION")"
|
||||
tmp_dir="$(mktemp -d)"
|
||||
|
||||
echo " Downloading BSP from $bsp_url ..."
|
||||
wget -q --show-progress -O "$tmp_dir/bsp.tbz2" "$bsp_url"
|
||||
|
||||
echo " Downloading Sample Root Filesystem from $rootfs_url ..."
|
||||
wget -q --show-progress -O "$tmp_dir/rootfs.tbz2" "$rootfs_url"
|
||||
|
||||
echo " Extracting BSP to $(dirname "$L4T_DIR")/ ..."
|
||||
sudo mkdir -p "$(dirname "$L4T_DIR")"
|
||||
sudo tar -xjf "$tmp_dir/bsp.tbz2" -C "$(dirname "$L4T_DIR")"
|
||||
|
||||
echo " Extracting rootfs to $L4T_DIR/rootfs/ ..."
|
||||
sudo tar -xjf "$tmp_dir/rootfs.tbz2" -C "$L4T_DIR/rootfs/"
|
||||
|
||||
echo " Running apply_binaries.sh ..."
|
||||
sudo "$L4T_DIR/apply_binaries.sh"
|
||||
|
||||
rm -rf "$tmp_dir"
|
||||
echo "L4T $L4T_VERSION installed to $L4T_DIR"
|
||||
fi
|
||||
|
||||
for tool in flash.sh odmfuse.sh; do
|
||||
if [[ ! -f "$L4T_DIR/$tool" ]]; then
|
||||
echo "ERROR: $L4T_DIR/$tool not found after L4T setup" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
NV_RELEASE="$L4T_DIR/rootfs/etc/nv_tegra_release"
|
||||
if [[ -f "$NV_RELEASE" ]]; then
|
||||
echo "L4T release: $(head -1 "$NV_RELEASE")"
|
||||
fi
|
||||
Reference in New Issue
Block a user