首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的音乐
我的影视
Search
1
科普:Memory Compiler生成的Register file和SRAM有何区别?
89 阅读
2
virtuoso和empyrean alps模拟仿真和混仿教程
87 阅读
3
在IC617中进行xa+vcs数模混仿
85 阅读
4
vcs debug rtl或者netlist 中的loop
52 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
41 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vcs
PyQT
STM32
cadence
linux
systemverilog
EDA
Alist
vscode
uos
package
MCU
C
QT
CXL
sed
sv
webdav
bennyhe
累计撰写
344
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的音乐
我的影视
搜索到
1
篇与
的结果
2025-06-18
在 Docker 中运行 macOS
Docker-OSX 简介Docker-OSX 是由 Sick.Codes 维护的开源项目,它基于 QEMU 和 KVM 技术,支持在 Docker 容器中运行 macOS。你可以在 macOS 上进行开发、测试应用程序,甚至进行安全研究。Docker-OSX 支持多种 macOS 版本,从 High Sierra(10.13)到最新的 Sonoma(14)。项目特点X11 转发:支持在 Linux 和 Windows 上通过 X11 显示 macOS 界面。iMessage 安全研究:支持在 macOS VM 中进行 iMessage 和 iCloud 的安全研究。iPhone USB 传输支持:可以通过 USB 传输将 iPhone 连接到 Docker 中的 macOS。CI/CD 集成:适用于 macOS 的持续集成和持续部署(CI/CD)工作流。支持多版本 macOS:包括 Catalina、Big Sur、Monterey、Ventura 和 Sonoma 等。快速启动 Docker-OSX2.1 基本环境要求虚拟化支持:确保你的 CPU 支持 KVM,并在 BIOS 中启用虚拟化技术(Intel VT-x 或 AMD-V)。磁盘空间:至少需要 20GB 的磁盘空间,建议预留 50GB 以应对 macOS 和 Xcode 的需求。2.2 安装依赖根据你的操作系统,首先安装必要的依赖项。Arch Linux:sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison iptables-nft edk2-ovmfUbuntu / Debian:sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-toolsCentOS / RHEL / Fedora:sudo yum install libvirt qemu-kvm安装完成后,启用 libvirt 并加载 KVM 内核模块:sudo systemctl enable --now libvirtdsudo systemctl enable --now virtlogdecho 1 | sudo tee /sys/module/kvm/parameters/ignore_msrssudo modprobe kvm2.3 运行 Docker-OSX 容器Docker-OSX 提供了多个预构建的 macOS 镜像,下面以 Big Sur 为例启动容器:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e SHORTNAME=big-sur \ sickcodes/docker-osx:latest2.4 运行预装的 Catalina 系统如果你希望直接运行预装的 Catalina 系统,执行以下命令:docker pull sickcodes/docker-osx:autodocker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -e GENERATE_UNIQUE=true \ sickcodes/docker-osx:auto默认的用户名和密码分别是 user 和 alpine。然后就可以通过VNC连接了本地VNC连接:localhost:10022远程连接:remotehost:10022高级功能3.1 USB 传输和 iPhone 支持Docker-OSX 支持 USB 传输功能,允许你将 iPhone 或 iPad 连接到虚拟机上。你可以使用 usbfluxd 来实现 USB 设备在 macOS 虚拟机中的识别。设置 USB 传输首先,确保在宿主机上安装 usbmuxd、socat 和 usbfluxd:sudo pacman -S libusbmuxd usbmuxd avahi socat启动 usbmuxd 和 usbfluxd:sudo systemctl start usbmuxdsudo avahi-daemonsudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxdsudo usbfluxd -f -n然后,在 macOS 虚拟机中安装 usbfluxd 并启动 USB 传输:brew install make automake autoconf libtool pkg-config gcc libimobiledevice usbmuxdgit clone https://github.com/corellium/usbfluxd.gitcd usbfluxd./autogen.shmakesudo make installsudo usbfluxd -f -r 172.17.0.1:5000这样,macOS 系统中的应用(如 Xcode)将可以识别你的 iPhone 或 iPad 设备。3.2 生成 macOS 序列号Docker-OSX 集成了 osx-serial-generator,可以帮助你生成 macOS 序列号、UUID 和主板序列号。这对于 iMessage 和 iCloud 的使用十分重要。生成唯一的序列号你可以在启动容器时自动生成序列号:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -e GENERATE_UNIQUE=true \ -e SHORTNAME=big-sur \ sickcodes/docker-osx:latest使用特定的序列号如果你已经有特定的序列号,可以使用以下命令:docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -e GENERATE_SPECIFIC=true \ -e DEVICE_MODEL="iMacPro1,1" \ -e SERIAL="C02TW0WAHX87" \ -e BOARD_SERIAL="C027251024NJG36UE" \ -e UUID="5CCB366D-9118-4C61-A00A-E5BAF3BED451" \ sickcodes/docker-osx:latest常见问题与解决方法4.1 Docker 未运行如果遇到 docker: unknown server OS: . 错误,说明 Docker 守护进程未启动。可以通过以下命令启动 Docker:sudo dockerd或者:sudo systemctl --start dockerd4.2 权限问题如果启动时遇到权限相关的错误,请确保你的用户属于 Docker、KVM 和 libvirt 组:sudo usermod -aG docker "${USER}"sudo usermod -aG kvm "${USER}"sudo usermod -aG libvirt "${USER}"4.3 内存不足如果分配的内存比主机上可用的内存多,可能会出现内存分配错误。可以通过清理缓存来释放内存:sudo tee /proc/sys/vm/drop_caches <<< 3总结Docker-OSX 是一个强大的工具,允许你在 Docker 容器中运行 macOS,并且支持多种高级功能,如 USB 传输、序列号生成和 CI/CD 集成等。无论你是开发者、测试人员还是安全研究人员,Docker-OSX 都能为你提供一个高效的 macOS 虚拟化解决方案。
2025年06月18日
5 阅读
0 评论
0 点赞