Prerequisites and System Requirements
Complete guide to system requirements, dependencies, and host machine setup for building PanOS
Prerequisites and System Requirements
Host Operating System
PanOS can only be built on Linux systems. Specifically:
Supported Distributions
- ✅ Ubuntu 20.04 LTS or newer
- ✅ Ubuntu 22.04 LTS
- ✅ Ubuntu 24.04 LTS
- ✅ Debian 11 (Bullseye) or newer
- ✅ Debian 12 (Bookworm)
- ✅ Linux Mint (based on Ubuntu)
- ✅ Pop!_OS (based on Ubuntu)
Not Supported
- ❌ macOS (use Docker or virtual machine)
- ❌ Windows (use WSL2 or virtual machine)
- ❌ Other Linux distributions (may work but untested)
Hardware Requirements
| Component | Minimum | Recommended | Optimal |
|---|---|---|---|
| CPU | 2 cores | 4 cores | 8+ cores |
| RAM | 4 GB | 8 GB | 16+ GB |
| Disk | 30 GB free | 50 GB free | 100+ GB free |
| Network | Required | Required | Required |
Details
CPU Cores: The build process uses all available cores with make -j$(nproc). More cores = faster compilation.
RAM: Minimum 4 GB required; kernel compilation can consume 2-3 GB at peak.
Disk Space: You need:
- 10 GB for Linux kernel source
- 5 GB for build artifacts
- 5 GB for temporary files
- 10+ GB buffer for safety
Network: Required to download:
- Linux kernel source (~120 MB)
- Node.js binary (~50 MB)
- Busybox binary (~5 MB)
System Packages Required
PanOS build requires these development tools:
Essential Build Tools
build-essential # gcc, make, gcc-c++
bc # Calculator (needed for kernel build)
bison # Parser generator (kernel needs it)
flex # Lexical analyzer (kernel needs it)Linux Kernel Development
libelf-dev # ELF library (kernel compression)
libssl-dev # OpenSSL development (kernel crypto)Bootloader & ISO Creation
grub-common # GRUB bootloader utilities
xorriso # ISO image creationQEMU Virtualization
qemu-system-x86 # QEMU x86_64 emulatorDownload & Extraction
wget # HTTP downloader
xz-utils # XZ compression utilities
cpio # Archive format toolPre-Installation Checklist
Before installing, verify your system:
1. Check Linux Distribution
lsb_release -aOutput should show Ubuntu/Debian variant.
2. Check Free Disk Space
df -hLook for partition with 30+ GB free. Example:
/dev/sda1 500G 200G 300G 40% /The / partition has 300G free - sufficient.
3. Check RAM
free -hShould show 4+ GB available.
4. Check CPU Cores
nprocShould show 2+ cores. Example output: 8 (8 cores available).
5. Test Network
ping -c 1 8.8.8.8Should succeed. PanOS needs internet to download sources.
Installation Steps
Method 1: Automatic Installation (Recommended)
Run the dependency installation script:
cd ~/Desktop/Atlas/PanOS
./0-install-deps.shThis script will:
- ✅ Check if running on Linux
- ✅ Detect your distribution
- ✅ Prompt for
sudopassword - ✅ Update package lists with
apt-get update - ✅ Install all required packages
- ✅ Verify installation success
Time Required: 5-10 minutes depending on internet speed.
Method 2: Manual Installation
If automatic installation fails, install manually:
sudo apt-get update
sudo apt-get install -y \
build-essential \
bc \
bison \
flex \
libelf-dev \
libssl-dev \
wget \
xz-utils \
cpio \
grub-common \
xorriso \
qemu-system-x86Verification Commands
After installation, verify each component:
Verify Build Tools
gcc --version # GNU C Compiler
make --version # Make build systemVerify Kernel Build Tools
which bc # Calculator
which bison # Parser generator
which flex # Lexical analyzer
pkg-config --modversion openssl # OpenSSL versionVerify Bootloader Tools
which grub-mkrescue # GRUB ISO maker
which xorrisofs # ISO image creatorVerify QEMU
qemu-system-x86_64 --version # Should show version
which qemu-system-x86_64 # Should show pathAll commands should return without errors.
Troubleshooting Pre-Installation Issues
Error: "Command not found"
Some required tools are missing. Run:
./0-install-deps.shThen verify again.
Error: "Permission denied" running 0-install-deps.sh
Make script executable:
chmod +x 0-install-deps.sh
./0-install-deps.shError: "Not enough space"
You need 30+ GB free. Check with:
df -h /If not enough space, either:
- Delete unnecessary files
- Use external hard drive
- Create a separate partition
Error: "Unable to locate package"
Package lists are outdated. Run:
sudo apt-get update
./0-install-deps.shError: "E: Could not open lock file"
Another apt-get process is running. Wait and retry:
sleep 30
./0-install-deps.shOptional but Recommended
For better development experience, also install:
sudo apt-get install -y \
git # Version control
vim # Text editor
curl # HTTP client (alternative to wget)
htop # System monitor
screen # Terminal multiplexerEnvironment Variables
The build scripts use these environment variables:
# Home directory (automatically set)
$HOME
# Workspace for build artifacts
$HOME/pan-os-iso/build/
# Kernel source directory
$HOME/pan-os-iso/kernel-src/
# Rootfs directory
$HOME/pan-os-iso/rootfs/You can override with:
export WORKSPACE="/custom/path"System Limits
Some systems have limits that may affect the build:
File Descriptor Limit
ulimit -n # Check open files limit
# Should be >= 1024If too low, increase:
ulimit -n 4096 # Temporary
# Or edit /etc/security/limits.conf for permanentProcess Limits
ulimit -u # Check process limit
# Should be high enough (usually 63000+)Next Steps
Once prerequisites are verified:
- ✅ System Ready: Proceed to 03-installation.mdx
- 📖 Understand the Build: Read 04-building.mdx
- 🔨 Start Building: Run
./1-build.sh
Previous: 01-getting-started.mdx
Next: 03-installation.mdx