catdev menjalankan Linux VM ringan di macOS Catalina lewat QEMU. Tanpa ganti OS, tanpa patch macOS, dan tanpa Docker Desktop.
~ ▶ catdev up → Menunggu SSH...... ok → Menunggu setup selesai… ✓ VM siap. Masuk dengan: catdev ssh ~ ▶ catdev ssh docker run --rm hello-world Hello from Docker! This message shows that your installation appears to be working correctly. ~ ▶ catdev status VM jalan (pid 94365), RSS di Mac: 1160 MB
Banyak MacBook Intel lama berhenti di macOS Catalina. Hardware-nya masih layak untuk ngoding, apalagi kalau RAM sudah di-upgrade, tapi satu per satu tool developer berhenti mendukungnya.
Versi yang masih jalan di Catalina sudah lama ditinggal.
Catalina tidak lagi didukung, banyak paket harus dikompilasi sendiri.
Sebagian besar sekarang butuh minimal macOS 11.
Jalan, tapi berat. Di MacBook Pro 2012 bisa memakan sekitar 7 GB RAM dan bikin laptop lag.
Setiap chip di bawah ini mewakili 1 GB dari RAM 16 GB (2 × 8 GB) di MacBook Pro 2012. Yang menyala adalah RAM yang dipakai VM, dilihat dari sisi Mac.
Diukur di MacBook Pro 2012 dengan RAM 16 GB dan macOS Catalina, setelah VM selesai boot. Saat dipakai kerja, catdev bisa naik sampai batas VM_MEM (default 3 GB) dan tidak lebih.
Docker butuh kernel Linux, jadi catdev menyalakan Debian 13 minimal di dalam QEMU. Prosesor Intel menjalankan VM-nya langsung lewat Hypervisor.framework bawaan macOS, sehingga kecepatannya mendekati native. Kamu tetap kerja dari Terminal, VS Code, dan browser di Mac seperti biasa.
Terminal, VS Code Remote-SSH, dan browser
localhost:2222 ke SSH di VMlocalhost:8000, :5173, :3000 ke aplikasimuProses ringan di Mac. RAM dan CPU-nya dibatasi lewat VM_MEM dan VM_CPUS.
Cukup sekali di awal. Setelah itu yang dipakai sehari-hari hanya perintah catdev.
sysctl kern.hv_support, hasilnya harus 1.~/.ssh/id_ed25519.pub.xcode-select --install
Kalau muncul pesan tidak tersedia, unduh “Command Line Tools for Xcode 12.4” dari developer.apple.com dan pasang manual.
Unduh installer untuk macOS Catalina dari macports.org, lalu jalankan seperti aplikasi biasa.
sudo port selfupdate sudo port -b install qemu || sudo port install qemu qemu-system-x86_64 -accel help
Pastikan hvf muncul di daftar. Kalau QEMU harus dikompilasi dari source, prosesnya bisa satu jam atau lebih. Colokkan charger dan biarkan jalan.
mkdir -p ~/bin curl -fsSL https://raw.githubusercontent.com/semutdev/catdev/main/catdev -o ~/bin/catdev chmod +x ~/bin/catdev echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
[ -f ~/.ssh/id_ed25519.pub ] || ssh-keygen -t ed25519 catdev init catdev up
Boot pertama makan waktu beberapa menit karena Docker sedang dipasang di dalam VM. Tunggu sampai muncul “VM siap”.
catdev up | Nyalakan VM. |
catdev ssh | Masuk ke VM, atau jalankan satu perintah: catdev ssh docker ps. |
catdev status | Lihat RAM yang dipakai VM dan container yang sedang jalan. |
catdev down | Matikan VM dengan rapi. Lakukan sebelum mematikan Mac. |
RAM, CPU, dan port diatur lewat environment variable, misalnya export VM_MEM=4096 atau export FWD_PORTS="3000 5173 8000 8080" di ~/.zshrc. Perubahan berlaku setelah catdev down lalu catdev up.
Jalankan git clone di VM, jangan mount folder dari Mac. Docker, npm, composer, dan Claude Code jadi jauh lebih cepat karena membaca disk VM langsung.
Tambahkan host 127.0.0.1 port 2222 user dev ke ~/.ssh/config. Editor di Mac, semua prosesnya jalan di VM.
catdev ssh tmux new -A -s main membuat sesi yang tetap hidup saat terminal ditutup, cocok untuk Claude Code dan dev server.
catdev down. Atur batasnya dengan VM_MEM.catdev down dulu.catdev up. Tambah port berarti restart VM.