提问者:小点点

无法在MacOS Catalina下让Laravel Homestad工作,VM随机内核恐慌


我是一个经验丰富的全栈网络开发人员,几年来一直是Laravel's Homestad的快乐用户,但是我在我的新16"MacBook Pro上遇到了MacOS Catalina下Laravel Homestad的问题已经有几周了,我就是找不到问题是什么。发布流浪者向上后,该过程停止了90%的时间,等待成功SSH连接到VM。

当我通过VirtualBox打开VM的显示时,每次都会看到不同的错误,例如:

/sbin/init: /lib/x86_64-linux-gnu/libselinux.so.1: no version information available (required by /sbin/init)
/sbin/init: /lib/x86_64-linux-gnu/libmount.so.1: version 'BLKID_2.15' not found (required by /lib/x86_64-linux-gnu/libmount.so.1)
/dev/mapper/homestead--vg-root: clean, 197904/3604480 files, 1607396/14397440 blocks
Couldn't find an alternative telinit implementation to spawn.
[    3.535222] Kernel panic - not syncing: Attempted to kill i
/sbin/init: /lib/x86_64-linux-gnu/libidn.so.11: version 'XZ_5.0' not found (required by /lib/systemd/libsystemd-shared-237.so)
[    3.388154] Kernel panic - not syncing: Attmpted to kill init! exitcode=0x00000100
[    4.532862] systemd[395]: /lib/systemd/system-generators/lvm2-activation-generator failed with exit status 1

我在MacOS 10.15.4下运行Vagrent 2.2.7, VirtualBox 6.1.4 r136177.VM使用的磁盘映像称为ubuntu-18.04-amd64-disk001.vmdk。

我的Homestad配置来自Mojave下的一个工作设置,并且在Catalina下工作过,但我不知道发生了什么变化来阻止它工作。我迁移了两个Homestad环境:一个是运行我所有简单PHP网站的通用环境,另一个是运行Apache下单个网站的特定项目环境(这是一个繁重的企业应用程序,需要一些特定的配置才能正常工作,所以我将其与我的通用Homestad环境分开)。这曾经工作得很好,但现在两个Homestad环境都出现了完全相同的问题。

我有:

  • 更新到10.15.4(但在旧版本下也有问题)
  • 通过按D启动运行Apple的硬件测试,未发现问题
  • 重新安装VirtualBox
  • 删除了我所有的虚拟机和磁盘
  • 在新用户帐户下进行了大量测试
  • 将VM的所有设置设为默认值
  • 使用存储的“主机I/O缓存”设置

…但是在任何情况下,我都不能让一台新安装的Laravel Homestad机器带着一个新磁盘和一个新下载的盒子可靠地出现没有问题。这就好像十分之一的时候它确实有效,另外十分之九的时候我看到奇怪的错误和内核恐慌(在VM内),因为它在发出流浪者向上后试图出现。上面的错误只是典型的例子,我甚至还没有能够可靠地得到同样的错误。

这让我怀疑VM的输入/输出配置有问题,但是即使我没有接触它的任何默认设置,我也会遇到这些问题,但是我没有在网上找到其他用户对苹果卡特琳娜或新的16英寸苹果笔记本电脑上的拉拉维尔家园有问题。我慢慢地疯了,不知道还能去哪里找。


共1个答案

匿名用户

至少对我来说,解决方案是:问题在于英特尔Power Gadget内核扩展。卸载它,VirtualBoxLinux客户端VM内核恐慌应该会停止。

我最近遇到了一些非常相似的东西(Vagant 2.2.7,2018年底i5 MacBook Air上MacOS 10.15.4下的VirtualBox 6.1.4 r136177,Laravel的家园和WordPress网站的机箱)。尝试了我能找到的所有旧版本的VirtualBox和Vagrat,重新安装了macOS(尽管各种降级Mojave的尝试都没有成功)。浪费了大量时间,它阻止了我完成任何开发工作。

什么都不起作用,这让人恼火:每次我运行流浪者时,虚拟机总是在启动时出现内核恐慌,即使我确实设法在恐慌后用流浪者ssh连接到它们,它们总是坏了-运行sudo-s; apt-get update

所以我最终想:在苹果操作系统上,什么会把事情搞得这么奇怪?我能想到的只有内核扩展。我没有安装太多:Paragon的NTFS驱动程序(我后来卸载了)、Little Snitch,以及——多亏了iStat菜单的一些提示,说如果我安装它,它对电源监控会更好——英特尔电源小工具(适用于苹果操作系统的v3.7.0)。

所以,是时候快速测试一下我的家园VM内核是否在上恐慌了?是的,是的,它确实叹息了。好吧,让我们卸载一些内核模块并再次检查。打开一个终端并运行sudo-s成为root。

现在列出我们拥有的,不包括Apple kexts:

bash-3.2# kextstat  | grep -v com.apple.
Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
  163    0 0xffffff7f8446d000 0x4000     0x4000     com.intel.driver.EnergyDriver (3.7.0) 35E739F9-BF6C-3024-A67C-750711B3FB64 <8 6 5 3>
  187    0 0xffffff7f8468b000 0x185000   0x185000   at.obdev.nke.LittleSnitch (5470) A938A4D4-0642-39B0-A99E-4FA69C7F9660 <8 6 5 3 1>
  188    3 0xffffff7f84810000 0xf1000    0xf1000    org.virtualbox.kext.VBoxDrv (6.1.6) 13AC652B-A2C1-3E8E-809A-7604B284295D <8 6 5 3 1>
  191    0 0xffffff7f84919000 0x8000     0x8000     org.virtualbox.kext.VBoxUSB (6.1.6) 60779F27-059F-3030-9302-A74F05246760 <190 188 64 8 6 5 3 1>
  196    0 0xffffff7f8493b000 0x5000     0x5000     org.virtualbox.kext.VBoxNetFlt (6.1.6) 018767CF-8706-37EE-B97E-DEC1E0552BED <188 8 6 5 3 1>
  197    0 0xffffff7f84940000 0x6000     0x6000     org.virtualbox.kext.VBoxNetAdp (6.1.6) BB0DE95D-8041-32A2-B1D1-9144E531FB07 <188 6 5 1>

所以让我们卸载英特尔能源驱动程序:

bash-3.2# kextunload -b com.intel.driver.EnergyDriver

并检查它是否不再列出:

bash-3.2# kextstat  | grep -v com.apple.
Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
  187    0 0xffffff7f8468b000 0x185000   0x185000   at.obdev.nke.LittleSnitch (5470) A938A4D4-0642-39B0-A99E-4FA69C7F9660 <8 6 5 3 1>
  188    3 0xffffff7f84810000 0xf1000    0xf1000    org.virtualbox.kext.VBoxDrv (6.1.6) 13AC652B-A2C1-3E8E-809A-7604B284295D <8 6 5 3 1>
  191    0 0xffffff7f84919000 0x8000     0x8000     org.virtualbox.kext.VBoxUSB (6.1.6) 60779F27-059F-3030-9302-A74F05246760 <190 188 64 8 6 5 3 1>
  196    0 0xffffff7f8493b000 0x5000     0x5000     org.virtualbox.kext.VBoxNetFlt (6.1.6) 018767CF-8706-37EE-B97E-DEC1E0552BED <188 8 6 5 3 1>
  197    0 0xffffff7f84940000 0x6000     0x6000     org.virtualbox.kext.VBoxNetAdp (6.1.6) BB0DE95D-8041-32A2-B1D1-9144E531FB07 <188 6 5 1>

好的,它不再运行了。现在让我们试试流浪汉和…哇,VM不再崩溃了!流浪汉重新加载,它仍然很好。天哪。浪费了所有的时间,这是一个该死的kext。

我重新测试了我所有的机箱WordPress盒,它们开始都很好,重启并再次执行上述操作,我的虚拟机会一直内核恐慌,直到我卸载英特尔能源驱动程序。所以我很确定是英特尔电源小工具以某种方式与VirtualBox冲突,导致虚拟机内核恐慌。

不能肯定这是否是你遇到的同一个问题,但希望上面的信息能帮助任何不幸遇到这个问题的人,并阻止你再次遇到这个问题。