Running JNode in VirtualBox¶
VirtualBox is required for JDWP remote debugging and provides a more desktop-like experience.
Create VM¶
- New VM → Name:
JNode→ Type:Linux→ Version:Other Linux (32-bit) - Memory: 1024 MB (minimum 512 MB)
- Hard Disk: Do not add a virtual hard disk — we boot from ISO
- System → Motherboard: Enable I/O APIC
- System → Processor: 1 CPU, enable PAE/NX
- Storage → Controller: IDE: Add Optical Drive → Choose
jnode-x86-lite.iso - Audio: Disable (JNode has no audio driver yet)
- Network → Adapter 1: NAT (for JDWP) or Bridged Adapter
Serial Console (Required for JDWP)¶
- Ports → Serial Port 1: Enable
- Port Number:
COM1 - Port Mode: Host Pipe
- Path:
/tmp/jnode-com1(Linux/macOS) or\\.\pipe\jnode-com1(Windows) - Check Create Pipe
Start VM & Connect¶
# Terminal 1: Start VM (headless or GUI)
VBoxManage startvm "JNode" --type headless
# Terminal 2: Connect to serial console
socat -,raw,echo=0 UNIX-CONNECT:/tmp/jnode-com1
# Or on Windows: use PuTTY → Serial → COM1
You'll see the boot banner and shell prompt.
JDWP Remote Debugging¶
JNode's debug command starts a JDWP listener on port 6789 by default (override with the port argument).
Port Forwarding (NAT)¶
Connect with jdb¶
Supported JDWP Features¶
| Feature | Status |
|---|---|
| Classes, methods, fields | ✅ |
| Threads, thread groups | ✅ |
where (stack traces) | ✅ |
classpath | ✅ |
| Method invocation | ✅ |
| Constructors | ✅ |
| Watchpoints | ❌ |
| Breakpoints | ⚠️ Limited |
See JDWP Setup Wiki.
Shared Folders (Optional)¶
For file transfer between host and JNode:
- Shared Folders → Add folder → Auto-mount
- In JNode (after network is up):
Troubleshooting¶
| Issue | Fix |
|---|---|
| Boot hangs at "Loading..." | Ensure I/O APIC enabled, try -cpu pentium in QEMU first |
| No serial output | Verify pipe path, check socat / PuTTY connection |
| JDWP connection refused | Check port forwarding, firewall, debug command arguments |
| Network not working | Try Bridged Adapter instead of NAT; check dhcp eth0 |
VM Export for Distribution¶
The .ova can be imported on any VirtualBox host.