mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-11 02:34:43 +00:00
e84751217a
Updates #1866 Change-Id: I546316cb833bf2919e0d6f55cdc9951f375f165b Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
1.7 KiB
1.7 KiB
tsapp on UTM
qemu from homebrew is recommended for tsapp development. See the main README for details.
If you don't want to use qemu, this documents a way to use UTM on macOS for tsapp development. It's not as quick of an edit-run-test iteration cycle, but this is how:
- Create new VM, choose "Emulate" (for now) and not "Virtualize"
- Pick "Linux" as the operating system
- For "Boot ISO Image", select the built
tsapp.img
- Architecture:
x86_64
(for now; arm64 later) - System:
Standard PC (...) (q35)
- Memory: 1024 MB is fine for testing
- CPUs: Default
- Storage size: 3GB
- Shared Directory: none. Continue.
- Summary: check "Open VM Settings"
- Network: Emulated Network Card:
virtio-net-pci
- Display: Emulated Display Card:
virtio-vga
(not that there's much to see) - Drives: delete all disks
- Drives: New... Interface
VirtIO
, Import ... findtsapp.img
again. Save. - Devices: New... Serial. Mode: Psuedo-TTY Device, Target: Automatic Serial Device.
Once created & the img
is imported once, UTM converts it to qcow2 format
under $HOME/Library/Containers/com.utmapp.UTM/Data/Documents/Tsapp.utm/Data/tsapp.qcow2
.
To update it, stop the VM, then:
qemu-img convert -f raw -O qcow2 tsapp.img tsapp.qcow2 && \
mv tsapp.qcow2 $HOME/Library/Containers/com.utmapp.UTM/Data/Documents/Tsapp.utm/Data/tsapp.qcow2
To attach to its serial:
% /Applications/UTM.app/Contents/MacOS/utmctl list
UUID Status Name
C0DE927B-F426-4ABA-A6E7-E30AA429371F started Tsapp
% % /Applications/UTM.app/Contents/MacOS/utmctl attach C0DE927B-F426-4ABA-A6E7-E30AA429371F
WARNING: attach command is not implemented yet!
PTTY: /dev/ttys017
% screen /dev/ttys017
(Then Ctrl-a K
to kill screen session)