linux mint 无法联网_linux mint 无法联网_在 Linux 的 MacOS KVM 上运行 checkran 的详细步骤...

国外大神发布的又详细又不懂的教程。

大神说:这不是一件容易的事。如果你不能在Linux中做基本的CLI内容,你最好只等待Windows版的checkra1n。

不建议折腾.....仅供参考

691cdc43a4d831e9cf61fc7bd6783196.png

前提条件:

linux机器启动和运行(不打算回答有关这个问题的问题,在互联网上大量的教程。最好是debian 基于本指南和一个体面的大小的文件夹的完整准确性。我的主文件夹是100 GB 进行比较,但类似35 到40 应该也可以)

QEMU 3.X或更高

主板和CPU 具有完整的VT-x 和VT-d(或AMD 版本:AMD-v 和AMD-Vi)功能(笔记本电脑很可能无法工作)

主板必须具有单独的板载USB 控制器(稍后将对此进行更多介绍)

至少一组USB 2.0 端口(3.0 可以工作,但工作起来非常棘手,您可能需要禁用3.0 端口才能正常工作)

0a9f9288cb13a6ba3c5c2187a3a0f813.png

制备工作:

确保您在主板BIOS 上启用了VT-x 和VT-

d(或AMD 版本:AMD-v 和AMD-Vi)

(如果您不启用,请查找)。

首先在终端中运行以下命令,这将安装

QEMU,Python and pip根据您拥有的linux 类型选择一个):

sudo apt-get install qemu-system

qemu-utils python3 python3-pip  # for

Ubuntu,Debian,Mint,and PopOS.sudo

pacman -S qemu python python-pip

# for Arch.sudo xbps-install -Su qemu

python3 python3-pip   # for Void

Linux.sudo zypper in qemu-tools qemu-

kvm qemu-x86 qemu-audio-pa

python3-pip  # for openSUSE

Tumbleweedsudo dnf install qemu

qemu-img python3 python3-pip # for

Fedora

e043e68651ec3fdc6a603e2f47c72f6b.png

接下来是将内核标志传递给GRUB 引导加载程序。在标准文本编辑器中打开/etc/默认/grub 文件。找到它显示

GRUB_CMDLINE_LINUX_DEFAULT的位置,并添加iommu_pt intel_iommu_on,或者如果您有AMD 处理器,iommu_pt amd_iommu_on。

b157a30784b98fba28e7857ce59a673e.png

您的文件现在应如下所示:

# If you change this file,run 'update-

grub' afterwards to update#

/boot/grub/grub.cfg.

# For full documentation of the options in this file,see:

#   info -f grub -n 'Simple configuration' GRUB_DEFAULT=0GRUB_TIMEOUT_STYLE=hiddenGRUB_TIMEOUT=10GRUB_DI

STRIBUTOR=`lsb_release -i -s 2>

/dev/null || echo

Debian`GRUB_CMDLINE_LINUX_DEFAUL

T="quiet splash iommu=pt

intel_iommu=on"GRUB_CMDLINE_LINUX

=""

# Uncomment to enable BadRAM filtering,modify to suit your needs

# This works with Linux (no patch required)and with any kernel that obtains

# the memory map information from GRUB (GNU Mach,kernel of FreeBSD ...)

#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console

# The resolution used on graphical

terminal# note that you can use only

modes which your graphic card

supports via VBE# you can see them in

real GRUB with the command

`vbeinfo'#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to

pass "root=UUID=xxx" parameter to

Linux#GRUB_DISABLE_LINUX_UUID=tru

e

# Uncomment to disable generation of recovery mode menu entries

#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start

#GRUB_INIT_TUNE="480 440 1"

6684760fbca3b6f00f846fc7a2b7afa5.png

之后在终端sudo update-grub中运行并重新启动。现在,您已经传递了正确的内核标志,并准备好转到下一步。

在sudo apt-get install git中运行以下内容,然后sudo git clone

找到名为"vmra1n"的文件夹,并打开其中的终端。运行sudo ./lsiommu.sh如果成功,您将获得PCIe 设备及其IOMMU 组的列表。如果没有输出,请仔细检查BIOS 设置。

例如:

IOMMU Group 14 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 14 03:00.1 SATA controller [0106]: Advanced Micro Devices,Inc. [AMD]300 Series Chipset SATA Controller [1022:43b7](rev 02)

IOMMU Group 18 27:00.3 USB controller [0c03]: Advanced Micro Devices,Inc. [AMD]Zeppelin USB 3.0 Host controller [1022:145f]

某些组包含多个设备。在自己的组中查找USB 控制器,并记下BDF ID(本例中为27:00.3和PCI ID(本例中1022:145f

隔离USB 控制器

rebind.sh用自己的方式更改PID 和BDF 的值,然后保存它。在vmra1n 打开终端并运行sudo ./rebind.sh

这将关闭一组USB 端口,因此根据需要将任何输入设备(即鼠标、键盘)重新定位到其他端口。作为格式的示例:

BIND_PID1="1022 145f"

BIND_BDF1="0000:27:00.3"

在QEMU 中设置虚拟机

找到一个名为"macOS-简单-KVM"的文件夹,并在那里打开一个终端。运行sudo ./jumpstart.sh --catalina.(需要互联网连接)。如果你想拥有那个特定的OSX版本,你可以换掉。它现在将开始下载一个文件BaseSystem.img注意:如果您已经下载了BaseSystem.img则可以跳过此功能。BaseSystem.dmg你需要转换它与在文件夹中dmg2img工具。

完成后,使用qemu -img创建一个空硬盘,并将名称和大小更改为任何随你所愿。例如:qemu-img create -f qcow2 MyDisk.qcow2 64G

创建后,编辑./basic.sh并将以下内容添加到文件末尾,"MyDisk.qcow2"是您在上一张映像中为虚拟硬盘选择的名称

-drive id=SystemDisk,if=none,file=MyDisk.qcow2 \  -device ide-hd,bus=sata.

drive=SystemDisk \

完成后,打开终端并运行sudo ./basic.sh并等待QEMU 打开。进入QEMU 后,使用箭头键在三叶草引导器中选择"从基于MacOS 的系统启动"。

现在应该等待,直到你启动到MacOS实用程序。这可能需要一些时间。完成后,打开磁盘实用程序并选择您创建的虚拟磁盘。它还应显示您选择的大小。如果磁盘上有任何分区(不应该)取消分区。接下来,单击"格式"并将其重命名为所需的任何格式,然后选择MacOs 扩展格式(已记录)。格式化它并退出磁盘实用程序。选择"重新安装MacOS 的副本",然后单击"继续",这将需要一点时间,但最终您应获得许可协议,然后它会要求您选择一个磁盘来安装MacOS。单击您刚才格式化的磁盘并开始安装。然后,它将下载MacOS(从Apple 服务器),并将其安装到您选择的磁盘上。根据您的互联网速度,这可能需要一段时间。下载完成后,开始点击下一步,并做提示告诉你。

安装完成后,关闭QEMU。

连接USB 控制器

将以下内容basic.sh将host=XX:XX.X替换为较早的BDF ID。

-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 \

cd8dd7b0ba13665c17885c5d448b8002.png

正在运行检查1n

运行sudo ./basic.sh以引导到VM 中。现在,您应该能够将iDevice 连接到分配的USB 端口(在主机中禁用的USB 端口)。下载checkra1n 并按照应用程序中的步骤操作。

最后!就这样!如果您已正确完成所有操作,您的iDevice 应在DFU 模式下被识别,并且checkra1n 将运行!

故障排除(问题出现时将更新)

Please ensure all devices within the iommu_group are bound to their vfio bus driver.

选择的USB 控制器位于具有多个设备的组中,rebind.sh在具有相同组号的其他rebind.sh或者使用ACS 修补程序(对于高级用户)。您无需将设备附加到VM,只需重新绑定它们。

iommu doesn't work properly when enabled in BIOS

如果可能更新BIOS,较旧的主板可能有早期实现的问题。

01277dedfb464f14b9a1644545158f5b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值