Repository navigation
Expand file tree
/
Copy pathkernel-builder.sh
More file actions
executable file
路54 lines (46 loc) 路 1.68 KB
/
Copy pathkernel-builder.sh
File metadata and controls
executable file
路54 lines (46 loc) 路 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
cd "$(dirname "$(realpath "$0")")"
RED="\e[31m"
RESET="\e[0m"
GREEN="\e[32m"
YELLOW="\e[33m"
# Check if Docker is installed
if ! command -v docker &> /dev/null; then
echo -e "${RED}Error: Docker is not installed! Please install Docker first.${RESET}"
exit 1
fi
# Check if --reinstall flag is provided
if [[ "$1" == "--reinstall" ]]; then
echo -e "${YELLOW}Removing previous kernel-builder container and volume...${RESET}"
# Remove any containers using the kernel-builder image with its volumes
docker ps -a -q --filter ancestor=kernel-builder | xargs -r docker rm -f
docker volume rm kernel-builder-data 2>/dev/null
rm -f .installed
# Reinstall
echo -e "${GREEN}Reinstalling kernel-builder...${RESET}"
xz -d -c kernel-builder.tar.xz | docker load && touch ".installed"
else
# Normal flow: check if installed, install if needed
if [ -f ".installed" ]; then
echo -e "${GREEN}kernel-builder is already installed${RESET}"
else
# First time installation
echo -e "${GREEN}Installing kernel-builder...${RESET}"
xz -d -c kernel-builder.tar.xz | docker load && touch ".installed"
fi
fi
# Run the container
# Run the container
echo -e "${GREEN}Launching kernel-builder container...${RESET}"
if [ -d "$HOME/toolchains" ]; then
docker run -it --privileged \
-v kernel-builder-data:/home/kernel-builder \
-v "$HOME:/home/kernel-builder/$USER" \
-v "$HOME/toolchains:/home/kernel-builder/toolchains" \
kernel-builder
else
docker run -it --privileged \
-v kernel-builder-data:/home/kernel-builder \
-v "$HOME:/home/kernel-builder/$USER" \
kernel-builder
fi