Не могу заставить Laravel Homestead работать под MacOS Catalina, случайная паника ядра в ВМ - PullRequest
1 голос
/ 07 апреля 2020

Я опытный веб-разработчик полного стека, в течение нескольких лет счастливый пользователь Homestead Laravel, но у меня были проблемы с Laravel Homestead под MacOS Catalina на моем новом 16-дюймовом MacBook Pro уже несколько недель, и я просто не могу выяснить, в чем проблема. После выдачи vagrant up процесс останавливается 90% времени в ожидании успешного подключения S SH к виртуальной машине.

Когда я открываю дисплей виртуальной машины через VirtualBox, я каждый раз вижу разные ошибки, такие как:

/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

Я прилагаю скриншоты некоторых из этих ошибок для более подробной информации я просто набрал их здесь, чтобы улучшить возможности Google.

Я использую Vagrant 2.2.7, VirtualBox 6.1.4 r136177 под MacOS 10.15.4. Образ диска, используемый виртуальной машиной, называется ubuntu-18.04 -amd64-disk001.vmdk.

Моя конфигурация Homestead исходила из рабочего набора под Mojave и работала под Catalina, но я понятия не имею, что изменилось, чтобы остановить его. Я перенес два Homes Среда tead: один универсальный c, который запускает все мои простые PHP веб-сайты и один c со спецификацией проекта, который запускает один веб-сайт под Apache (это тяжелое корпоративное приложение, для которого требуется определенная * 1057) * config, чтобы работать должным образом, поэтому я отделил его от своего родового окружения c Homestead). Раньше это работало нормально, но теперь обе среды Homestead дают такие же проблемы.

У меня есть:

  • , обновленный до 10.15.4 (но имел проблему и в более старых версиях )
  • запустить аппаратный тест Apple, загрузившись с нажатой клавишей D, проблем не обнаружено
  • переустановил VirtualBox
  • удалил все мои виртуальные машины и диски
  • сделал много тестирования под новой учетной записью пользователя
  • оставил все настройки виртуальной машины по умолчанию
  • , проиграв с настройками хранилища 'Host I / O Cache'

.. но ни при каких условиях я не могу получить только что установленную Laravel Homestead машину с диском fre sh и только что загруженной коробкой, чтобы надежно работать без проблем. Как будто один из десяти раз работает, а остальные девять из десяти я вижу странные ошибки и панику ядра (внутри ВМ), когда он пытается подняться после выдачи vagrant up. Вышеприведенные ошибки являются типичными примерами, я даже не смог точно получить ту же ошибку.

Это заставляет меня подозревать, что что-то не так с конфигурацией ввода / вывода виртуальной машины, но даже если я не могу Прикоснитесь к любым настройкам по умолчанию, с которыми я сталкиваюсь, но я не нахожу других пользователей онлайн, у которых есть проблемы с Homestead Laravel на MacOS Catalina или на новом 16 "MacBook Pro. Я постепенно схожу с ума и понятия не имею, где еще искать.

error1 error2 error3

1 Ответ

1 голос
/ 27 апреля 2020

Решение для меня, по крайней мере: проблема заключалась в расширении ядра Intel Power Gadget. Удалите его, и паника ядра виртуальной машины клиента VirtualBox Linux должна прекратиться.

Я столкнулся с чем-то очень похожим недавно (Vagrant 2.2.7, VirtualBox 6.1.4 r136177 под MacOS 10.15.4 в конце 2018 года i5 MacBook Air, Homestead для Laravel и шасси для сайтов WordPress). Перепробовал все старые версии VirtualBox и Vagrant, которые я смог найти, переустановил macOS (хотя различные попытки понизить Mojave оказались безуспешными). Потеря времени, и это мешало мне делать какие-либо разработки.

Ничто не работало, это приводило в бешенство: каждый раз, когда я запускал vagrant up, виртуальные машины всегда загружали ядро ​​pani c при загрузке, и даже если бы мне удалось каким-то образом подключиться к ним после * pan 10i * с vagrant ssh, они всегда были повреждены - при запуске sudo -s; apt-get update && apt-get upgrade не удалось бы загрузить пакеты или не установить, странным образом, они не реагировали бы на сеть запросов, и т. д. c.

Итак, я подумал: что может так странно испортить ситуацию в macOS? Расширения ядра - это все, что я мог придумать. У меня не было много установленных: драйвер NTFS от Paragon (который я с тех пор удалил), Little Snitch и - благодаря некоторому подталкиванию из меню iStat, говорящему, что было бы лучше для мониторинга питания, если бы я установил его - Intel Power Gadget ( v3.7.0 для MacOS).

Итак, самое время быстро проверить, не паникует ли мое ядро ​​Homestead VM на vagrant up? Да, да вздох . Хорошо, давайте выгрузим некоторые модули ядра и проверим еще раз. Откройте терминал и запустите 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>

Итак, давайте выгрузим драйвер энергии Intel:

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>

Правильно, он больше не работает. Теперь давайте попробуем vagrant up и… вау, виртуальная машина больше не будет sh! vagrant reload и все еще в порядке. О, мой бог. Все это время было потрачено впустую, и это был чертовски kext.

Я перепроверил со всеми своими WordPress-ящиками Chassis, и все они тоже начали нормально, перезагружался и делал вышеописанное снова, и мои виртуальные машины постоянно работали с ядром pani c пока я не выгрузил драйвер энергии Intel. Так что я почти уверен это гаджет Intel Power, который как-то конфликтует с VirtualBox и заставляет виртуальные машины вызывать пани c.

Не могу точно сказать, если это то же самое проблема, с которой вы столкнулись, но, надеюсь, приведенная выше информация поможет любому, кому не повезет, столкнуться с этой проблемой и перестанет сталкиваться с этой проблемой снова.

...