Вопрос или проблема
Я установил ChromeOS Flex на свой Macbook конца 2008 года. К сожалению, я пока не могу включить режим Linux. Эти ветки на reddit (1 и 2) предлагают, что изменение ChromeOS Flex на режим разработчика исправит это.
Поэтому я добавил флаг cros_debug
в файлы конфигурации GRUB
(efi и syslinux) и также проверил флаг kvm-intel.vmentry_l1d_flush=always
, который уже присутствовал в каждой записи конфигурационного файла grub.
Тем не менее, когда я пытаюсь запустить termina, я получаю следующее:
crosh> vmc start termina --untrusted
Error: operation `vm_start` failed: bad VM status: `VM_STATUS_FAILURE`: Host vulnerable against untrusted VM
[ERROR:src/main.rs:184] ERROR: command failed
Затем я попытался изучить уязвимости l1tf на своем ноутбуке, и вот что я обнаружил:
crosh> shell
chronos@localhost / $ cat /sys/devices/system/cpu/vulnerabilities/l1tf
Mitigation: PTE Inversion; VMX: EPT disabled
Редактирование: Теперь я также добавил kvm-intel.ept=0
, см. ниже:
chronos@localhost / $ cat /proc/cmdline
BOOT_IMAGE=/syslinux/vmlinuz.A init=/sbin/init boot=local rootwait ro noresume noswap loglevel=7 noinitrd console= kvm-intel.vmentry_l1d_flush=always kvm-intel.ept=0 dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 i915.modeset=1 cros_efi cros_debug root=/dev/dm-0 "dm=1 vroot none ro 1,0 4710400 verity payload=PARTUUID=E09BB354-34E7-5343-B0A2-BB06778C6B78 hashtree=PARTUUID=E09BB354-34E7-5343-B0A2-BB06778C6B78 hashstart=4710400 alg=sha256 root_hexdigest=<...> salt=<...>"
Я не уверен, что означают меры по смягчению в практическом плане, но мне интересно, есть ли еще какие-либо флаги GRUB
, которые я мог бы добавить, чтобы преодолеть ошибку, возникающую при запуске crostini?
Вы можете использовать следующую команду в оболочке другой дистрибуции Linux, чтобы проверить уязвимости ядра.
Например, для ChromeOS Flex
105.0.5195.4 dev на iMac8,1
все еще есть две уязвимости.
$ cat /sys/class/dmi/id/product_name
iMac8,1
$ grep -i Vulnerable /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/mds:Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
Полагаю, что Linux можно использовать только тогда, когда все уязвимости устранены или не затронуты.
Эти две уязвимости на iMac8,1
могут потребовать обновления микрокода Intel для их устранения, но Intel, похоже, не собирается обновлять микрокод для этого процессора.
$ sudo dmesg | grep microcode
[ 0.000000] microcode: microcode updated early to revision 0x60f, date = 2010-09-29
[ 0.217648] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[ 0.802913] microcode: sig=0x10676, pf=0x80, revision=0x60f
[ 0.802975] microcode: Microcode Update Driver: v2.2.
Ответ или решение
Установка Linux на ChromeOS Flex на устаревших устройствах, таких как ваш Macbook 2008 года, может быть сложной задачей из-за уникальных аппаратных характеристик и проблем с совместимостью. Ваша цель — включить режим Linux на ChromeOS Flex, но вы столкнулись с проблемами, связанными с уязвимостями безопасности на уровне процессора.
Теория
ChromeOS Flex — это операционная система на основе ChromeOS, адаптированная для работы на широком диапазоне старых и новых компьютеров. Она предназначена для улучшения производительности и безопасности устройств, но может предъявлять дополнительные требования к аппаратным средствам. Одним из ключевых компонентов ChromeOS является возможность запускать Linux (также известный как Crostini), который позволяет использовать контейнеры для выполнения приложений Linux.
Однако, не все устройства, особенно устаревшие, поддерживают Crostini. В подобных случаях, проблемы могут возникать из-за уязвимостей процессора, таких как L1TF (L1 Terminal Fault), MDS (Microarchitectural Data Sampling), и других, которые требуют специальных механизмов управления памятью, например, EPT (Extended Page Table).
Пример
Ваш Macbook из 2008 года имеет процессор, который уязвим к L1TF, и для снижения этой уязвимости, вам нужно отключить EPT. Это может быть сделано через параметры GRUB, как вы уже пробовали, добавив kvm-intel.ept=0
. Однако, некоторые функции Chromebook, используемые для Crostini, полагаются на EPT, что делает задачу сложной: отключив EPT, вы устраняете часть уязвимостей, но сталкиваетесь с ограничениями по функциональности.
Более того, проблема с microcode заключается в том, что производители, такие как Intel, не всегда предоставляют обновления microcode для устаревших моделей процессоров. Это означает, что даже если уязвимости известны, на аппаратном уровне исправить их невозможно без поддержки производителя.
Применение
Решение вашей проблемы, вероятно, потребует комплексного подхода:
-
Проверка поддержки процессора: Определите, существуют ли обновления microcode для вашего процессора. Если обновления есть, они должны быть применены. Это можно сделать через операционные системы, поддерживающие загрузку обновленного microcode, например, использовать дистрибутивы Linux с поддержкой microcode (например, Ubuntu или Fedora).
-
Альтернативный способ использования Linux: Если включение Crostini проблематично, рассмотрите возможность установки легковесной версии Linux в качестве второй ОС на данном устройстве. Дистрибутивы, такие как Xubuntu или Linux Mint Xfce, могут обеспечить легкость и функциональность на устаревшем оборудовании.
-
Ограничение функциональности ChromeOS Flex для работы с Crostini: Возможно, вам придется пожертвовать некоторыми функциями ChromeOS Flex, если цель — использование Linux. Это может включать отказ от некоторых мер предосторожности, которые в противном случае требуются для современной безопасности операционной системы.
-
Использование виртуализации с осторожностью: Если всё же планируется использование Crostini, необходимо понять взаимодействие различных опций, таких как
kvm-intel.ept
иkvm-intel.vmentry_l1d_flush
, и найти баланс между безопасностью и функциональностью. Используйте только те параметры, которые минимизируют уязвимости без серьёзного ущерба производительности. -
Сообщество и поддержка: Подключайтесь к сообществам пользователей старых устройств с ChromeOS Flex (например, Reddit) для обмена опытом и возможных решений от пользователей с аналогичными проблемами.
Заключение
Установка и использование Linux на старых устройствах с ChromeOS Flex требует внимательного подхода к вопросам совместимости и безопасности. Изучение внутренних особенностей работы вашего процессора и возможностей конфигурации GRUB — ключ к частичному успеху. Если это и не решит всех проблем, но по крайней мере, может позволить вам более уверенно подойти к использованию Linux на вашем устройстве.