PK200

首页 > 游戏资讯 > 正文

smc格式游戏下载【smc游戏什么意思】

时间:2025-05-19 04:02:55

黑苹果详细安装教程-基于OpenCore官网指导-UPUPMO

  • • 查看本篇需要有台式机组装知识储备、Windows 安装知识储备、主板 BIOS 配置知识储备、macOS 基础知识,比如如何安装软件,修改系统偏好设置等。
  • • 关于 macOS 基础系列我已经整理好了,不会可以先学习下:
  • • https://github.com/cdk8s/cdk8s-team-style/blob/master/os/macOS/macOS-basic.md
  • • 如果你无法具备以上基础知识,出错概念极大,不要灰心,多试几次,多搜索,直到你基础知识都学到位,理论上必然可以安装好。基础不过关,总是会充满困苦的。
  • • 本篇是基于台式机方案,但是过程详解了 OpenCore 官网指导,所以同道理也可以用到一些笔记本上,但是毕竟是有些区别,笔记本用户要有心里准备受挫。
  • • 后续全网其他平台不会更新,想要关注更新可以访问 Github 进行查看
  • • 因为有的主板出厂是是有多个版本的,所以到主板官网下驱动的时候有的人会看到 xxx-rev1.0,xxx-rev2.0 这样的区分选项。
  • • 这时候你需要打开机箱,在主板边角位置找到写有版本号的信息,一般情况主板是没有那么多版本的。
  • • 如下图,是作者的主板版本信息:

图片1

  • • 确定好主板版本后,到主板官网下载最新 BIOS:
  • • 技嘉官网:https://www.gigabyte.cn/Support/Motherboard
  • • 技嘉官网更新 BIOS 说明:https://www.gigabyte.cn/WebPage/-2/HowToReflashBIOS.html
  • • 华硕官网:https://www.asus.com.cn/support/Download-Center/
  • • 华硕官网更新 BIOS 说明:https://www.asus.com.cn/support/FAQ/1008859#A2
  • • 作者的技嘉 Z490M BIOS 下载地址,有一个版本可以更新:
  • • https://www.gigabyte.cn/Motherboard/Z490M-GAMING-X-rev-10/support#support-dl-BIOS
  • • 这里我们再简单介绍下技嘉主板的更新方法:
  • • 接着重启电脑按 DEL 进入 BIOS 设置,再根据我主板界面提示的 Q-FLASH 快捷键进入 Q-FLASH 模式(这是技嘉主板的叫法,其他品牌不这么叫)。如下图步骤更新:

图片1

图片2

smc格式游戏下载【smc游戏什么意思】

图片3

  • • 现在,我们已经假设你有一个固态硬盘已经安装好 Windows 系统。
  • • 这时候你先进入 Windows 系统下安装 Aida64,通过该软件查看自己的硬件配置信息。
  • • 重点关注声卡、网卡。比如我的信息:我的声卡是:Realtek ALC S1220A我的网卡是:Intel(R) Ethernet Connection (11) I219-V
  • • 以上两个信息先记录下来,等下都会用到。
  • • 官网教程写得非常好,即使你英文不好也要先翻译快速过下:
  • • https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html
  • • https://dortania.github.io/OpenCore-Install-Guide/ktext.html
  • • 在 Windows 系统下,先下载:OpenCore(当前时间 2022-04 最新版为 0.7.9,后续有其他版本也是一样流程不用担心)
  • • https://github.com/acidanthera/OpenCorePkg/releases
  • • 接着把 /NEW_EFI/OC/Drivers 下的所有默认文件删除掉,只留下 OpenRuntime.efi、OpenCanopy.efi(OpenCanopy 是用于 GUI 展示,非必须,但是先建议按我的来)
  • • 接着把 /NEW_EFI/OC/Tools 下的所有默认文件删除掉
  • • 下载最新的 HfsPlus.efi(必须,用于对 HFS 文件系统支持)
  • • 下载地址:https://github.com/acidanthera/OcBinaryData/tree/master/Drivers
  • • 放到 /NEW_EFI/OC/Drivers 目录下
  • • 下载最新的 VirtualSMC(必须,用于模拟苹果的 SMC)
  • • 下载地址:https://github.com/acidanthera/VirtualSMC/releases
  • • 解压后把 Kexts 目录下的
  • • VirtualSMC.kext
  • • SMCProcessor.kext 用于监控 cpu 温度
  • • SMCSuperIO.kext 用于监控散热器速度
  • • SMCLightSensor.kext 用于环境光检测,台式机不需要
  • • SMCBatteryManager.kext 用于读取电池信息,台式机不需要
  • • 下载最新的 Lilu(必须,基础库)
  • • 下载地址:https://github.com/acidanthera/Lilu/releases
  • • 下载最新的 WhateverGreen(必须,显卡支持)
  • • 下载地址:https://github.com/acidanthera/WhateverGreen/releases
  • • 不推荐海力士,镁光,Intel 牌子。
  • • 下载最新的 NVMeFix
  • • 下载地址:https://github.com/acidanthera/NVMeFix/releases
  • • 下载最新的 AppleALC
  • • 下载地址:https://github.com/acidanthera/AppleALC/releases
  • • 网卡场景比较多,具体规则看官网:
  • • https://dortania.github.io/OpenCore-Install-Guide/ktext.html#ethernet
  • • 技嘉 Z370M 对应的是: Intel(R) Ethernet Connection (2) I219-V
  • • 技嘉 B360M 对应的是: Intel(R) Ethernet Connection (2) I219-V
  • • 技嘉 Z490M 对应的是: Intel(R) Ethernet Connection (2) I219-V
  • • 根据官网规则,作者的 3 块主板应该选择 IntelMausi
  • • 下载最新的:IntelMausi
  • • 下载地址:https://github.com/acidanthera/IntelMausi/releases
  • • 如果你用的是 PS2 接口的鼠标、键盘则需要 VoodooPS2
  • • 下载地址:https://github.com/acidanthera/VoodooPS2/releases
  • • 如果你台式机要使用无线网卡+蓝牙建议淘宝买:
  • • BCM94360CD + PCIEx1 转接卡(四天线)
  • • BCM94360CS2 + PCIEx1 转接卡(两天线)
  • • 还需要 AirportBrcmFixup:
  • • 下载地址:https://github.com/acidanthera/AirportBrcmFixup/releases
  • • 还需要 BrcmPatchRAM:
  • • 下载地址:https://github.com/acidanthera/BrcmPatchRAM/releases
  • • 虽然它们可以免驱,但是下面即将介绍的 USB 定制记得也看看这个设备对应的值,因为蓝牙设备是用 USB2.0 的线连接的,所以也需要 USB 定制
  • • 先确定自己属于哪个 SMBOIS 平台,大家可以学习我以下方式来确认自己属于哪个值。
  • • 我的 i7-8700k,属于 coffee-lake 架构:
  • • 打开网站:https://dortania.github.io/OpenCore-Install-Guide/config.plist/coffee-lake.html#platforminfo
  • • 查看官网得到的 SMBOIS 结果是:iMac19,1
  • • 我的 i9-10900k,属于 Comet Lake 架构:
  • • 打开网站:https://dortania.github.io/OpenCore-Install-Guide/config.plist/comet-lake.html#platforminfo
  • • 查看官网得到的 SMBOIS 结果是:iMac20,2
  • • 接着下载我文章底部提供的这个配置文件: 台式机&笔记本USB万能驱动.zip 先解压到本地。
  • • 下载 ProperTree 编辑器软件
  • • 下载地址:https://github.com/corpnewt/ProperTree
  • • 下载解压,双击打开 ProperTree.bat,首次打开会提示正在自动下载 Python 环境,失败了就多来几次。
  • • 如果一直下载不下来,就自己根据 bash 中提示的 Python 版本,自己到 Python 官网下载一个 exe 安装包,自己手动安装 Python, 安装的时候记得勾选添加系统变量到 path。
  • • 接着用双击打开 ProperTree.bat,选择 File 》 Open 》 刚解压目录台式机USB万能驱动USBMap.kextContentsinfo.plist
  • • 在 ProperTree 的 IOKitPersonalities 节点下面,找到属于我们的 SMBOIS 的值。
  • • 比如我的 i7-8700k 是:iMac19,1-XHC,然后其他的都删除掉。
  • • 接在在 Windows 系统搜索栏中输入: 设备管理器,打开设备管理器。
  • • 这时候电脑上已经插着鼠标、键盘先不要动,应该还有几个 usb 接口是空着的,我们等下要一个一个试这些 usb 口。
  • • 接着在 设备管理器 中找到:通用串行总线控制器,这时候我们选择主板后面从上往下第一个 USB3.0 口插入一个 U盘(该 U盘必须是 USB3.0 的)。
  • • 这时候你再观察:通用串行总线控制器,下面会多了一个:USB 大容量存储设备,
  • • 对它右键:属性 》 详细信息,在 属性 下拉中选择:位置路径,我们可以看到类似这样的格式数据:
  • ACPI(_SB_)#ACPI(PCI0)#ACPI(XHC_)#ACPI(RHUB)#ACPI(SS05)
  • • 取最后一个关键字:SS05,然后我们要拿笔记下来这个 USB 口叫做 SS05 名字
  • • 接着我们拔掉 U盘,再换一个 USB3.0 口,按照以上方法(一定不要插 USB2.0 的口),记下来它叫啥名字,最后我的主板得到的数据如下,所有 USB3.0 的口从上往下、从左往右布局上看:第1排左第1个 = SS03第1排左第2个 = SS04第2排左第1个 = SS01第3排左第1个 = SS05第3排左第2个 = SS06机箱前面板 USB3.0 口 = SS07
  • • 接着我们用 USB2.0 的 U盘(没有 USB 2.0 的 U盘可以用 USB 接口的鼠标等设备),接着依次插入 USB3.0、USB2.0 所有的口,最终得到结果是:第1排左第1个 = HS03第1排左第2个 = HS04第2排左第1个 = HS01第3排左第1个 = HS05第3排左第2个 = HS06机箱前面板 USB3.0 口 = HS07机箱前面板 USB2.0 口 = HS10统计数据看起来好像只是把 SS 改为了 HS,大家还是以自己的为准。
  • • 接着我们回到 ProperTree 软件,
  • • 在 IOKitPersonalities 》 iMac19,1-XHC 》 IOProviderMergeProperties 》ports 节点下面
  • • 保留我们上面统计到的数值的节点
  • • 有插 USB 供电的蓝牙设备的也要统计下自己的值是什么,然后保留下来别删除,然后在其 UsbConnector 属性值还要改为:255。默认的值是 3
  • • 接着可以保存编辑的文件了。
  • • 接着将 USBMap.kext 放在 /NEW_EFI/OC/KEXT 文件夹下
  • • 根据官网说明:https://dortania.github.io/OpenCore-Install-Guide/ktext.html#usb
  • • 部分主板还需要这个:XHCI-unsupported,包括我的 B360M。
  • • 下载地址:https://github.com/RehabMan/OS-X-USB-Inject-All
  • • 解压后放在,放在 /NEW_EFI/OC/KEXT 文件夹下
  • • 首先要根据自己的 CPU 核心架构类型,选择不同的 SSDTs
  • • 官网文档:https://dortania.github.io/OpenCore-Install-Guide/ktext.html#desktop
  • • 我的是 i9-10900k,属于 Comet Lake 架构,根据官网的表格(从左往右看过去),我需要用到:SSDT-PLUG(cpu 电源管理修正)SSDT-EC-USBX(usb 修正)SSDT-AWAC(时钟修正)SSDT-RHUB(官网详情页说:华硕 z490 必须加,Gigabyte and AsRock 不需要)
  • • 以上 SSDT 下载地址:https://github.com/dortania/Getting-Started-With-ACPI/tree/master/extra-files/compiled
  • • 根据官网文档,另外一台:i7-8700k 是 Coffee Lake 架构需要SSDT-PLUGSSDT-EC-USBXSSDT-AWACSSDT-PMC(官网详情页说 Z370 的主板不需要,所以刚好省略)
  • • 我的 i9-10900k 是 comet lake 架构,对应的官网配置文档地址:
  • • https://dortania.github.io/OpenCore-Install-Guide/config.plist/comet-lake.html
  • • 我的 i7-8700k 是 Coffee Lake 架构,对应的官网配置文档地址:
  • • https://dortania.github.io/OpenCore-Install-Guide/config.plist/coffee-lake.html
  • 注意注意注意:请根据你的 CPU 架构,选择你自己的官网说明,里面有很多图片指导,接下来要用到,一定要选择自己架构的链接,不要直接照搬我的地址
  • • 需要特别说明的:官网图片显示的是早期版本内容,所以 Boolean 类型的值是 YES/NO, 现在版本都是 TRUE/FALSE。以下步骤比较麻烦,大家要耐心根据官网文档一个一个值对过去。
  • • 打开 ProperTree 软件,
  • • 选择 File 》Open 》/NEW_EFI/OC/config.plist 文件
  • • 打开后,接着:
  • • 选择 File 》OC Clean Snapshot 》/NEW_EFI/OC 文件夹,它会自动识别里面内容

配置方法

  • • 根据官网文档里图片红框说明操作,三个都是 True
  • • 根据官网文档里图片红框说明操作(从这里开始就不再贴图了,注意看文字)
  • • 跟文档图片红框中相比,部分值是缺失的,自己需要添加,要根据图片注意类型等细节
  • • AAPL,ig-platform-id 的值根据文档描述:
  • • 如果你是没有独立显卡的,只有核显那值要为:07009B3E 或者 00009B3E,两个只能试着来,默认用第一个值。
  • • 如果你是有独立显卡,独立显卡用于驱动显示器,核显用于加速,则需要填写第三个值。
  • • 关于音频配置,我的主板如下:技嘉 Z370M 是:Realtek ALC892技嘉 B360M 是:Realtek ALC892技嘉 Z490M 是:Realtek ALCS1220A
  • • layout-id 音频布局值需要参考这个文档:(官网详情说目前他们其实没用这个值,而是借用 NVRAM 分类下的 alcid = 1 的数值来起作用,所以这个可以暂时先用默认值)
  • • https://github.com/acidanthera/AppleALC/wiki/Supported-codecs
  • • 我的 ALC892 对应的布局有:layout 1, 2, 3, 4, 5, 7, 12, 15, 16, 17, 18, 20, 22, 23, 28, 31, 32, 90, 92, 97, 99, 100
  • • 如果后续这个参数有用了,那我们需要这样换算:如果这里我们选择 7 这个 ID 进行测试,将 7 转化成 16 进制格式为 07,后面为了满足格式要求添加 6 个 0,则为
  • • 07000000,将这个值替换默认的 01000000(如果你的 layout 中有 1 则可以考虑不替换,采用默认值);
  • • 如果我们测试 ID 为 27,27 的 16 进制为 1b,补上 6 个 0 则为 1b000000
  • • 如果你是 Comet Lake 架构,并且主板网卡是 intel I225-V,你还需要额外 device-id
  • • 我的主板都不是,所以不需要
  • • 首先:需要在 Add 中,要把 Lilu.kext 放在第一个节点,VirtualSMC.kext 放在第二个节点,因为后面的驱动是依赖 Lilu 这个基础包的,Add 下其他细节就不用改了
  • • 因为我们要开启主板的 VT-D,所以 DisableIoMapper 设置为 true
  • • 稍后 BIOS 中就不需要禁用 VT-D 了
  • • Quirks 下的 AppleXcpmCfgLock 是要设置为 true 或者 false 取决于你主板 BIOS 是否有一个 CFG Lock 选项。
  • • 如果你主板有这个选项,那主板上的该配置需要设置为 Disable,然后这里的配置 AppleXcpmCfgLock 要设置为 false。
  • • 如果你的主板 BIOS 没有这个选项,那 AppleXcpmCfgLock 要设置为 true。
  • • XhciPortLimit:解除15个端口限制,确认USB端口完美定制的可以为false。一般为true。有USB定制的为false,因为我们定制了,所以是false
  • • 根据图片说明操作即可,如果有些红框的值你配置是没有的,就自己添加
  • • Vault 的值是字符串值 Optional,需要自己输入
  • • boot-args 是关键参数,
  • • 其中 keepsyms=1 debug=0x100 的意思是:禁用 macOS 的 watchdog
  • • alcid=1 是真正起作用的音频布局,这个 1 就是上面文档中你对应声卡支持的序列,安装完要一个一个试,默认先填写 1 吧
  • • 各声卡布局列表可以查看:
  • • 官网地址:https://github.com/acidanthera/applealc/wiki/supported-codecs
  • • 注意,如果你是 AMD RX 5000、RX 6000 系列显卡(RX 6700XT 是特例,它无法驱动,不推荐购买),
  • • 比如我的 6600XT,则还需要加一个参数: agdpmod=pikera 原因是很多人都出现引导结束后,键盘灯是亮的,但是显示器没有信号的问题。
  • • 除了官网图片红色框的两个参数之外,还要注意
  • • prev-lang:kbd 改为 String 类型,值是:en-US:0
  • • csr-active-config: 00000000,表示不关闭 SIP,采用默认值即可
  • • 官网还提示:对于 Comet Lake 架构并且网卡是 Intel I225-V 或者是十代 CPU 对应的技嘉主板,
  • • 还需要在 boot-args 加个:dk.e1000=0 参数
  • • 根据官网文章,我的 i9-10900k 对应的平台是 iMac20,2 、 i7-8700k 是 iMac19,1
  • • 这里需要借助 GenSMBIOS(计算苹果序列号,用于登录 App Store)
  • • 下载:GenSMBIOS
  • • 官网下载:https://github.com/corpnewt/GenSMBIOS
  • • 双击打开 GenSMBIOS.bat,根据终端提示选择:Generate SMBIOS
  • • 然后此时终端会自动下载一些依赖,速度比较慢,不排除还下载不成功,如果不成功就得用穿越工具。
  • • 如果选择 Generate SMBIOS 成功后,等它进入一个输入交互界面后,输入: iMac20,2
  • • 这时候会生成一些序列号,都记到记事本上,然后拷贝到 ProperTree 对应的输入框上,它们键值格式对应关系是:
  • • 根据图片说明操作即可
  • • 最好拖动 HfsPlus.efi 节点在第一个,OpenRuntime.efi 排第二个
  • • 默认 OpenCore 的引导界面只有终端英文交互,不是很直观,所以我们需要给它加上 GUI
  • • 指导:https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html
  • • 下载 Resources 目录:https://github.com/acidanthera/OcBinaryData
  • • 把解压后的 Resources 目录覆盖 /NEW_EFI/OC/Resources 目录,
  • • 然后还有几个 config 参数需要改,根据文档继续修改Misc -> Boot -> PickerMode: ExternalMisc -> Boot -> PickerAttributes: 17Misc -> Boot -> PickerVariant 建议为 AcidantheraSyrah 表示使用默认主题
  • • 最后,保存配置文件的修改:File > Save
  • • 到了这一步,算是所有配置文件调整好了
  • • 官网说明:
  • • https://dortania.github.io/OpenCore-Install-Guide/installer-guide/winblows-install.html#downloading-macos
  • • 进入一开始下载的 OpenCore 目录下:/OpenCore-0.7.9-RELEASE/Utilities/macrecovery/
  • • 在 cmd 中 cd 到这个目录下,然后根据系统需求,执行如下命令( 注意注意注意:这几个值可能会变,请按上面官网地址查看最新文档
  • • 这个命令表示会下载苹果恢复系统基础镜像
  • • 输入完命令后,打开 Windows 任务管理器,切换到以太网选项,如果看到网络飙升就表示这时候已经开始下载镜像了。
  • • 下载好会在 OpenCore-0.7.9-RELEASEUtilitiesmacrecovery 目录下看到新增两个文件:BaseSystem.chunklist、BaseSystem.dmg(614MB)
  • • 下载完成后打开 Windows 的磁盘管理工具,
  • • 格式化我们的 U盘 为 FAT32 格式,(如果windows 右键没有出现 FAT32 选项,则可以打开 DiskGenius 软件把一个 U盘转换成 GUID 格式,然后分出一个区,这个区必须是 FAT32 格式)
  • • 格式化完后,进入 U盘,在U盘根目录创建一个目录: com.apple.recovery.boot,进入该目录,把下载好的 BaseSystem.dmg、BaseSystem.chunklist 放进来
  • 注意注意注意:接着把我们上面做好的 NEW_EFI 目录也放到U盘根目录,改名为 EFI
  • • 官网说明:https://dortania.github.io/OpenCore-Install-Guide/config.plist/comet-lake.html#intel-BIOS-settings
  • • 因为各个主板的一些叫法可能不一样,下面是以我技嘉主板为例,大家各自的主板还需要自己研究下,理论上大多数叫法应该是一样的。
  • • 先确保你的台式机连接了有线网络,并且当前家里的网络是可用的状态。
  • • 先把 Windows 的固态硬盘先拔掉,只留下那个空的固态硬盘等下安装苹果。这个空盘不需要先分区,不需要格式化,就是单纯空的。
  • • 这样可以方便后续安装的时候避免选错,也可以避免在安装过程重启的时候就进入 Windows 系统,只有好处没有坏处。
  • • 插入刚刚准备好的 U盘,在 BIOS 中选择用 U盘启动,稍后会进入一个安装选择界面,
  • • 不用动它,选默认即可,过几秒后会自动进入终端跑代码输出日志而已,这时候有些代码可能会稍微停个5~10秒是很正常的。
  • • 但是如果你是看到跑代码界面一直停留,说明应该是你的 EFI 哪里配置出问题了(一般整个跑代码需要 1~3 分钟)
  • • 如果跑代码完成后会进入苹果安装界面,这时候界面是英文的,你可以点击左上角: File 》 choose language 》更改为中文
  • • 接着选择:“磁盘工具”,刚进去可能要等个10秒左右才会出现你的硬盘名字,
  • • 这时候对你的空盘硬盘进行分区,选择对应硬盘,选择:“抹掉”, 名称取个英文的磁盘名字比如 mymac,格式选择 APFS,方案选择 CUID分区图。
  • • 分区完成后,关掉窗口,会重新回到系统安装选择界面,点击 “重新安装 macOS”,请一定要确保家里网络是通的。
  • • 根据提示同意协议,选择安装到刚刚那个 mymac 分区,开始安装。
  • • 整个安装过程前面 10 分钟左右都是在远程下载苹果最新系统镜像,这时候家里的宽带路由器应该是跑满的,
  • • 如果你们家里宽带比较差,那这个下载时间可能会很久。
  • • 这个安装过程中间会重启多次,有 3~4 次左右,一共安装时间差不多在 30 ~ 60 分钟不等,
  • • 期间都是自动选择对应的启动项,我们不需要管任何事情,只要好好看着就行。
  • • 中间不排除你的显示器进入休眠关闭,此时不是关机,可以动动鼠标看看。这期间一定不要把 U盘拔掉。
  • • 如果安装完成后,系统是会自动根据引导进入 macOS 登录界面的。
  • • 此时我们还是不能拔掉 U盘,当前系统还是通过 U盘引导才能启动到系统的。
  • 再次强调,这时候 U盘 还不能拔,文章下面有一段:《最后:把 U盘 EFI 拷贝到 macOS 系统盘》,经过这个步骤之后才可以拔掉 U盘。
  • • 假设你这时候已经可以进入 macOS 了。
  • • 下载:OpenCore Configurator(链接看文章最底部)
  • • 下载与你当前 OpenCore 核心相同的版本。
  • • 打开U盘目录 /EFI/OC/ 目录,右键选择 config.plist 文件,选择打开方式:使用OpenCore Configurator 打开
  • • 选择左侧:NVRAM-随机访问存储器设置,结果可能有多个选项,每个都点一下,直到看到最右侧键值对中有 boot-args 参数,
  • • 该参数原来的值应该是: -v keepsyms=1 debug=0x100 alcid=1
  • • 这里的 alcid=1 就是音频布局,
  • • 根据官网文档:https://github.com/acidanthera/applealc/wiki/supported-codecs
  • • 我主板的音频设备是:Realtek ALC892,与之对应的布局有:layout 1, 2, 3, 4, 5, 7, 12, 15, 16, 17, 18, 20, 22, 23, 28, 31, 32, 90, 92, 97, 99, 100
  • • 一开始我用了 1 进行测试,如果不行就得一个一个值改,然后重启电脑进行测试。
  • • 这一步很麻烦,没有快捷方法,只能你慢慢试,理论上根据官网布局值一般是够用的。
  • • 验证双系统可以正常切换(如果不用 Windows 系统的,最好拔掉 Windows 硬盘,这是最优解)
  • • 确定 Apple ID 可以登录(登录的该 Apple ID 最好是以前登录过真实的苹果设备的,比如 iPhone、MacBook 的,这样更加安全)
  • • 连接多个显示器,显示是否正常
  • • 验证有线网络连接
  • • 验证声音播放
  • • 确保所有USB 2.0/3.0 和 3.1 接口
  • • 如果有无线网卡、蓝牙也要检测下
  • • 验证自动睡眠、手动睡眠(建议少用睡眠,台式机不像笔记本)
  • • 验证关机/重启
  • • 安装 iStat Menus,查看系统资源监控,如CPU、内存、硬盘负载/温度可以展示
  • • 安装 CPU-S,测试变频
  • • 安装 VideoProc Converter,验证核显加速
  • • 安装 Hackintool,在系统下面是否有显示:IGPU、GFX0 信息,如果没有 IGPU 则表示你核显没识别到。
  • • 因为我们前面调试的都是 U盘下的 EFI 所有 造成 U盘不可以拔, 到了这一步表示你已经优化完成了,可以做最后的迁移了。
  • • 这时候我们可以打开 OpenCore Configuretor(如果没安装需要自己去下载安装),
  • • 点击头部工具栏选择: 工具 》 挂载 EFI
  • • 在弹出界面中,下面的 “EFI 分区” 区域中,选择你 macOS 安装的所在盘,点击右侧的:挂载分区
  • • 挂载后分区后,点击 “打开分区”,然后把U盘下整个 EFI 目录拷贝到该分区根目录下。
  • • 这表示以后就从硬盘上的 EFI 引导,我们现在可以拔掉U盘重启试一下。
  • • 双系统下 OpenCore 会自动识别 Windows 分区,所以不需要做过多的修改。只需要把 macOS 所在磁盘改为第一引导顺序即可。
  • • 然后在 macOS 下: 系统偏好设置 》 启动磁盘 》选择 mac 盘,然后锁住
  • • 像我已经不用 Windows 的情况下,其实也可以把安装前的 Windows 的盘格式化掉,作为 macOS 的数据盘使用
  • • 打开U盘目录 /EFI/OC/ 目录,右键选择 config.plist 文件,选择打开方式:使用 OpenCore Configurator 打开。
  • • 选择左侧: Misc其他设置 》Boot 》Timeout,建议 Timeout 改为3-5,如果觉得太慢了也可以改为 1,不建议改为 0。
  • • 选择左侧: Misc其他设置 》Security 》AllowSetDefault 的值设置为true
  • • 打开 U盘目录 /EFI/OC/,右键 config.plist 文件,选择打开方式:使用OpenCore Configurator.app打开
  • • 选择左侧: NVRAM-随机访问存储器设置,右侧会有多个选项,每个都点一下,直到看到右侧键值对中有 boot-args
  • • 原来的值是: -v keepsyms=1 debug=0x100 alcid=1
  • • 这时候要去掉 -v 这个值,该值表示启动时候终端显示执行代码过程,有故障的时候好分析
  • • 打开 U盘目录 /EFI/OC/,右键 config.plist 文件,选择打开方式:使用OpenCore Configurator.app打开
  • • 选择左侧: Misc其他设置 》debug 选项下的 target 数值改为 3(原来是67)
  • • 然后保存 config.plist 重启电脑试试
  • • 关闭聚焦: sudo mdutil -a -i off
  • • 系统偏好设置 》节能 》设置永久
  • • 系统偏好设置 》软件更新 》高级 》关闭自动更新
  • • 系统偏好设置 》辅助功能 》显示 》指针 》指针大小
  • • 系统偏好设置 》程序坞与菜单栏 》设置程序坞放大效果、取消时间显示、取消 Wi-Fi 显示、取消聚焦显示
  • • 系统偏好设置 》显示器 》夜览模式
  • • 系统偏好设置 》调度中心 》触发角
  • • 通过终端命令修改用户密码
  • • 先输入: pwpolicy -clearaccountpolicies 进行清除密码长度限制规则
  • • 再输入: passwd 进行更换密码 ( macOS 12 系统命令为:security set-keychain-password)
  • • 设置网络 DNS,具体参考:
  • • https://github.com/cdk8s/cdk8s-team-style/blob/master/os/macOS/macOS-basic.md
  • • 然后清除 DNS 缓存: sudo killall -HUP mDNSResponder
  • • 如果你打算以 macOS 为生产力,那建议养成好习惯,最好设置默认引导系统是 macOS,
  • • 并且关闭 Windows 系统的自动更新,避免一些可能出现的升级意外。
  • • 如果不用 Windows 那就更好了,直接拔掉 Windows 硬盘。
  • • 避免别人直接使用,避免一台电脑同时在线多个 Apple ID 造成账号异常。
  • • 如果你安装完黑苹果之后,又换了一些硬件,比如新增其他硬盘,不排除此时的主板的 BIOS 设置会被重置,
  • • 这时候你再接回原来好的 mac 盘是会出现启动不了,这时候就要再去检查一些原来那些 BIOS 修改的是否还在。
  • • 如果你主板有保存 BIOS 配置功能,记得保存一份,方便后续直接还原。
  • • 不推荐在 Windows 上安装可见 macOS 磁盘的软件(比如 Paragon HFS),可以避免误删除到系统文件。
  • • 如果你经常和我一样安装杂七杂八的不安全软件,最好不要关闭 SIP。
  • • Windows 系统中准备的软件• 台式机&笔记本USB万能驱动.zip• Aida64• DiskGenius
  • • macOS 系统中准备的软件• OpenCore Configurator• iStat Menus• CPU-S• VideoProc Converter• Hackintool
  • • UP 主• 大头菜Cass• 司波图• ereel• 吾乃阿风同学• 黛码小哥哥• QZFoureyes
  • • 教程• 完美双系统系列教程第9集,升级OC引导
  • • 以上非 Github 链接都已整理在这里(用电脑浏览器打开):https://www.upupmo.com/s/5f6fdb1a9a9d4f0e8cb80817dcd00309

从零开始移植最新版本(2023.10)主线Uboot到Orange Pi 3(全志H6)

这里从零开始移植的意思主要是指从Das Uboot官方网站或者代码库下载写这篇文章时的最新版本(2023.10-rc4-00031-gc0c08be546-dirty)代码,开始构建编译环境,配置,编译,TF安装,到最后在Orange Pi 3硬件板子上run起来。

我们知道uboot属于系统启动过程中加载操作系统内核,运行内核代码的作用,所以我们知道cpu肯定会在系统启动的某一个阶段会执行uboot固件代码,uboot再引导linux内核,但是因为不同的主控芯片不同的CPU核启动也会流程也会不一样。

所以在移植之前,我们一定要弄清楚CPU的启动流程以及分多少个阶段,需要多少个bin文件,uboot属于哪个启动阶段,必须要从启动流程宏观上了解清楚。

全志H6属于armV8 64位体系结构,armv8 体系结构相较于之前的armv7都有很大不同,下图是ARMV8的一个总的启动流程:

启动流程1

Arm启动流程

  1. armv8-a 一般最先运行bl1阶段固件,也即是boot rom,这个一般固化在cpu的 rom里面,这是上电之后执行的第一段代码,主要是加载bl2阶段代码到iram执行
  2. bl2阶段代码放在存储媒介,比如emmc中,由bl1负责 运行起来,因为bl1代码并未初始化DDR,所以加载到片内SRAM中执行,在这个阶段完成外部DDR的初始化,并加载bl31到DDR运行
  3. bl31一般称为EL3 Service,属于runtime,负责切换 non securesecure两个世界环境,运行一些服务,比如PSCI,SCMI等,同时负责把bl32和bl33代码加载运行起来
  4. bl32属于trusted OS,如果不需要这个或者硬件不支持,可以去掉bl32,这个是可选的
  5. bl33一般是bootlaoder,负责引导后面的操作系统内核

在这里我们h6芯片的启动流程我们选择的就是下面这种比较流行的方式:

启动流程2

流行启动流程

  1. bl1阶段是boot rom,固化在irom,这个没什么好说的
  2. bl2是uboot编译出来的SPL uboot,专门用于第二阶段启动的,SPL就是瘦身版本的uboot
  3. bl31 我们这里采用Arm Trusted Fireware(ATF)源码编译出来的bl31,这个是arm公司提供的开源代码,回头我们专门写篇文章来讲它
  4. bl32没有,bl33就是bootloader,这里我们是uboot
  5. bl33 uboot后面让它来引导linux操作系统内核

总的来说,后面我们需要3个文件,分别是:编译ATF得到BL31, uboot编译得到spl-uboot和完整uboot,然后再将这三个文件合并成一个最终文件,写入TF卡启动运行。

一般移植uboot有以下几种方式:

  1. 找Orange PI 3这款硬件公司其已经配置修改好的uboot代码,编译运行就行
  2. 找Das UBOOT官方的主线代码结合目标硬件平台自己修改配置,这个要求高一下,要求必须熟悉uboot,这种方式也更具挑战性

以第一种方式,其实硬件公司给我们提供了现场的uboot代码,https://github.com/orangepi-xunlong/OrangePiH6_uboot

当然这里我选择第二种方式,也就是将来无论拿过来一款新的开发板,我们都可以以此相同的步骤进行移植,第二种方式更有普遍性。

第二种方式主线移植也分两种情况来区别对待:

  1. 如果uboot主线版本代码已经合入Orange PI 3开发板相关代码,那就非常简单,和上面说的第一种方式移植一样,下载代码编译运行即可。
  2. 如果主线最新版本没有合入Orange PI 3开发板相关代码,那就需要找一款主控芯片也是全志H6的开发板作参考,基于参考板子进行配置,修改代码,编译再运行

为什么要找主控芯片一致的开发板作为基础进行移植?主要是为了减轻工作量,因为这样主控相关代码大多不需要修改,只是对两个板子硬件上有差异的地方进行配置修改即可,比如常见像RAM或者EMMC或者外设硬件相关代码的配置修改。

我们从 Das uboot的官方代码仓:https://source.denx.de/u-boot/u-boot/ 文件搜索开发板名称oange pi 3,我们可以看到相关的defconfig默认配置文件以及设备树文件都有了,很明显最新2023.10-rc4-00031 版本已经支持该开发板,这样我们工作量就小很多,下面就是按部就班的下载源码,配置,编译,运行了。

搜索仓库

下面我们按照工具安装,下载代码,配置,编译,运行的一般步骤走起来。

为了编译U-Boot,您需要一个适合您的主机平台的编译器。如果您不是在目标平台上构建,则还需要 GCC 交叉编译器。

这里我们选择GCC工具链,工具链的安装搭建请参考官方文档:https://u-boot.readthedocs.io/en/latest/build/gcc.html

我的编译主机是Ubuntu22.04,是基于 Debian的。目标平台硬件主控芯片是全志H6,查看芯片手册,cpu 核心是Quad-Core ARM Cortex-A53,架构是ARMV8 64.

体系结构

在基于 Debian 的系统上,交叉编译器包名为 gcc–linux-gnu。

可以使用以下命令安装 GCC 和适用于 ARMv8 架构的 GCC 交叉编译器

可能需要依赖包

ubuntu命令行运行以下指令,如果正常出现版本信息那就表示GCC交叉工具链安装正确了。

版本信息

下载步骤可以参考Das Uboot官方文档,https://u-boot.readthedocs.io/en/latest/build/source.html。

您可以通过以下方式下载源代码

或者Github 上维护着源镜像

不加分支默认下载最新代码。

源码编译过程参考Uboot官方文档https://u-boot.readthedocs.io/en/latest/board/allwinner/sunxi.html

对于所有使用基于 Allwinner ARM 的 SoC(“sunxi”)的开发板,U-Boot 编译系统会生成单个集成镜像文件:u-boot-sunxi-with-spl.bin. 该文件可用于 SD 卡、eMMC 设备、SPI 闪存以及基于 USB-OTG 的启动方法(FEL)。

要编译出此文件:

  • 对于 64 位 SoC,首先要编译出可信固件(TF-A,以前称为 ATF),您将需要其bl31.bin. 请参阅下面的更多细节。
  • (可选)在 64 位 SoC 上编译出the crust management processor firmware,也就是scp.bin文件.,这个文件是可选,这里我没有用这个bin文件。
  • 编译uboot镜像uboot.bin文件通用步骤:

The traditional SD card location the Allwinner BootROM loads from is 8KB (sector 16). This works fine with the old MBR partitioning scheme, which most SD cards come formatted with. However this is in the middle of a potential GPT partition table, which will become invalid in this step. Newer SoCs (starting with the H3 from late 2014) also support booting from 128KB, which is beyond even a GPT and thus a safer location.

从上面通用编译步骤看出,要编译出uboot.bin必须要用到bl31.bin文件,scp.bin文件可选,主要是要将它们一起合并到一个最终uboot.bin文件。

使用 64 位 Soc(A64、H5、H6、H616、R329)的主板需要 bl31阶段的Arm Trusted Firmware-A固件 。这为 Armv8-A 提供了安全软件环境,并提供 PSCI 和 SMCCC 服务。全志支持已完全主流化。编译 bl31.bin:

A64 和 H5 SoC 的目标平台 ( PLAT=) 为 sun50i_a64,H6 sun50i_h6、H616 sun50i_h616 和 R329 sun50i_9 的目标平台为 sun50i_a64。使用:

查找所有支持的平台。TF-A 的docs/plat/allwinner.rst包含更多信息并列出了一些编译选项。

编译完成之后会生成bl31.bin文件

因为我们这里没用scp.bin,所以这里就不需要生产它了。

编译代码之前我们要选择开发板相关配置项,上面我们查找过,最新版本uboot项目中是存在orange pi 3的默认配置文件的。

通过运行以下指令,我们可以查看,

可以看到在configs目录下是存在orangepi_3_defconfig默认配置文件的,使用它即可生成配置文件.config.

  • 对于 64 位板,这需要设置 BL31 环境变量BL31,找到上面生成的bl31.bin的位置(如上面 TF-A 编译示例中所示),或者在编译命令行上提供
  • 同时还要制定使用的交叉编译器前缀CROSS_COMPILE=aarch64-linux-gnu-
  • 因为scp.bin文件我们没用,所以要指定为/dev/null,即SCP=/dev/null,否者会提示Image ’u-boot-sunxi-with-spl’ is missing external blobs and is non-functional: scp错误

编译完成之后,顶层目录下会生成u-boot-sunxi-with-spl.bin文件,这个就是最终文件,里面包含ATF和SPL和uboot主体还有设备树。

目录

除了原始 NAND 闪存设备外,这个相同的文件可用于任何启动源。它将包含 SPL 映像,配有 BROM 识别的正确签名以及所需的校验和。此外,它将至少包含正确的 U-Boot,或者以传统 U-Boot 映像格式包装,或者以 FIT 映像包装。该板的设备树也包含在内,或者附加到 U-Boot 适当的映像中,或者包含在 FIT 映像中。如果 SoC 需要,此 FIT 文件还将包含其他固件映像。

用读卡器将TF卡插入UBUNTU系统,使用DISKR软件现将TF卡所有分区删除,打开DISK软件,找到TF卡存储设备,点击减号,删除所有分区。

所有 Allwinner SoC 都会尝试在连接到第一个 MMC 控制器的 SD 卡的第 16 扇区 (8KB) 处查找启动映像。要将生成的镜像烧写到 SD 卡,请从任何带有(微型)SD 卡读卡器的 Linux 设备(包括开发板本身),输入:

/dev/sdx需要替换为SD卡读卡器的块设备名称。在某些机器上这可能是/dev/mmcblkX。较新的 SoC(从 2014 年的 H3 开始,包括所有 ARM64 SoC)也会查看扇区 256 (128KB) 的签名(在检查了 8KB 位置之后)。在那里安装固件的优点是不与 GPT 分区表重叠。只需将上面的“ seek=8”替换为“ seek=128”即可。

TF卡启动卡制作完成之后,插入开发板TF口,然后通过USB转TTL小板子连接电脑主机和开发板,上位机打开一个串口工具软件,比如ubuntu putty或者windows SecureCRT,使用软件打开串口,确保U转串没问题之后,给开发板上电。

串口连接示意图

如果都没有问题,我们会看到uboot运行起来之后从UART0 串口终端输出的运行日志:

前面一段可以看出是UBOOT SPL和bl31阶段的log,后面就是UBOOT 2023运行之后的log,这里因为我们没有在任何存储介质提供linux 内核镜像,所以报EFI boot manager: Cannot load any image错误而无法继续加载引导linux,这是正常的。

西门子S7-1500存储卡的选择和使用

在学习西门子系统的过程中,系统不同用到的存储卡也不同,之前对每个系统的存储卡有何区别进行了简单的介绍之后,也逐渐的把300、400、1200的存储卡的使用进行了逐一介绍。今天我们来说一下最后一个1500存储卡的使用。

自动化数据位于自动化系统的不同存储区中。 在TIA STEP7 中创建的项目的离线数据位于编程设备的硬盘上。项目的在线数据位于 SIMATIC 存储卡上的装载存储器上。装载存储器位于 SIMATIC 存储卡上。TIA STEP7 将项目数据从编程设备传送到装载存储器。

1500cpu使用的是SIMATIC 存储卡(SMC),SIMATIC 存储卡作为程序存储器,可用通用的读卡器读写,若误删隐藏文件或格式化,可通过博途软件在线格式化恢复SMC功能。

一、1500存储卡的功能

S7-1500使用SIMATIC存储卡作为程序存储器。SIMATIC存储卡主要有以下功能:

1. 作为CPU的装载存储区,离开存储卡CPU就无法运行。

2. 可以用于更新S7-1500CPU及集中式IO模块的固件版本。

3. 读取服务数据。

二、存储卡信息

① 订货号

② 序列号

③ 产品版本

④ 存储器大小

⑤ 设置写保护的滑块:

—–滑块向上滑动:无写保护

—–滑块向下滑动:写保护

三、设置SIMATIC卡类型

SIMATIC 存储卡可用作程序卡或固件更新卡。

方式一:通过TIA STEP7的操作步骤:

1. 要设置卡类型,可将 SIMATIC 存储卡插入编程设备的读卡器。

2. 在项目树中选择“SIMATIC 读卡器”(SIMATIC Card Reader) 文件夹。

3. 在所选 SIMATIC 存储卡的属性中,指定卡类型:

● 程序卡

可将程序卡用作 CPU 的外部装载内存。它将包含 CPU 中的完整用户程序。CPU 将用

户程序从装载内存传输到工作存储器。用户程序在工作存储器中运行。

SIMATIC 存储卡上将创建以下文件夹:

– SIMATIC.S7

– SINAMICS.S7S(仅用适于 SIMATIC Drive Controller)

● 固件更新卡

可将 CPU 和 I/O 模块的固件文件保存在 SIMATIC 存储卡中。这样便可借助于专用的

SIMATIC 存储卡来执行固件更新。

SIMATIC 存储卡上将创建以下文件夹:FWUPDATE.S7S

注意:使用 SIMATIC 存储卡作为固件更新卡,取出和插入该卡不会导致保持性数据丢失。

方式二:用户还可以通过 SIMATIC 存储卡上的作业文件 S7_JOB.S7S 设置 SIMATIC 存储卡是作为程序卡还是固件更新卡使用。

四、SIMATIC 存储卡插入与移除

要插入 SIMATIC 存储卡,请按以下步骤操作:

1. 打开 CPU 的前盖。

2. 确保 CPU 已关闭或处于 STOP 模式。

3. 如 CPU 上所述,将 SIMATIC 存储卡插入到 SIMATIC 存储卡插槽中。

4. 轻轻用力将 SIMATIC 存储卡插入到 CPU,直至 SIMATIC 存储卡锁定。

要移除 SIMATIC 存储卡,请按以下步骤操作:

1. 打开前盖。

2. 将 CPU 切换至 STOP 模式。

3. 轻轻用力将 SIMATIC 存储卡按入 CPU 中。存储卡卡入到位后,即可取出 SIMATIC存储卡。仅当 CPU 处于 POWER OFF 或 STOP 模式时,才能取出 SIMATIC 存储卡。

五、使用序列号进行防拷贝保护

通过为CPU设置防拷贝保护,可以将块的执行与特定SIMATIC存储卡捆绑在一起。这样,只有在指定序列号的 SIMATIC 存储卡上,才能执行该块。

设置防拷贝保护:

1. 打开相应块的属性。

2. 请在“常规”(General) 下选择“保护”(Protection) 选项。

3. 在“防拷贝保护”(Copy protection)区域中,从下拉列表中选择“绑定 CPU的序列号”(Bind to serial number of the CPU)条目或“绑定存储卡的序列号”(Bind to serial number of the memory card)条目。

4. 输入 CPU 或 SIMATIC 存储卡的序列号。

5. 现在,可以在“专有技术保护”(Know-how protection) 区域中设置块的专有技术保护。

说明 :

1、如果将受防拷贝保护的块下载到与特定序列号不匹配的设备中,则将拒绝执行整个下载操作。也就是说不会下载不带防拷贝保护的块。

2、S7-1500R/H 冗余系统的 CPU 不支持防拷贝保护功能:

六、SIMATIC 存储卡的使用寿命

SIMATIC 存储卡只能执行有限次数的删除与写操作。通过用户程序对 SIMATIC 存储卡进行循环写入操作,将缩短 SIMATIC 存储卡的使用寿命。达到使用寿命时,存储卡可能会无法使用。

注意:随着存储卡写入/删除次数的不断增加,存储卡中数据的保留时间将随之下降。如果达到最大写入/删除次数的 90%,则保证的数据保留时间将缩减至 1 年。如果达到最大写入/删除次数,则无法保证所保存数据的保留时间。

七、使用SIMATIC 存储卡的注意事项

1、执行写入操作时,请勿移除 SIMATIC 存储卡。 如果在执行写入操作期间从 CPU 中移除存储卡,存储卡的内容可能会失效。存储区的保持性随后可能也会丢失。可能需要从 PG 中删除存储卡并重新加载程序。

2、从 CPU 中移出 SIMATIC 存储卡,关闭电源电压。

3、SIMATIC存储卡切勿使用 Windows 工具进行格式化。使用 Windows 进行格式化,将导致该存储卡初期在 CPU 中无法使用。

以上6点就是 西门子S7-1500存储卡的选择和使用 的相关信息,你学会了吗?还有很多优质的 PLC视频教程 ,有兴趣可以去看看。

用户评论

凝残月

我记得小时候玩过的那些掌机游戏就是使用这种フォーマット的吗?

    有6位网友表示赞同!

呆萌

终于找到专门下载SMC游戏的网站了!感觉自己又回到了童年。

    有7位网友表示赞同!

葵雨

SMC的游戏,是不是指的是一些老年代的游戏啊?

    有14位网友表示赞同!

巷雨优美回忆

我现在才知道,原来还有这种格式的游戏文件呢!

    有19位网友表示赞同!

娇眉恨

看来玩这些游戏需要特殊的设备吧?

    有12位网友表示赞同!

枫无痕

小时候玩的很多游戏都是模拟器的,现在还能用这个格式下载吗?

    有10位网友表示赞同!

慑人的傲气

SMC游戏下载方便吗?有什么难度吗?

    有13位网友表示赞同!

大王派我来巡山!

想下载些经典老游戏,这个网站看起来不错!

    有7位网友表示赞同!

墨染殇雪

下载SMC游戏要怎样运行才能玩?需要什么软件支持?

    有16位网友表示赞同!

一笑傾城゛

这种类型的格式游戏,是不是很难找到现有的资源呢?

    有15位网友表示赞同!

男神大妈

以前我朋友说他用的模拟器下载的SMC游戏,不知道这跟现在这个网站一样吗?

    有14位网友表示赞同!

*巴黎铁塔

SMC游戏和ROM有什么区别呢?

    有6位网友表示赞同!

爱情的过失

感觉这些老游戏的画面比较复古的啊!

    有14位网友表示赞同!

﹏櫻之舞﹏

玩这些经典老游戏,能够回忆起很多以前的趣事呀!

    有6位网友表示赞同!

?亡梦爱人

SMC格式的游戏可以兼容所有平台吗?我想要在电脑上运行。

    有10位网友表示赞同!

红玫瑰。

网站上有没有提供下载游戏的教程吗?

    有17位网友表示赞同!

限量版女汉子

这个网站上的游戏都有哪些分类?什么类型的都可以找到啊?

    有9位网友表示赞同!

她最好i

SMC游戏下载是否安全可靠呢?不会感染病毒吧?

    有15位网友表示赞同!