-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.sh
More file actions
72 lines (64 loc) · 2.02 KB
/
deploy.sh
File metadata and controls
72 lines (64 loc) · 2.02 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
set -e
echo "🚀 Linux Kernel Dev Environment 2025 - Lightweight Setup"
# Check Docker
command -v docker >/dev/null || { echo "❌ Install Docker first"; exit 1; }
# Build container
echo "📦 Building container..."
docker build -t kernel-dev .
# Create simple runner
cat > run.sh << 'EOF'
#!/bin/bash
# Single script to rule them all
ACTION=${1:-help}
case "$ACTION" in
"start"|"dev")
echo "🐧 Starting development environment..."
exec docker run -it --rm --privileged \
$([ -e /dev/kvm ] && echo "--device=/dev/kvm") \
-v "$(pwd)/workspace:/workspace" \
-v "$(pwd)/scripts:/scripts" \
-v "$(pwd)/configs:/configs" \
-p 2222:2222 -p 56741:56741 \
kernel-dev
;;
"setup")
echo "🔧 Setting up workspace..."
docker run --rm \
-v "$(pwd)/workspace:/workspace" \
-v "$(pwd)/scripts:/scripts" \
kernel-dev setup
;;
"build")
echo "🏗️ Building kernel..."
docker run --rm \
-v "$(pwd)/workspace:/workspace" \
-v "$(pwd)/scripts:/scripts" \
kernel-dev build
;;
"clean")
echo "🧹 Cleaning workspace..."
rm -rf workspace/{linux,busybox,syzkaller,rootfs*}
docker system prune -f
;;
*)
echo "Usage: $0 [start|setup|build|clean]"
echo " start - Enter development container"
echo " setup - Download kernel sources"
echo " build - Build kernel and rootfs (includes configuration)"
echo " clean - Clean everything"
;;
esac
EOF
chmod +x run.sh
mkdir -p workspace
echo "✅ Setup complete!"
echo ""
echo "🎯 Quick start:"
echo " ./run.sh setup # Download sources"
echo " ./run.sh start # Enter dev environment"
echo " ./run.sh build # Build everything (auto-configures kernel)"
echo ""
echo "🐛 Inside container:"
echo " ./scripts/run-qemu.sh # Test kernel"
echo " ./scripts/run-qemu.sh debug # Debug mode"