Add VMware Workstation installation script for CachyOS
- Automated installer that handles VMware Workstation setup - Builds kernel modules with clang/lld for CachyOS compatibility - Includes dependency checking and installation - Comprehensive error handling and logging - README with usage instructions and troubleshooting 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c08daf3f85
commit
77693e96f7
2 changed files with 271 additions and 248 deletions
328
README.md
328
README.md
|
|
@ -1,10 +1,18 @@
|
||||||
# CachyOS Shell Environment Setup
|
# CachyOS Setup Scripts
|
||||||
|
|
||||||
A comprehensive shell environment setup script for CachyOS (or any Arch-based distro) featuring modern CLI tools, Dracula theming, and a beautiful terminal experience.
|
A collection of installation and setup scripts for CachyOS Linux, featuring modern CLI tools, shell environment setup with Dracula theming, and system configuration scripts.
|
||||||
|
|
||||||
## Features
|
## Scripts
|
||||||
|
|
||||||
### Modern CLI Tools
|
### Shell Environment Setup
|
||||||
|
|
||||||
|
A comprehensive shell environment setup script featuring modern CLI tools, Dracula theming, and a beautiful terminal experience.
|
||||||
|
|
||||||
|
**File:** `install.sh`
|
||||||
|
|
||||||
|
#### Features
|
||||||
|
|
||||||
|
##### Modern CLI Tools
|
||||||
- **eza** - Modern replacement for `ls` with git integration and icons
|
- **eza** - Modern replacement for `ls` with git integration and icons
|
||||||
- **bat** - Better `cat` with syntax highlighting (Dracula theme)
|
- **bat** - Better `cat` with syntax highlighting (Dracula theme)
|
||||||
- **fd** - Faster and more user-friendly alternative to `find`
|
- **fd** - Faster and more user-friendly alternative to `find`
|
||||||
|
|
@ -22,7 +30,7 @@ A comprehensive shell environment setup script for CachyOS (or any Arch-based di
|
||||||
- **hyperfine** - Command-line benchmarking tool
|
- **hyperfine** - Command-line benchmarking tool
|
||||||
- **tokei** - Code statistics tool
|
- **tokei** - Code statistics tool
|
||||||
|
|
||||||
### Development Tools
|
##### Development Tools
|
||||||
- **neovim** - Modern vim-based text editor
|
- **neovim** - Modern vim-based text editor
|
||||||
- **NvChad** - Blazing fast Neovim config
|
- **NvChad** - Blazing fast Neovim config
|
||||||
- **lazygit** - Simple terminal UI for git
|
- **lazygit** - Simple terminal UI for git
|
||||||
|
|
@ -31,39 +39,79 @@ A comprehensive shell environment setup script for CachyOS (or any Arch-based di
|
||||||
- **zellij** - Terminal workspace with layouts (Dracula theme)
|
- **zellij** - Terminal workspace with layouts (Dracula theme)
|
||||||
- **navi** - Interactive cheatsheet tool
|
- **navi** - Interactive cheatsheet tool
|
||||||
|
|
||||||
### Shell Environment
|
##### Shell Environment
|
||||||
- **zsh** - Powerful shell with Oh-My-Zsh
|
- **zsh** - Powerful shell with Oh-My-Zsh
|
||||||
- **oh-my-zsh** - Framework for managing zsh configuration
|
- **oh-my-zsh** - Framework for managing zsh configuration
|
||||||
- **zsh-syntax-highlighting** - Fish-like syntax highlighting
|
- **zsh-syntax-highlighting** - Fish-like syntax highlighting
|
||||||
- **zsh-autosuggestions** - Fish-like autosuggestions
|
- **zsh-autosuggestions** - Fish-like autosuggestions
|
||||||
- **Ghostty** - Fast, native terminal emulator (Dracula theme)
|
- **Ghostty** - Fast, native terminal emulator (Dracula theme)
|
||||||
|
|
||||||
### Theming
|
### VMware Workstation Installation
|
||||||
All tools are configured with **Dracula theme** for a consistent, beautiful dark theme experience.
|
|
||||||
|
|
||||||
## Directory Structure
|
**File:** `install-vmware-workstation.sh`
|
||||||
|
|
||||||
```
|
Automated installation script for VMware Workstation on CachyOS. This script:
|
||||||
cachyos-setup/
|
- Installs VMware Workstation from the official bundle
|
||||||
├── install.sh # Main installation script
|
- Builds kernel modules (vmmon, vmnet) with clang/lld to match CachyOS kernel
|
||||||
├── README.md # This file
|
- Loads kernel modules and starts services
|
||||||
├── dotfiles/ # Shell configuration files
|
- Verifies installation
|
||||||
│ ├── .zshrc # Main zsh configuration
|
|
||||||
│ ├── .zshenv # Zsh environment variables
|
#### Prerequisites
|
||||||
│ ├── .bashrc # Bash configuration (fallback)
|
|
||||||
│ ├── .bash_logout # Bash logout script
|
- CachyOS Linux
|
||||||
│ ├── .profile # Profile configuration
|
- VMware Workstation bundle file (download from VMware website)
|
||||||
│ └── .zsh/ # Zsh completions
|
- Root/sudo access
|
||||||
├── config/ # Application configurations
|
|
||||||
│ ├── starship.toml # Starship prompt config
|
#### Usage
|
||||||
│ ├── zellij/ # Zellij workspace config
|
|
||||||
│ ├── yazi/ # Yazi file manager config
|
```bash
|
||||||
│ ├── fastfetch/ # Fastfetch system info config
|
# Download VMware Workstation bundle from https://www.vmware.com/products/workstation-pro.html
|
||||||
│ └── htop/ # Htop config
|
|
||||||
└── fonts/ # JetBrains Mono Nerd Font
|
# Make the script executable
|
||||||
|
chmod +x install-vmware-workstation.sh
|
||||||
|
|
||||||
|
# Run with sudo (auto-detects bundle in ~/Downloads)
|
||||||
|
sudo ./install-vmware-workstation.sh
|
||||||
|
|
||||||
|
# Or specify bundle path explicitly
|
||||||
|
sudo ./install-vmware-workstation.sh /path/to/VMware-Workstation-Full-*.bundle
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation
|
#### What it does
|
||||||
|
|
||||||
|
1. Checks for required packages (kernel headers, build tools, clang, lld)
|
||||||
|
2. Installs missing dependencies via pacman
|
||||||
|
3. Runs VMware Workstation installer
|
||||||
|
4. Builds vmmon and vmnet kernel modules using clang (matching CachyOS kernel compiler)
|
||||||
|
5. Installs and loads kernel modules
|
||||||
|
6. Enables and starts VMware services
|
||||||
|
7. Verifies everything is working
|
||||||
|
|
||||||
|
#### Troubleshooting
|
||||||
|
|
||||||
|
If the installation fails:
|
||||||
|
|
||||||
|
1. Check kernel headers are installed:
|
||||||
|
```bash
|
||||||
|
pacman -Q linux-cachyos-headers
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Verify build tools:
|
||||||
|
```bash
|
||||||
|
pacman -Q base-devel clang lld
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Check VMware service status:
|
||||||
|
```bash
|
||||||
|
systemctl status vmware
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Verify kernel modules:
|
||||||
|
```bash
|
||||||
|
lsmod | grep -E "vmmon|vmnet"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Shell Environment Installation
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
- A fresh CachyOS installation (or Arch-based distro)
|
- A fresh CachyOS installation (or Arch-based distro)
|
||||||
|
|
@ -103,230 +151,14 @@ The installation script will:
|
||||||
|
|
||||||
**Note:** The script will automatically backup your existing configurations to `~/.config_backup_<timestamp>/`
|
**Note:** The script will automatically backup your existing configurations to `~/.config_backup_<timestamp>/`
|
||||||
|
|
||||||
## Post-Installation
|
## Contributing
|
||||||
|
|
||||||
After the installation completes:
|
Feel free to submit issues or pull requests for improvements.
|
||||||
|
|
||||||
1. **Logout and login** (or reboot) to apply the shell changes
|
|
||||||
2. **Open Ghostty terminal** to experience your new setup
|
|
||||||
3. **Run `nvim`** for the first time to complete NvChad plugin installation
|
|
||||||
4. **Enjoy your new environment!**
|
|
||||||
|
|
||||||
## Key Features & Usage
|
|
||||||
|
|
||||||
### Enhanced Shell Commands
|
|
||||||
|
|
||||||
The new `.zshrc` includes many convenient aliases:
|
|
||||||
|
|
||||||
#### File Operations
|
|
||||||
```bash
|
|
||||||
ls # eza with icons and colors
|
|
||||||
ll # eza long format
|
|
||||||
la # eza show all files
|
|
||||||
lt # eza tree view
|
|
||||||
cat # bat with syntax highlighting
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Navigation
|
|
||||||
```bash
|
|
||||||
cd <dir> # Uses zoxide (learns your habits)
|
|
||||||
.. # Go up one directory
|
|
||||||
... # Go up two directories
|
|
||||||
mkcd # Create directory and cd into it
|
|
||||||
```
|
|
||||||
|
|
||||||
#### System Monitoring
|
|
||||||
```bash
|
|
||||||
top # Opens btop
|
|
||||||
du # Uses dust
|
|
||||||
df # Uses duf
|
|
||||||
ps # Uses procs
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Git
|
|
||||||
```bash
|
|
||||||
lg # Opens lazygit
|
|
||||||
gs # git status
|
|
||||||
ga # git add
|
|
||||||
gc # git commit
|
|
||||||
gd # git diff (with delta)
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Utilities
|
|
||||||
```bash
|
|
||||||
help # Uses tldr for quick examples
|
|
||||||
zconfig # Edit .zshrc
|
|
||||||
nconfig # Edit nvim config
|
|
||||||
sconfig # Edit starship config
|
|
||||||
zj # Start zellij with dracula theme
|
|
||||||
```
|
|
||||||
|
|
||||||
### Atuin Shell History
|
|
||||||
|
|
||||||
Press `Ctrl+R` to search through your shell history with atuin's powerful interface.
|
|
||||||
|
|
||||||
### FZF Fuzzy Finding
|
|
||||||
|
|
||||||
- `Ctrl+T` - Search for files
|
|
||||||
- `Ctrl+R` - Search command history (atuin)
|
|
||||||
- `Alt+C` - Change directory with fuzzy search
|
|
||||||
|
|
||||||
### Starship Prompt
|
|
||||||
|
|
||||||
The starship prompt shows:
|
|
||||||
- Current directory
|
|
||||||
- Git branch and status
|
|
||||||
- Programming language versions (Python, Node, Rust, Go, etc.)
|
|
||||||
- Docker context
|
|
||||||
- Custom git remote icons (GitHub, GitLab, etc.)
|
|
||||||
|
|
||||||
### Zellij Terminal Workspace
|
|
||||||
|
|
||||||
Start zellij with Dracula theme:
|
|
||||||
```bash
|
|
||||||
zj
|
|
||||||
```
|
|
||||||
|
|
||||||
Key bindings:
|
|
||||||
- `Ctrl+O` - Open zellij commands
|
|
||||||
- `Ctrl+T` - New tab
|
|
||||||
- `Ctrl+P` - New pane
|
|
||||||
- `Ctrl+N` - Switch panes
|
|
||||||
|
|
||||||
## Customization
|
|
||||||
|
|
||||||
### Change Themes
|
|
||||||
|
|
||||||
All configurations support Dracula theme by default, but you can customize:
|
|
||||||
|
|
||||||
- **Starship**: Edit `~/.config/starship.toml`
|
|
||||||
- **Ghostty**: Edit `~/.config/ghostty/config`
|
|
||||||
- **Zellij**: Edit `~/.config/zellij/config.kdl`
|
|
||||||
- **Bat**: Change `BAT_THEME` in `.zshrc`
|
|
||||||
- **FZF**: Modify `FZF_DEFAULT_OPTS` in `.zshrc`
|
|
||||||
|
|
||||||
### Add More Tools
|
|
||||||
|
|
||||||
To add more Rust-based tools:
|
|
||||||
```bash
|
|
||||||
cargo install <tool-name>
|
|
||||||
```
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### Fonts not showing correctly
|
|
||||||
```bash
|
|
||||||
fc-cache -f ~/.local/share/fonts
|
|
||||||
```
|
|
||||||
|
|
||||||
### Zsh not default shell
|
|
||||||
```bash
|
|
||||||
chsh -s $(which zsh)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Cargo tools not in PATH
|
|
||||||
Add to `.zshrc`:
|
|
||||||
```bash
|
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
```
|
|
||||||
|
|
||||||
### NvChad plugins not loading
|
|
||||||
```bash
|
|
||||||
nvim
|
|
||||||
# Wait for installation to complete
|
|
||||||
# Press Enter when prompted
|
|
||||||
```
|
|
||||||
|
|
||||||
## Included Configurations
|
|
||||||
|
|
||||||
### .zshrc Features
|
|
||||||
- Oh-My-Zsh with plugins
|
|
||||||
- Starship prompt
|
|
||||||
- Zoxide integration
|
|
||||||
- Dracula theme for fzf, bat
|
|
||||||
- Atuin history search
|
|
||||||
- Modern CLI tool aliases
|
|
||||||
- Helpful functions (extract, mkcd)
|
|
||||||
- Git aliases
|
|
||||||
- Custom completions support
|
|
||||||
|
|
||||||
### Starship Configuration
|
|
||||||
- Minimalist design
|
|
||||||
- Git integration with custom icons
|
|
||||||
- Language detection (Python, Node, Rust, Go, etc.)
|
|
||||||
- Custom git remote symbols
|
|
||||||
- Dracula color scheme
|
|
||||||
|
|
||||||
### Ghostty Configuration
|
|
||||||
- Dracula color scheme
|
|
||||||
- JetBrains Mono Nerd Font
|
|
||||||
- Custom padding
|
|
||||||
- Shell integration
|
|
||||||
- No close confirmation
|
|
||||||
|
|
||||||
## Package List
|
|
||||||
|
|
||||||
### System Packages (pacman)
|
|
||||||
```
|
|
||||||
zsh git curl wget base-devel fzf ripgrep bat fd xclip htop
|
|
||||||
ruby rubygems python python-pip fontconfig unzip neovim go
|
|
||||||
```
|
|
||||||
|
|
||||||
### Cargo Tools
|
|
||||||
```
|
|
||||||
starship zoxide yazi-fm yazi-cli zellij navi eza bat fd-find
|
|
||||||
dust duf procs bottom sd tealdeer git-delta atuin hyperfine tokei
|
|
||||||
```
|
|
||||||
|
|
||||||
### Additional Tools
|
|
||||||
- lazygit
|
|
||||||
- btop
|
|
||||||
- ghostty (via AUR)
|
|
||||||
|
|
||||||
## Backup Information
|
|
||||||
|
|
||||||
The install script automatically backs up:
|
|
||||||
- All existing dotfiles in your home directory
|
|
||||||
- All existing configs in `~/.config/`
|
|
||||||
|
|
||||||
Backups are stored in: `~/.config_backup_<timestamp>/`
|
|
||||||
|
|
||||||
## Manual Installation Steps
|
|
||||||
|
|
||||||
If you prefer to install components individually:
|
|
||||||
|
|
||||||
1. **Install Rust**:
|
|
||||||
```bash
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Install Oh-My-Zsh**:
|
|
||||||
```bash
|
|
||||||
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Install a tool via cargo**:
|
|
||||||
```bash
|
|
||||||
cargo install <tool-name>
|
|
||||||
```
|
|
||||||
|
|
||||||
4. **Copy configs**:
|
|
||||||
```bash
|
|
||||||
cp dotfiles/.zshrc ~/
|
|
||||||
cp -r config/* ~/.config/
|
|
||||||
```
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
|
|
||||||
- **Dracula Theme**: https://draculatheme.com/
|
|
||||||
- **NvChad**: https://nvchad.com/
|
|
||||||
- **Starship**: https://starship.rs/
|
|
||||||
- **Oh-My-Zsh**: https://ohmyz.sh/
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Free to use and modify for personal use.
|
MIT License - Feel free to use and modify these scripts.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Enjoy your beautiful new shell environment! 🚀**
|
**Enjoy your CachyOS setup! 🚀**
|
||||||
|
|
|
||||||
191
install-vmware-workstation.sh
Executable file
191
install-vmware-workstation.sh
Executable file
|
|
@ -0,0 +1,191 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# VMware Workstation Installation Script for CachyOS
|
||||||
|
# This script installs VMware Workstation and builds kernel modules for CachyOS
|
||||||
|
#
|
||||||
|
# Usage: sudo ./install-vmware-workstation.sh [path-to-vmware-bundle]
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Colors for output
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
# Logging functions
|
||||||
|
log_info() {
|
||||||
|
echo -e "${GREEN}[INFO]${NC} $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
log_warn() {
|
||||||
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
log_error() {
|
||||||
|
echo -e "${RED}[ERROR]${NC} $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if running as root
|
||||||
|
if [ "$EUID" -ne 0 ]; then
|
||||||
|
log_error "This script must be run as root (use sudo)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find VMware installer bundle
|
||||||
|
VMWARE_BUNDLE="$1"
|
||||||
|
if [ -z "$VMWARE_BUNDLE" ]; then
|
||||||
|
log_info "Searching for VMware Workstation bundle in ~/Downloads..."
|
||||||
|
VMWARE_BUNDLE=$(find /home/*/Downloads -name "VMware-Workstation-Full-*.bundle" -type f 2>/dev/null | head -n 1)
|
||||||
|
|
||||||
|
if [ -z "$VMWARE_BUNDLE" ]; then
|
||||||
|
log_error "VMware Workstation bundle not found in Downloads"
|
||||||
|
log_error "Usage: sudo $0 [path-to-vmware-bundle]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$VMWARE_BUNDLE" ]; then
|
||||||
|
log_error "VMware bundle not found: $VMWARE_BUNDLE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
log_info "Found VMware bundle: $VMWARE_BUNDLE"
|
||||||
|
|
||||||
|
# Check for required packages
|
||||||
|
log_info "Checking for required packages..."
|
||||||
|
REQUIRED_PACKAGES="linux-cachyos-headers base-devel clang lld"
|
||||||
|
MISSING_PACKAGES=""
|
||||||
|
|
||||||
|
for pkg in $REQUIRED_PACKAGES; do
|
||||||
|
if ! pacman -Q $pkg &>/dev/null; then
|
||||||
|
MISSING_PACKAGES="$MISSING_PACKAGES $pkg"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$MISSING_PACKAGES" ]; then
|
||||||
|
log_warn "Missing required packages:$MISSING_PACKAGES"
|
||||||
|
log_info "Installing missing packages..."
|
||||||
|
pacman -S --needed --noconfirm $MISSING_PACKAGES
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create /etc/init.d if it doesn't exist (needed for VMware installer)
|
||||||
|
if [ ! -d /etc/init.d ]; then
|
||||||
|
log_info "Creating /etc/init.d directory..."
|
||||||
|
mkdir -p /etc/init.d
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make installer executable
|
||||||
|
log_info "Making installer executable..."
|
||||||
|
chmod +x "$VMWARE_BUNDLE"
|
||||||
|
|
||||||
|
# Run VMware installer
|
||||||
|
log_info "Running VMware Workstation installer..."
|
||||||
|
if "$VMWARE_BUNDLE" --console --required --eulas-agreed; then
|
||||||
|
log_info "VMware Workstation installed successfully"
|
||||||
|
else
|
||||||
|
log_error "VMware Workstation installation failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if vmware is installed
|
||||||
|
if ! command -v vmware &>/dev/null; then
|
||||||
|
log_error "VMware installation verification failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
VMWARE_VERSION=$(vmware --version)
|
||||||
|
log_info "Installed: $VMWARE_VERSION"
|
||||||
|
|
||||||
|
# Build kernel modules
|
||||||
|
log_info "Building VMware kernel modules..."
|
||||||
|
KERNEL_VERSION=$(uname -r)
|
||||||
|
BUILD_DIR="/tmp/vmware-build-$$"
|
||||||
|
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
|
||||||
|
# Extract module sources
|
||||||
|
log_info "Extracting module sources..."
|
||||||
|
tar -xf /usr/lib/vmware/modules/source/vmmon.tar -C "$BUILD_DIR/"
|
||||||
|
tar -xf /usr/lib/vmware/modules/source/vmnet.tar -C "$BUILD_DIR/"
|
||||||
|
|
||||||
|
# Build vmmon module
|
||||||
|
log_info "Building vmmon module..."
|
||||||
|
if make -C "$BUILD_DIR/vmmon-only" CC=clang LD=ld.lld HOSTLD=ld.lld &>/dev/null; then
|
||||||
|
log_info "vmmon module built successfully"
|
||||||
|
else
|
||||||
|
log_error "Failed to build vmmon module"
|
||||||
|
log_warn "Check /tmp/vmware-build-$$/vmmon-only for details"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build vmnet module
|
||||||
|
log_info "Building vmnet module..."
|
||||||
|
if make -C "$BUILD_DIR/vmnet-only" CC=clang LD=ld.lld HOSTLD=ld.lld &>/dev/null; then
|
||||||
|
log_info "vmnet module built successfully"
|
||||||
|
else
|
||||||
|
log_error "Failed to build vmnet module"
|
||||||
|
log_warn "Check /tmp/vmware-build-$$/vmnet-only for details"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install kernel modules
|
||||||
|
log_info "Installing kernel modules..."
|
||||||
|
mkdir -p "/lib/modules/$KERNEL_VERSION/misc"
|
||||||
|
cp "$BUILD_DIR/vmmon-only/vmmon.ko" "/lib/modules/$KERNEL_VERSION/misc/"
|
||||||
|
cp "$BUILD_DIR/vmnet-only/vmnet.ko" "/lib/modules/$KERNEL_VERSION/misc/"
|
||||||
|
|
||||||
|
# Update module dependencies
|
||||||
|
log_info "Updating module dependencies..."
|
||||||
|
depmod -a
|
||||||
|
|
||||||
|
# Load kernel modules
|
||||||
|
log_info "Loading kernel modules..."
|
||||||
|
modprobe vmmon
|
||||||
|
modprobe vmnet
|
||||||
|
|
||||||
|
# Verify modules are loaded
|
||||||
|
if lsmod | grep -q vmmon && lsmod | grep -q vmnet; then
|
||||||
|
log_info "Kernel modules loaded successfully"
|
||||||
|
else
|
||||||
|
log_error "Failed to load kernel modules"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start VMware services
|
||||||
|
log_info "Starting VMware services..."
|
||||||
|
systemctl enable vmware
|
||||||
|
systemctl start vmware
|
||||||
|
|
||||||
|
# Verify service status
|
||||||
|
if systemctl is-active --quiet vmware; then
|
||||||
|
log_info "VMware services started successfully"
|
||||||
|
else
|
||||||
|
log_error "VMware services failed to start"
|
||||||
|
systemctl status vmware --no-pager
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
log_info "Cleaning up build directory..."
|
||||||
|
rm -rf "$BUILD_DIR"
|
||||||
|
|
||||||
|
# Print summary
|
||||||
|
echo
|
||||||
|
log_info "====================================="
|
||||||
|
log_info "VMware Workstation Installation Complete!"
|
||||||
|
log_info "====================================="
|
||||||
|
echo
|
||||||
|
log_info "Version: $VMWARE_VERSION"
|
||||||
|
log_info "Kernel modules: vmmon, vmnet"
|
||||||
|
log_info "Service status: $(systemctl is-active vmware)"
|
||||||
|
echo
|
||||||
|
log_info "You can launch VMware Workstation with:"
|
||||||
|
echo " - GUI: vmware"
|
||||||
|
echo " - Player: vmplayer"
|
||||||
|
echo
|
||||||
|
log_info "To check service status: systemctl status vmware"
|
||||||
|
echo
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
Reference in a new issue