init
This commit is contained in:
13
scripts/docker-entrypoint.sh
Executable file
13
scripts/docker-entrypoint.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
trap "echo 'Stopping...'; exit 0" SIGTERM
|
||||
|
||||
# source yocto
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${SCRIPT_DIR}/setup-env.sh"
|
||||
|
||||
# add add source to all zsh instances
|
||||
#echo "souce \"${YOCTO_ROOT}(scripts/setup-env.sh\"" >> ~/.zshrc
|
||||
|
||||
# trap to keep container open in background
|
||||
/bin/zsh
|
||||
#while true; do sleep 1; done
|
||||
47
scripts/setup-env.sh
Executable file
47
scripts/setup-env.sh
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${SCRIPT_DIR}/setup-paths.sh"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
# Sanity checks
|
||||
if [ ! -d "${POKY_DIR}" ]; then
|
||||
echo "ERROR: poky not found at ${POKY_DIR}"
|
||||
return 1 2>/dev/null || exit 1
|
||||
fi
|
||||
|
||||
# Create cache directories
|
||||
mkdir -p "${DL_DIR}"
|
||||
mkdir -p "${SSTATE_DIR}"
|
||||
|
||||
# Initialize Yocto build environment
|
||||
source "${POKY_DIR}/oe-init-build-env" "${YOCTO_ROOT}/${BUILD_DIR}"
|
||||
|
||||
# Inject cache paths into local.conf (idempotent)
|
||||
CONF_FILE="${BUILDDIR}/conf/local.conf"
|
||||
|
||||
START_MARKER="# >>> yocto cache (managed) >>>"
|
||||
END_MARKER="# <<< yocto cache (managed) <<<"
|
||||
|
||||
# Remove old managed block if present
|
||||
sed -i "/${START_MARKER}/,/${END_MARKER}/d" "${CONF_FILE}"
|
||||
|
||||
# Append managed block
|
||||
cat <<EOF >> "${CONF_FILE}"
|
||||
|
||||
${START_MARKER}
|
||||
DL_DIR = "${DL_DIR}"
|
||||
SSTATE_DIR = "${SSTATE_DIR}"
|
||||
${END_MARKER}
|
||||
EOF
|
||||
|
||||
|
||||
echo
|
||||
echo "Yocto environment ready:"
|
||||
echo " BUILD_DIR = ${BUILDDIR}"
|
||||
echo " DL_DIR = ${DL_DIR}"
|
||||
echo " SSTATE_DIR = ${SSTATE_DIR}"
|
||||
echo
|
||||
12
scripts/setup-paths.sh
Normal file
12
scripts/setup-paths.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ---- Configuration -------------------------------------------------
|
||||
YOCTO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BUILD_DIR="${1:-build}"
|
||||
|
||||
CACHE_BASE="${YOCTO_ROOT}/.cache/yocto"
|
||||
DL_DIR="${CACHE_BASE}/downloads"
|
||||
SSTATE_DIR="${CACHE_BASE}/sstate"
|
||||
|
||||
POKY_DIR="${YOCTO_ROOT}/poky"
|
||||
# -------------------------------------------------------------------
|
||||
17
scripts/start-docker.sh
Executable file
17
scripts/start-docker.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${SCRIPT_DIR}/setup-paths.sh"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
mkdir -p "${YOCTO_ROOT}/.cache/docker/"
|
||||
touch "${YOCTO_ROOT}/.cache/docker/zsh_history"
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
mkdir -p "${DL_DIR}"
|
||||
mkdir -p "${SSTATE_DIR}"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
docker compose -f $YOCTO_ROOT/docker-compose.yaml up -d
|
||||
Reference in New Issue
Block a user