Как установить windows 10 на mac с чипом m1

Разновидности процессоров ARM

Если вы знаете про ARM, то этот раздел можно смело пропустить.

В производстве и эксплуатации сейчас встречаются процессоры ARM пяти архитектур: ARMv4, ARMv5, ARMv6, ARMv7 и ARMv8. Компания ARM дает этим архитектурам коммерческие названия, поэтому ARMv4 называется, например, ARM7, ARMv5 – ARM9, а название Cortex имеют процессоры на архитектурах ARMv6, v7, v8. Следующая таблица перечисляет основные разновидности.

Архитектура Коммерческое название Распространенные виды Запуск Linux
ARMv4 ARM7 ARM7TDMI Нецелесообразно
ARMv5 ARM9 ARM926EJ-S Да
ARMv6 ARM11 ARM1176JZF-S Да
Cortex-M0 Cortex-M0 Нет
ARMv7 Cortex-M Cortex-M3 Нецелесообразно
Cortex-A Cortex-A9 Да
Cortex-R Cortex-R4 Да
ARMv8 Cortex-A Cortex-A53 Да

Например, кнопочные телефоны в основном используют ARM7, а смартфоны – Cortex-A. Современные смартфоны строятся преимущественно на ARMv8, единственных 64-битных. Процессоры ARM7 и ARM9 широко применялись в различных промышленных контроллерах, сетевом оборудовании, а сейчас фокус переходит на использование в них Cortex-A. В различной бытовой технике, мелких электронных приборах, в области безопасности и т.п. применяются микроконтроллеры Cortex-M.

Вообще все устройства ARM можно условно разбить на микроконтроллеры и Application Processor.

  • Микроконтроллеры отличаются наличием на кристалле Flash-памяти и рабочего ОЗУ. Применяются для задач относительно малой автоматизации.
  • Application Processor преимущественно пользуется внешней памятью — DDRAM и Flash. Мы их дальше будем называть просто — процессоры. Масштаб задач у них больше.

Долгое время одни и те же архитектуры ARM7, ARM9 использовались как для построения процессоров, так и микроконтроллеров. С появлением линейки Cortex произошло разделение, и теперь микроконтроллеры называются Cortex-M, а процессоры Cortex-A и Cortex-R.

Простое маршрут: использовать галерею UTM

UTM предоставляет несколько готовых виртуальных машин, которые вы можете загружать и установить, что позволяет вам ударить на землю и не беспокоиться о настройке собственной машины. Это, безусловно, самый простой маршрут, чтобы взять, с поддержкой некоторых популярных дистрибутивов, таких как Arch Linux (ARM), Debian (ARM), Ubuntu (X86-64 и ARM).

Для Linux и похоже

Открытый исходный код

Проекты, загрузки VM снабжены всем необходимым, включая изображение диска, необходимое для запуска операционной системы.

Вы также можете использовать эту функцию галереи для загрузки готовых к видеомагнитофон для виртуальных машин для Windows 10 и 11, Windows XP и MacOS 9, но вам нужно будет предоставить свои собственные дисковые изображения.

Просто отправляйтесь на страницу галереи и выберите VM, вы хотите установить. Нажмите «Загрузить», чтобы сохранить конфигурацию на диск, затем откройте UTM и нажмите «Файл и GT»; Импортировать виртуальную машину.

Выберите загруженный вами файл UTM, и он будет импортирован. В случае Linux все, что вам нужно сделать, это нажмите кнопку «PLAY», а ваша виртуальная виртуальная машина начнется. Мы настоятельно рекомендуем ARM64 изображения по причинам эффективности. В нашем тестировании X8644 версия Ubuntu исчерпала на ледковом темпе даже на M1 Max Processor.

Рекомендации IT-специалистам при заказе

Сегодня спрос на ARM-процессоры в сегменте ЦОД показывает двузначный рост г/г, и в основном он поддерживается со стороны гиперскейлеров, приобретающих серверы сотнями и тысячами. Видя перед собой готовый работающий сервер на ARM64, понимаешь, что будущее уже наступило, и можно плавно начинать отстраивать сегменты ЦОД на альтернативной архитектуре, используя Taishan 2280 v2 в роли кирпичиков, а функции СХД, SD-WAN и шлюзов безопасности отдать на откуп софту.

Что нужно запомнить перед покупкой Taishan 2280 V2:

  • Это такой же технологичный гиперконвергентный сервер, как какой-нибудь DL380 G10 или PowerEdge R840. Но в отличии от них, это настоящий New Age, реально что-то новое за последние 30 лет.
  • Сейчас здесь только Linux! Никаких VMware, FreeBSD, или свят-свят-свят, Windows Server здесь нет, и появятся или нет — не ясно. Коммерческие дистрибутивы дружат с процессорами Kunpeng и осуществляют по ним техподдержку.
  • Всё готово для выполнения плана импортозамещения
  • Стандартные простые задачи, такие как хостинг, работа с базами данных, балансировка трафика, VPN здесь работают прямо из коробки, устанавливаясь и настраиваясь теми же командами, что и под x86/AMD64.
  • Чем больше приложений у вас вынесены в контейнеры, тем легче пройдёт внедрение.
  • Проблемы могут возникнуть с коммерческим софтом, не распространяющим исходные коды и с какими-то библиотеками, особенно научными.

Учитывая, что этот сервер имеет высочайшую степень независимости от американских компаний, это идеальное решение для построения масштабируемой инфраструктуры на основе Kubernetes или Docker Swarm, с производительностью не ниже x86/AMD64, но при этом устойчивое к торговым войнам и сакнциям.

Михаил Дегтярёв (aka LIKE OFF)

15/04.2020

О способе установки

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

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

Кроме того, решение с использованием установки образа ISO по-прежнему возможно в UTM, но реестр также необходимо изменить, чтобы обойти два условия установки: TPM и безопасную загрузку (метод см. Выше). 

В то же время из-за недостатков в UTM-моделировании USB-шины существует определенная вероятность того, что в процессе установки возникнет проблема, похожая на «сброс диска», то есть невозможно продолжить чтение данных из образ ISO. До сих пор сообщество не нашло способа полностью избежать этого. Если вы столкнетесь с переустановкой, вы, как правило, не будете «выигрывать в лотерею» постоянно. 

Используйте обходные пути удаленного рабочего стола для достижения разрешения высокой четкости

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

Однако обратите внимание, что к операционным системам Windows можно получить удаленный доступ через протокол RDP, который не требует встроенной поддержки каких-либо дополнительных драйверов, а разрешение можно установить независимо; также обратите внимание, что сетевой режим VMware по умолчанию (NAT), виртуальная машина и хост-машина находятся в одной виртуальной локальной сети ( vmnet8 ). 

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

Для этого сначала включите удаленный рабочий стол на виртуальной машине. Метод состоит в том, чтобы перейти в «Настройки»> «Система»> «Удаленный рабочий стол» и включить опцию «Удаленный рабочий стол». 

Затем откройте терминал Windows Terminal, выполните команду IPCONFIG команду и запишите отображаемый IP-адрес аппарата ( 192.168.162.128 как показано на рисунке ниже). 

Затем загрузите и установите бесплатное приложение Microsoft Remote Desktop (конечно, вы также можете использовать более качественное платное программное обеспечение, такое как Jump Desktop). После открытия нажмите кнопку «Добавить компьютер», введите IP-адрес, указанный на предыдущем шаге, в поле «Имя ПК» и добавьте учетную запись администратора виртуальной машины в поле «Учетная запись пользователя». 

Наконец, переключитесь на вкладку «Дисплей», отметьте «Оптимизировать для дисплеев Retina» и «Обновить разрешение сеанса при изменении размера» и нажмите «Сохранить». 

Таким образом, вы можете использовать виртуальную машину с разрешением высокой четкости и масштабированием в реальном времени с размером окна. Поскольку это локальный экран передачи, за исключением периодических зависаний, задержки практически нет. Если вы хотите еще больше повысить скорость отклика, вы можете отключить визуальные элементы, такие как анимация, тени и обои. 

 Установить с UTM 

UTM (https://mac.getutm.app/) — это программное обеспечение для виртуальных машин с открытым исходным кодом, нижним уровнем которого является виртуальная машина QEMU из командной строки, которую можно назвать упаковкой графического интерфейса последнего. Наиболее известное появление UTM может быть в новостях о побеге из тюрьмы iOS — в настоящее время это очень редкая виртуальная машина, которая может работать на iOS. 

В macOS UTM работает одинаково хорошо. Одна из самых простых функций заключается в том, что он разработан в строгом соответствии с современными спецификациями интерфейса macOS и очень совместим с новым собственным стилем после macOS Big Sur. Он выделяется среди обычно «взъерошенного» мира с открытым исходным кодом. 

Благодаря накоплению на iOS, UTM очень быстро реализовала адаптацию к микросхеме Apple. Он может работать на MacBook Pro с процессором M1 через UTM вскоре после запуска версии Windows 10 ARM в прошлом году. 

С точки зрения использования, использование UTM аналогично использованию VMware, и в официальном документе обновлены шаги по установке Windows 11. Просто обратитесь к шагам VMware и инструкциям в этом документе. Здесь приведены только советы по устранению типичных проблем, обнаруженных после личных попыток. 

Много ли Тайшаней?

Да, Huawei решила охватить весь спектр серверного рынка, ну разве кроме блейдов и совсем уж бюджетки. Рассматриваемый Taishan 2280 V2 относится к классу универсальных серверов в оппозит HP DL380, но есть так же Taishan 5280 в 4U корпусе на 40 жёстких дисков, Taishan X6000 в Hi-Density корпусе на 4 ноды, анонсирован Edge-сервер (читайте что такое Edge вычисления ), и плюс к этому, компания переведёт на KunPeng свои системы хранения данных (читайте обзор Huawei OceanStor 2200 V3), которые сейчас используют процессоры Xeon.

То есть, Taishan — это не какой-то разовый, экспериментальный продукт, а уже готовый к внедрению ARM-based мир, на который вы можете переходить без оглядки на архитектуру x86, но мы всё равно будем раз за разом обращаться к совместимости с Intel/AMD.

Загрузка с TrustZone

Эти процессоры в основном нацелены на рынок смартфонов и планшетных компьютеров, и TrustZone используется для создания в режиме Secure доверенной “песочницы” для исполнения кода, связанного с криптографией, DRM, хранением пользовательских данных.

В режиме Secure при этом запускается специальная ОС, называемая в общем случае TEE (Trusted Execution Environment, доверенная среда исполнения), а нормальная ОС, такая, как Linux, Android, iOS, запускается в режиме Non-Secure. При этом права доступа к некоторым устройствам ограничены для нормальной ОС, поэтому ее еще называют гостевой ОС.

Из-за наложенных ограничений гостевая ОС вынуждена время от времени вызывать функции TEE для исполнения некоторых операций. TEE продолжает существовать параллельно с гостевой ОС все время, и гостевая ОС не может ничего с этим поделать.

Например, гостевая ОС использует функции TEE для:

  • включения и выключения ядер процессора (в ARMv8-A это происходит через PSCI — часть ARM Trusted Firmware, а в ARMv7 — по-разному для каждого производителя процессоров);
  • хранения ключей, данных банковских карт и т.п.;
  • хранения ключей полнодискового шифрования;
  • операций с криптографией;
  • отображения DRM-контента.

При этом, с точки зрения безопасности, на время таких вызовов управление передается в неизвестный нам, непроверенный код. Мы не можем однозначно сказать, что делают Samsung KNOX или QSEE от Qualcomm.

Почему же разработчики систем соглашаются на такой режим функционирования? В процессоры с поддержкой TrustZone встроен и механизм Secure Boot в том или ином виде.

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

То есть загрузка ОС становится следующей:

  1. стартует предзагрузчик в ROM. Он загружает ключи для проверки подписи TEE из ROM;
  2. предзагрузчик загружает в память образ TEE, проверяет подпись. Если проверка прошла успешно, запускается TEE;
  3. TEE настраивает режимы Secure и Non-Secure. Далее TEE загружает основной загрузчик ОС и переходит на него в режиме Non-Secure. Сам TEE остается в режиме Secure и ждет;
  4. загрузчик основной ОС загружает ОС как обычно;
  5. ОС вынуждена время от времени вызывать функции TEE для выполнения некоторых задач.

Однако производитель, как правило, поставляет подписанные образы загрузчика и TEE в составе SDK для процессора и поставляет процессоры, уже “зашитые” ключом производителя. В этом случае предзагрузчик из ROM не станет выполнять любой загрузчик, если он не подписан производителем. Все основные процессоры для смартфонов сейчас поставляются уже “прошитыми” под исполнение собственного TEE перед исполнением загрузчика ОС.

Далее действует лень — c TEE все работает, а без TEE даже не запускается. Разработчики используют SDK с TEE, вызывают закрытый бинарный код из ядра Linux и не волнуются.

3.Так что же за KunPeng такой?

Мы знаем про ARM процессоры, что они установлены в смартфонах, и сегодня ни у кого не возникает сомнения в их производительности и энергоэффективности. Я не возьму на себя смелость объяснять плюсы и минусы ARM-архитектуры перед x86, полагая что кто-то это уже сделал до меня или сделает вместо. Гораздо важнее, что x86 и ARM не совместимы, и грубо говоря, обычную Windows вы на KunPeng не поставите, и ваш старый Linux простым копированием файлов на новый сервер не перенесёте. Для некоторых отсутствие живой миграции ВМ c Intel на AMD — уже катастрофа (почему лишь для некоторых — читайте нашу статью), а здесь целый мир другой: вам придётся использовать ARM-версии ваших операционных систем и их программ, а некоторые компилировать заново… Закоренелые айтишники скажут, что с такой совместимостью у сервера на рынке шансов нет, и это похоронило в своё время Itanium и отбросило на задворки галактики IBM Power, но нет же: сообщество ARM растёт. Почему?

Потому что ARM в железе легко масштабируется. Сегодня Kunpeng — это до 64 ядер на одном процессоре, произведённом по 7 нм технологии, 8-канальный контроллер передовой памяти DDR4-2933, PCI Express 4.0, интегрированный 100-гигабитный сетевой контроллер с поддержкой RDMA, 64 Мб кэша L3, а завтра это можно будет взять и удвоить, ведь чиплетная конструкция на ARM архитектуре позволяет практически бесконечно масштабировать вычислительную мощность … чуть не забыл — в одном сервере может быть до 4 процессоров KunPeng. И да, если это имеет для вас какое-то значение — «китайские братья» обычно делают дешевле, чем «американские партнёры», поэтому при одинаковом количестве ядер Huawei Taishan должен быть дешевле, чем его аналог на Intel Xeon или AMD EPYC.

Но не спешите гнать лошадей, ведь на сегодня Kunpeng-ов как минимум — 7 модификаций, а на сайте Huawei информацию о них нужно искать «днём с огнём». Кстати, на всех чипах красуется логотип компании Hisilicon, на сайте которой информации ещё меньше. И даже то, что это – дочерняя компания Huawei выдают только копирайты внизу веб-страниц. Очевидно, это очередная политическая интрижка, лучший способ не увязнуть в которой — посмотреть на железо своими, ну или нашими глазами.

Предложения по сравнению и выбору производительности

После описанных выше шагов настройки Windows 11, установленная с помощью VMware Fusion и UTM, может нормально подключаться к Интернету, и операция будет относительно плавной. Согласно тестам, обычные приложения, такие как браузеры и Office, работают без проблем. 

Что касается производительности, я сделал не очень хороший тест. На 16-дюймовом MacBook Pro, оснащенном процессором M1 Max, с использованием конфигурации, описанной выше (двухъядерный, 4 ГБ памяти) через образ ISO, показаны результаты работы GeekBench 5.

Видно, что производительность VMware Fusion на бумаге немного выше, чем у UTM, и обе уступают Parallels Desktop, но разрыв невелик; ощущение при реальном использовании в целом такое же. 

Следовательно, если требования невысокие, но иногда необходимо использовать Windows, рекомендуется использовать VMware Fusion. . Он не только бесплатный, поскольку поддерживается коммерческими компаниями, его последующая адаптация может быть более своевременной и полной, чем проекты с открытым исходным кодом. 

С другой стороны, если ваша повседневная работа в значительной степени зависит от среды Windows, то платный, но официально поддерживаемый Parallels Desktop может быть лучшим выбором. . С одной стороны, за дополнительную плату можно упростить и упростить процесс установки, а также получить расширенные функции, улучшающие взаимодействие с пользователем, такие как режим интеграции (то есть прямое отображение окна приложения Windows на рабочем столе Mac ). Напротив, хотя бесплатную официальную версию VMware стоит с нетерпением ждать, чиновник до сих пор не дал письмо о расписании, поэтому ждать его не стоит. 

Удалённое управление есть?

Признайтесь, что непривычно лицезреть сервер без чипа ASpeed AST1500/2500, отвечающего за BMC, а всё потому, что здесь используется контроллер Hi1710 от той же Huawei.С точки зрения всяких там «антисанкций» — это идеально, потому что ASpeed — компания тайваньская, а Hisilicon — это тот же Huawei, и доверять управление сервером стороннему поставщику — небезопасно и непрестижно.

К тому же, мы «сами с усами», и у нас полноценный HTML5 интерфейс, которому (будем честны перед собой) до ASpeed-а всё же далековато: нет поддержки мобильных браузеров, нельзя подключать образ по CIFS/NFS, но правда есть и очень хорошие вещи, например, одновременная работа нескольких операторов с консолью, автоматические скриншоты и видеозапись ошибок и выбор роли пользователя BMC, а так же интеграция в домен.

В целом, по конструкции видно, что Huawei имеет большой опыт в производстве x86 серверов, и здесь компания просто реализовала свой потенциал, что читается буквально в каждой детали. И прежде чем мы оживим этого монстра, нажав виртуальную кнопку Power, давайте повторим что здесь из компонентов из какой страны. Учитывая, что всё производится в Китае, меня интересует к какой юрисдикции относится штаб-квартира разработчика того или иного устройства.

Компонент

Юрисдикция штаб-квартиры разработчика

Процессоры / SoC

Разработка процессоров

Китай

Производство процессоров

Тайвань

Дисковая подсистема

Контроллеры

Сингапур (Малайзия)

HDD

США

SSD

Южная Корея

Сетевые интерфейсы

1 Гбит/с

Тайвань

25 Гбит/с

Китай

Удаленное управление iBMC

Китай

Железо

Система охлаждения

Тайвань

Блоки питания

Китай

Конечно, мы который год в обзорах пишем, что пора переходить на SSD, но никогда ещё причина не была политической.

Вы не можете запустить Linux в отношении Apple Clibon (пока)

Находной поддержкой Linux для яблочных кремниевых чипсов приходит. Если вы больше не можете дождаться, вы можете запустить Linux прямо сейчас на виртуальной машине.

Вы можете сделать это бесплатно с помощью приложения виртуальной машины (VM)

Утром

Отказ Там также платят 9,99 долларов

Версия App Store Mac

То, что вы можете купить для поддержки разработчиков и получить доступ к автоматическим обновлениям через интерфейс хранилища.

Вы можете использовать это приложение для эмуляции большого количества процессорных архитектур, включая X86-64 («правильный» настольный Linux), а также

РУКА

а также

PowerPc.

Отказ

Начать, скачать UTM и A

Распределение Linux.

Из вашего выбора, затем начните при создании виртуальной машины с UTM.

Запустите Windows To Go с внешнего диска с помощью WinToUSB

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

Использование Windows To Go похоже на систему с двойной загрузкой, за исключением того, что Windows запускается с совершенно другого диска вместо отдельного раздела. Это означает, что вам все равно нужно перезагружать ваш Mac всякий раз, когда вы хотите переключить операционные системы.

К сожалению, системы Windows To Go ограничены скоростью передачи данных и чтения/записи вашего внешнего диска и портом, к которому они подключены.

В идеале следует использовать диск USB 3.0 со скоростью записи не менее 50 МБ / с. Вы также должны убедиться, что вы подключаете его к порту USB 3.0 на вашем Mac для самого быстрого соединения.

Как установить Windows To Go для Mac на внешний диск

Хотя Microsoft отказалась от официальной функции Windows To Go в 2019 году, вы все равно можете использовать аналогичную настройку благодаря стороннему программному обеспечению. В настоящее время самый простой способ установить Windows To Go на внешний диск — это WinToUSB.

Это бесплатное приложение для Windows, поэтому вам нужно использовать компьютер с Windows или виртуальную машину, чтобы временно установить его на свой Mac. Если у вас нет под рукой Windows-машины, мы предлагаем вам использовать для этого виртуальную машину VirtialBox.

Вам также необходимо загрузить файлы поддержки из Boot Camp, чтобы оборудование Mac работало с Windows. Откройте Boot Camp Assistant в macOS и выберите Действие > Загрузить программное обеспечение поддержки Windows в строке меню.

Когда файлы поддержки завершат загрузку, скопируйте и вставьте их в свою виртуальную машину.

Теперь подключите ваш внешний диск и откройте Дисковую утилиту на вашем Mac. Сотрите и переформатируйте диск как macOS Extended (Journaled) со схемой карты разделов GUID. Как только это будет сделано, извлеките и снова подключите его к вашей виртуальной машине.

В вашей виртуальной машине загрузите образ диска Windows ISO и установите WinToUSB.

Щелкните правой кнопкой мыши кнопку «Пуск», чтобы открыть Управление дисками, и выберите внешний диск. Здесь щелкните правой кнопкой мыши основной раздел диска и выберите Удалить том, затем снова щелкните правой кнопкой мыши и создайте Новый том. Установите файловую систему на NFTS .

Откройте WinToUSB и выберите внешний диск в качестве места назначения для Windows. Выберите ваш загрузочный и системный разделы и выберите Legacy mode для установки.

После того, как WinToUSB установит Windows на ваш внешний диск, используйте файловый проводник, чтобы скопировать через папку поддержки Windows из Boot Camp Assistant.

Наконец, перезагрузите Mac и удерживайте Option, пока он включается для загрузки Windows To Go с внешнего диска. Откройте папку поддержки Windows и перейдите в Boot Camp > Настройка.

Установка пакетов

Установим базовые пакеты системы. В этот список вы можете добавить какие-нибудь нужные вам пакеты для установки.

# pacstrap -i mnt base base-devel linux linux-headers nano dhcpcd grub

После выполнения команды и выбора всех пакетов, скачаются(около 150 Мб) и установятся(около 130) последние версии необходимых пакетов.

Важно: если вы ведёте установку по Wi-Fi, то вам необходимо установить пакеты netctl, dialog и wpa_supplicant:

# pacstrap -i mnt netctl dialog wpa_supplicant

Важно: если вы ведёте установку используя pppoe, то вам необходимо установить пакет rp-pppoe:

# pacstrap -i mnt rp-pppoe

Как проверить свой проект на обращения к TrustZone

Может даже показаться, что всей этой TrustZone не существует, по крайней мере, в вашей конкретной разработке. Проверить это совсем несложно.

Дело в том, что все процессоры с TrustZone стартуют в режиме Secure, а только потом переключаются в Normal. Если ваша ОС запущена в режиме Normal, то какая-то Secure OS (TEE) существует в системе и перевела ее в этот режим.

Лакмусовой бумажкой является обращение к TEE для включения кэш-памяти 2-го уровня. По какой-то причине архитектура ARM не позволяет этого делать из Normal World. Поэтому для включения кэша ядру ОС потребуется сделать хоть один вызов к TrustZone. Делается это единственной командой: smc #0, и вы можете поискать ее сами в ядре Linux или Android.

Разумеется, мы и сами поискали, и нашли такие вызовы в коде поддержки ряда процессоров Qualcomm, Samsung, Mediatek, Rockchip, Spreadtrum, HiSilicon, Broadcom, Cavium.

Первичная настройка системы

Сгенерируем fstab, для этого используем следующую команду:

# genfstab -p mnt >> mntetcfstab

Перейдём в установленную систему:

# arch-chroot mnt binbash

Добавим русскую локаль в систему:

В файле /etc/locale.gen раскомментируйте(уберите # вначале) строку #en_US.UTF-8 UTF-8 и строку #ru_RU.UTF-8 UTF-8

# nano etclocale.gen

(закрыть файл: Ctrl + X)

# locale-gen

Добавим русскую локаль в консоль:

Откройте файл /etc/mkinitcpio.conf:

# nano etcmkinitcpio.conf

В разделе HOOKS, должен быть прописан хук keymap.
В разделе MODULES нужно прописать свой драйвер видеокарты: i915 для Intel, radeon для AMD, nouveau для Nvidia. Пример, как это может выглядеть: https://pastebin.com/xknvDX33
(закрыть файл: Ctrl + X)

Создадим загрузочный RAM диск:

# mkinitcpio -p linux

Установим загрузчик (для BIOS):

# grub-install devsda

Установим загрузчик (для EFI):

# grub-install --target=x86_64-efi --efi-directory=bootEFI --bootloader-id=grub

Обновим grub.cfg:

# grub-mkconfig -o bootgrubgrub.cfg

Внимание: если при создании grub.cfg у вас были ошибки, то попробуйте добавить GRUB_DISABLE_SUBMENU=y в /etc/default/grub. Установим root пароль:

Установим root пароль:

# passwd
# exit

Отмонтируем ранее монтируемые разделы:

# umount mnt{boot,home,}

Сейчас следует перезагрузить систему.

# reboot

И нужно зайти в root пользователя с помощью ранее введённого пароля.

Изменим имя компьютера(замените myhostname на своё):

# hostnamectl set-hostname myhostname

Установим временную зону:

# timedatectl set-timezone EuropeMoscow

Локализуем систему:

# localectl set-keymap ru
# setfont cyr-sun16
# localectl set-locale LANG="ru_RU.UTF-8"
# export LANG=ru_RU.UTF-8

Добавим строку FONT=cyr-sun16 в /etc/vconsole.conf.

Обновим загрузочный RAM диск:

# mkinitcpio -p linux

Обновим grub.cfg(для локализации):

# grub-mkconfig -o bootgrubgrub.cfg

Настроим pacman (только для x86_64):

# nano etcpacman.conf

Для работы 32-битных приложений в 64-битной системе нужно раскомментировать (удалить # вначале) репозиторий multilib:

#
#Include = /etc/pacman.d/mirrorlist

Внимание: если возникли какие-то проблемы при загрузке пакетов, попробуйте создать файл /etc/sysctl.d/40-ipv6.conf и записать в него это: net.ipv6.conf.all.disable_ipv6 = 1

Добавим пользователя (замените myusername на своё) и сразу поместим его в нужные группы:

# useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s binbash myusername

Установим ему пароль:

# passwd myusername

Изменим ему информацию GECOS:

# chfn myusername

Что из софта доступно?

Я люблю Debian за то, что у него на сайте есть список доступных пакетов с указанием архитектур, под которые они скомпилированы, так что вы заранее ещё до покупки сервера можете посмотреть — есть ли нужный вам софт в репозитории, или можно ли его скомпилировать из исходников? Сразу после установки ОС, я поставил: Webmin и Cockpit для удалённого мониторинга, MariaDB, QEMU-KVM для виртуализации с управлением через GUI и Jupyter для запуска Python-блокнотиков и Git для доступа к самой большой в мире библиотеке исходных кодов.

То есть, важно понять: такие базовые компоненты Enterprise-дистрибутивов, как СУБД, удалённое управление, Web-сервер и виртуализация, отлажены и работают так, что вы не заметите разницы с x86: те же команды, те же конфиги

Подготовка

Скачать последний срез дистрибутива можно на официальной странице загрузки: https://www.archlinux.org/download/.

После скачки нужно записать образ на внешнее устройство, такое как CD или USB Flash drive. Записать образ на CD можно программой wodim из набора cdrkit.

$ wodim -v dev=devcdrw archlinux-2013.02.01-dual.iso

А записать образ на USB Flash drive можно программой dd следующим образом:

# dd bs=4M if=archlinux-2013.02.01-dual.iso of=devsdx status=progress && sync

где /dev/sdx — это USB накопитель, на который вы хотите записать образ(обычно /dev/sdb).

После записи образа на внешнее устройство вам необходимо настроить загрузку компьютера(в BIOS или EFI) в режим загрузки с вашего дисковода или USB Flash и запустить компьютер с подключенным устройством. Теперь можно приступить к установке.

Чьи чипы используются для высокоскоростных интерфейсов?

Нам на тестирование пришёл сервер с дополнительной сетевой картой, имеющей 4 порта по 25 Гбит/c. Наверное, будет излишне говорить, что информации по этому контроллеру с наименованием BC51ETHB нет никакой, и чтобы пролить свет, пришлось проверить маркировку процессора. Каково же было моё удивление, когда я увидел опять же детище Huawei, FPGA процессор HiSilicon I1822. Это тот же чип, что используется в контроллере Huawei IN200, который позиционируется компанией как Intelligent NIC, а не просто сетевая карта (читайте, чем отличается Intelligent NIC от сетевой карты).

Контроллер поддерживает RoCE, iWARP, SR-IOV и имеет следующие аппаратные разгрузки:

  • VLAN offload
  • Stateless offload (Checksum/TSO/LRO/RSS)
  • VxLAN tunnel encapsulation/decapsulation offload
  • OVS TC Flower offload

При интенсивном сетевом трафике, например на шлюзах безопасности, эта карта может снизить загрузку процессора на 15-20% и снизить задержку на 30%. Энергопотребление платы составляет до 15 Вт, и кстати сама карта поддерживается всеми операционными системами, включая VMware ESXi, Windows Server, RHEL, Ubuntu и другими.

Что с контейнерами?

Всё прекрасно: Docker устанавливается одинаково и под x86, и под ARM64. Используя Portainer, я объединил в одном интерфейсе сервер на AMD EPYC и наш тестовый Huawei Taishan 2280 v2, чтобы показать визуально, что у вас может быть общий интерфейс для управления вашими контейнерами под любой платформой. Правда, перенос image-файлов между AMD64 и ARM64 не осуществить, но вы можете самостоятельно упаковать ваше приложение в docker образ и сконвертировать его под любую архитектуру.

Если глубоко гуглить, то можно найти, что людям удаётся построить (пример 1, пример 2) общий кластер с хостами на x86 и ARM64, но в основном речь идёт о Raspberry Pi и ТВ-боксах. Если же не ставить перед собой цель именно подружить архитектуры из разных эпох, то можно не заморачиваться и оставить всё как есть.

Я думаю, излишне будет говорить, что и Nginx, и Redis, и MySQL/Mariadb, и даже готовые образы WordPress/Drupal/Joomla устанавливаются в один клик.

Почему?

Где-то там, в других странах говорят об экономии электричества и выбросах CO2, кто-то считает, что x86 себя изжил в современном cloud-мире, а в России смотрят на политическую обстановку. Как ни крути, но Intel и AMD — корпорации «Наших американских партнёров», и пресловутый «Дядя Сэм» в любую минуту не то что может вскрыть все закладки, находящиеся в процессорах и чипсетах, но и просто ограничить поставки технологий в нашу страну. Разумеется, что политика импортозамещения и построения суверенного интернета не могут строиться только на оборудовании Intel: как минимум — нужна диверсификация, а как максимум — использование альтернативных решений. Это всё очень серьёзно, как бы странно оно ни звучало, мы посвятили этому вопросу отдельную статью и более того — во всём мире просто гигантский спрос на «не-американское» защищённое от взлома и закладок «айти». Вот только предложения почти нет. А учитывая, что недавно Huawei обмолвился о желании вложить в обучение в России около 100 млн$, чтобы тренировать специалистов в области ARM и Cloud, уже понятно, что этой компании здесь все дороги открыты.

Сервер предоставлен компанией ELKO (https://www.elko.ru/):

ELKO Group – международный дистрибьютор ИТ-продукции и бытовой техники. Российское представительство ELKO Group ведет деятельность с 1995 года. Штаб-квартира представительства находится в Москве, региональные офисы в Санкт-Петербурге и Красноярске, логистические центры в Москве и Санкт- Петербурге. Интересы группы в России представляют компании ELKO Russia (ИТ-продукция) и Торговый Дом «Абсолют» (бытовая техника). Свыше 500 сотрудников представительства обеспечивают работу более чем с 10 000 клиентами и партнерами компании.

С другой стороны, Huawei TaiShan — это сервер от «наших китайских братьев». Им мы доверяем чуть больше, чем «американским партнёрам так как Huawei самостоятельно разработала свои процессоры и сетевые карты, то есть уровень локализации — огромный. И помимо политической воли и курса на импортозамещение, это «тёмная лошадка», которая способна выстрелить вверх, оставив где-то в прошлом всю эту мышиную возню Intel vs AMD, особенно в высокопараллельных нагрузках.

Загрузка ARM Cortex-A и анализ угроз

На схеме пунктиром обозначен путь обращения из ядра ОС в TEE.

В двух блоках — неизвестный нам код. Посмотрим, чем это грозит.

Технически, любой из компонентов системного ПО может содержать ошибки, намеренные закладки и так далее. Однако в большинстве случаев загрузчик, ОС и системное ПО можно проверить, изучив исходные коды. Сконцентрируемся на возможных угрозах, исходящих от предзагрузчика и TEE, исходные коды к которым закрыты.

Предзагрузчик работает на самом раннем этапе, когда схема подключения к процессору различных периферийных устройств еще не известна, никакие коммуникационные устройства (WiFi, 3G и т.д.) не настроены, коммуникационные протоколы не работают. При этом предзагрузчик – небольшая программа, с размером кода порядка нескольких десятков килобайт, и сложно представить размещение в нем полных стеков протоколов или серьезной эвристики по определению подключенных устройств. Поэтому предзагрузчик вряд ли таит в себе серьезные закладки, связанные со слежкой, передачей данных и т.п.

Гораздо более интересной точкой атаки является TEE, так как его функции вызываются в процессе работы ОС, когда все периферийные устройства работают, а коммуникационные протоколы настроены. Создание шпионской закладки в коде TEE позволяет практически неограниченно следить за пользователем СВТ.

В небольшом исследовании мы показали реализуемость закладки в TEE, незаметно перехватывающей системные вызовы ОС Linux. Для активации закладки нужно только одно обращение из ядра Linux в TEE (например, то самое, для кэша второго уровня), после чего система становится полностью управляемой. Это позволяет:

  • контролировать чтение и запись файлов, модифицировать данные «на лету»;
  • перехватывать пользовательский ввод, причем введенные символы перехватываются даже с экранной клавиатуры;
  • незаметно внедрять свои данные при коммуникации с удаленными серверами, в том числе по протоколу https, маскируя передачу шпионской информации под обычный зашифрованный Web-трафик.

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
3D-тест
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: