未经授权禁止转载!如有公众号等自媒体需要转发,请联系本人。
在这个浮躁的社会,请保留一丝最后的善良。
Email: [email protected]
本文简书链接:https://www.jianshu.com/p/bc9b232f8aae
Checkra1n, KVM, Linux, MacOS, IOMMU, AMD
目前是2019年11月14日,北京时间01点26分。
Checkra1n刚刚发布了v0.9.3 beta版,仅支持MacOS系统。
很多朋友手头上没有Mac设备,于是选择了VM虚拟机和黑苹果方案。
但!
VMware部署好后却被告知无法使用VM虚拟机进行越狱。
tb花钱装了黑苹果,却发现自己是AMD的CPU报错-31。
因而诞生此基于Linux和KVM的Checkra1n越狱方案。
@foxlet https://github.com/foxlet/macOS-Simple-KVM
@foxlet https://github.com/foxlet/vmra1n
本教程的基础指导与方案均来自@foxlet
本人将跳过Linux系统(Ubuntu)的安装指导,请各位善用百度。
打开终端,依次运行如下命令
sudo apt-get update
sudo apt-get install git
克隆工具的远程仓库,运行如下命令
git clone https://github.com/foxlet/macOS-Simple-KVM.git
git clone https://github.com/foxlet/vmra1n.git
接下来打开grub的iommu引导支持
sudo vi /etc/default/grub
在GRUB_CMDLINE_LINUX_DEFAULT行的引号内添加如下内容:
AMD玩家添加如下内容
iommu=pt amd_iommu=on
Intel玩家添加如下内容
iommu=pt intel_iommu=on
例如我的是(AMD)
添加前
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash "
添加后
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash iommu=pt amd_iommu=on”
添加好后,ECS :wq 保存,执行如下命令:
sudo update-grub
sudo grub-mkconfig
输入reboot 重启系统
重启完毕后,打开终端,输入如下命令
cd vmra1n
./lsiommu.sh
如果步骤一正确操作,此时你的终端会滚动一大堆信息
此时使用grep命令筛选USB信息,即我们想要的信息
./lsiommu.sh | grep USB
例如本人的信息为:
IOMMU Group 12 03:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset USB 3.1 xHCI Controller [1022:43bb] (rev 02)
IOMMU Group 16 1d:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller [1022:145c]
找到与USB3.0相关的iommu组(看名字即可)
例如本人的是第二条
IOMMU Group 16 1d:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller [1022:145c]
接下来从此条信息中找到BDF ID 和PCI ID并记下
例如我的BDF ID则是1d:00.3
例如我的PCI ID 则是1022:145c
编辑 rebind.sh
vi rebind.sh
将BIND_PID1和BIND_BDF1更改为步骤二记录的信息:
BIND_PID1则是"(刚刚记录的PCI ID)"
BIND_BDF1则是"0000:(刚刚记录的BDF ID)"
例如我的是
BIND_PID1=“1022 145c”
BIND_BDF1=“0000:1d:00.3”
esc :wq保存
然后sudo运行 rebind.sh
sudo ./rebind.sh
此时你的键盘和鼠标,或者一切在USB3.0接口设备将失效!!!
请重新拔插鼠标和键盘,
或者将他们插在USB2.0接口
依次运行如下命令安装依赖
cd
cd macOS-Simple-KVM
sudo apt-get install qemu-system qemu-utils python3 python3-pip
运行如下命令,开始下载BaseSystem.dmg
./jumpstart.sh --mojave
运行如下命令,部署qemu虚拟机
qemu-img create -f qcow2 MyDisk.qcow2 32G
接着编辑basic.sh,将下面两行添加至末尾
-drive id=SystemDisk,if=none,file=MyDisk.qcow2
-device ide-hd,bus=sata.4,drive=SystemDisk \
ecs :wq保存
sudo 运行 basic.sh 开启虚拟机!
sudo ./basic.sh
如果上面没有错误,接下来将会看到熟悉的Clover
键盘左右选择 “Boot macOS Install from macOS Base System"
直接回车
(接下来的步骤简单说)
(现在就是拼网速的时候了)
(如果提示无网络连接,请右上角关闭虚拟机,再运行一次 sudo ./basic.sh 重新开启虚拟机)
下载完成后会自动黑屏重启
第二次进入Clover选择
"Boot macOS Install Prebooter from Preboot"!!!(切记,别进错了)
引导进入背景为黑色,且只有进度条和倒计时的界面
代表正在安装
经过30分钟漫长等待,虚拟机再自动黑屏重启一次
这次选择
Boot macOS from (你刚才分区的名字)
此分区就是安装好的Mac系统
接下来就是常规的MacOS安装后的配置,这里我就不详述
成功后进入MacOS主界面,这部分结束
如果虚拟机在运行,请将其关闭
返回至Ubuntu的终端
输入如下命令
cd
cd macOS-Simple-KVM
vi basic.sh
在文件的末尾行添加如下内容
-device pcie-root-port,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1
-device vfio-pci,host=XX:XX.X,bus=port.1 \
XX:XX.X处填写刚刚记录的BDF ID
例如我的是1d:00.3 ,则我填写后的结果是
-device pcie-root-port,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1
-device vfio-pci,host=1d:00.3,bus=port.1 \
Ecs + :wq 保存
然后输入
sudo ./basic.sh
重新进入虚拟机
将iPhone使用USB3.0口连接至电脑,
如果你的操作正确,MacOS虚拟机内将提示设备接入,并且要求下载基本依赖包
完成后,iTunes将会弹出,提示设备接入。
此时关闭iTunes。
访问Checkra1n主页,下载最新版越狱工具。
按照流程完成越狱操作。
本教程结束
如果你已完成安装,且成功越狱过,那么在下次进入Linux系统时,只需打开终端输入如下命令
cd
cd vmra1n
sudo ./rebind.sh
(此时你的键盘和鼠标,或者一切在USB3.0接口设备将失效)
(请重新拔插鼠标和键盘,或者将他们插在USB2.0接口)
继续
cd
cd macOS-Simple-KVM
sudo ./basic.sh
熟悉的MacOS又回来了