LINUX.ORG.RU

Виртуализация в процессоре Intel Atom D525

 ,


3

4

Не долго думая, решил поставить на этот проц виртуалку KVM.
Целый день продолбался в консоли, готовя базовую систему, а когда дошел до создания виртуалок, получил полный облом на ровном месте.
И только потом решил проверить, годится ли этот проц для этих дел :-)

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

А в этой статье _https://habr.com/ru/post/132818/ и вовсе не заморачивались и поставили VMWare без особых ухищрений - как же так?

Так все-таки, есть виртуализация в этих Атомах или нет?

★★★★★
Ответ на: комментарий от Jameson

Понятно. Ок, сделаем прямо из биоса.

А пока неудачный результат компиляции вышеуказанного текста -

 gcc test.c 
test.c:1:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
    1 | echo -n Makefile...
      |      ^
test.c:2:7: warning: multi-character character constant [-Wmultichar]
    2 | cat <<'EOF' >> Makefile
      |       ^~~~~

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

то имхо, ничего страшного не произойдет, она лишь прочитает BIOS

может прочитать, а может и записать, думая что читает, и не биос а )

А чем bios->Tools->EZFlash не устраивает?

отправлю вам официальную прошивку

дык она есть у меня )

ему нужен непосредственный дамп прошивки с чипа

да, все верно

kindof
()
Ответ на: комментарий от kindof

Слил дамп с помощью EZFlash: _http://share.bashtel.ru/files/648723

ну ок. Скопируйте и вставьте текст из окошка в файл test.sh
сохраните файл.
далее запустите в консольке
bash test.sh
Ну дык я примерно так и сделал! :=)
С тем лишь отличием, что речь шла о gcc, то я обозвал файл test.c и запустил его на компиляцию.

Ок, теперь запустил как bash-cкрипт.
Винт чуток протрещал, а далее на экране появилось:
# bash test.sh 
Makefile...root@debian:~# 
И более ничего!

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от kindof

Да запости уже скрипт на pastebin, пусть он оттуда скачает. Чем бороться с тегами на сайте и с тем как копипаст у него работает.

Jameson ★★★★★
()
Ответ на: комментарий от chukcha

Плохо было видно ссылку «Развернуть», поэтому не заметил.

Теперь получил такое:

# bash test.sh 
Makefile...done.
Source...done.
test.sh: line 60: make: command not found
test.sh: line 62: make: command not found


Щас попробую еще с пастебина взять.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Добавил ваш эссенциалий :=) Объемистая хрень оказалась.

Теперь бешик выдает такое:

# bash test.sh 
Makefile...done.
Source...done.
Makefile:8: *** missing separator.  Stop.
Makefile:8: *** missing separator.  Stop.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

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

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от Jameson

Вычистил ошметки, распаковал, запусти там make и сходу получил -

 make: *** No targets specified and no makefile found.  Stop.

Старинную часовню тоже я развалил?..

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Хотя да, вижу, что имею дело с профессионалами экстра-класса, даже спать расхотелось ;)

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Выглядит так как будто ты не находишься в каталоге pvtsrc когда запускаешь make. Каталог pvtsrc, который появляется после распаковки архива, содержит Makefile и исходник. Убедись что каталог содержит два файла, Makefile и pvt.s, и что ты находишься в нём когда запускаешь make

Jameson ★★★★★
()
Ответ на: комментарий от kindof

Блин, а ведь точно я развалил...

Вот что получилось:

root@debian:~/pvtsrc# make
as --32 -s -nostdlib -o pvt.o pvt.s
ld -o pvt pvt.o -m elf_i386
strip pvt

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Успех, VMX есть и включился, осталось найти сигнатуры в дампе, хакнуть прошивку и залить.

Jameson ★★★★★
()
Ответ на: комментарий от kindof

Поздравляю, свет в туннеле виден )

Спасибо, это уже свет с другого конца тоннеля :) -

    sudo rdmsr 0x3A - выдало 1

Это обнадеживает )

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

Всего-то? У меня уже и так глаза квадратные от вашего шаманства :=)

Ну и вредные же эти асучие! Чего им стоило не лочить эту фичу? Жадины!

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

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

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Ну а дальше ты либо получишь включенную виртуализацию, либо кирпич :)

Заманчивая перспектива! :=) Хотя рискнуть, пожалуй, стоит. Там же вроде всего один бит надо инвертировать? Для окирпичивания маловато будет

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

Попробуем сначала войти без насилия )

Судя по всему, в BIOS уже есть поодержка виртуализации.

  1. Заходим в BIOS -> Boot -> Security

  2. Change Supervisor Password Supervisor Password по умолчанию Not Installed Выбираем Change Supervisor Password и жмем . В боксе набираем пароль до шести символов - буквы и/или цифры и жмем . Подтверждаем пароль еще раз когда спросят. Сообщение Password Installed появится когда пароль успешно установлен.

  3. Как только Supervisor Password установлен, появятся еще пункты меню Security User Access Level [Full Access] - полный доступ ко всем настройкам

  4. Change User Password - меняем пароль User Выбираем Change User Password item and жмем . В боксе набираем пароль до шести символов - НЕ ТАКОЙ КАК У Supervisor!!! - буквы и/или цифры и жмем . Подтверждаем пароль еще раз когда спросят. Сообщение Password Installed появится когда пароль успешно установлен.

  5. Password Check [Setup] Задаем [Setup], BIOS проверяет пароль при входе.

  6. Exit menu Exit & Save Changes - сохраняем настройки

  7. Перезагружаемся ( hard reset или по питанию)

  8. При загрузке заходим в BIOS сначала с паролем User и проверяем Advanced->CPU Configuration на предмет появления пункта Intel Virtualzation Tech

  9. Повторяем пункт 8 но с паролем Supervisora

kindof
()
Ответ на: комментарий от kindof

О, кстати да! Совсем забыл что asus частенько прячет «продвинутые» настройки если не задан пароль супервизора.

Jameson ★★★★★
()
Ответ на: комментарий от kindof

Во как! Восхитительно! Только мне надо как-то приспособиться, потому что монитор один, и переключаться между компами буду где-то до обеда.

Вы там как, уже дремлете? Если да, то отложим до завтра, если нет, то продолжим.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Там же вроде всего один бит надо инвертировать? Для окирпичивания маловато будет

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

Так что если удастся без насилия это будет прекрасно.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от Jameson

Да, работенка... Удивляюсь, как kindof за это так беспечно взялся. Явно на бонус нарывается :=)

chukcha ★★★★★
() автор топика
Ответ на: комментарий от kindof

Обуреваемый жгучим любопытством, проделал заклинания 1-9. Несколько раз.
Пароли супервизора и юзера разные 8-значные.

Да, в режиме супервизора появляется меню «Security User Access Level» с выбором [Full Access].

Но в Advanced->CPU Configuration новых пунктов увы, не появилось.
Может еще что-то надо подкрутить в настройках BIOS?

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Прежде чем приступать к инвазивным методам стимуляции атома, я бы попробовал убедиться в том, что:

1.Мы действительно заходим в BIOS с разными правами (Supervisor и User) при вводе соответствующих паролей

Обуреваемый жгучим любопытством, проделал заклинания 1-9. Несколько раз. Пароли супервизора и юзера разные 8-значные.

Пароли распознаются биосом до 6 (шести) символов, как я писал выше (так написано в доке асуса). Местами пункты биоса должны отличаться при входе с разными правам

2.Мы не можем открыть продвинутое меню BIOSа, находясь там последовательно как User, Supervisor и нажимая кнопки стандартных триков типа: F7, CTRL+ALT+F1, CTRL+ALT+F2, CTRL+SHIFT+F1, CTRL+SHIFT+F2, CTRL+ALT+ESC, CTRL+SHIFT+ESC

kindof
()
Ответ на: комментарий от kindof

1. Пароль для SU был чисто цифровой, а для юзера чисто буквенный, так что перепутывание попадания исключено.
И действительно, была какая-то разница в их меню.

Ок, попробую перебить пароли на 6 символов.

2. Мы не можем открыть продвинутое меню BIOSа, находясь там последовательно как User, Supervisor и нажимая кнопки стандартных триков типа: F7, CTRL+ALT+F1, CTRL+ALT+F2, CTRL+SHIFT+F1, CTRL+SHIFT+F2, CTRL+ALT+ESC, CTRL+SHIFT+ESC

А вот этого, сорри, не понял.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

А вот этого, сорри, не понял.

Заходим в BIOS и начинаем нажимать кнопки, глядя не появились ли новые пункты меню

kindof
()
Ответ на: комментарий от kindof

Перебил пароли на 6 символов.

Смысл этого все равно непонятен -

2.Мы не можем открыть продвинутое меню BIOSа,...

Потому что если мы НЕ можем, то зачем вообще этим заниматься?
Может, это формальный и поэтому ошибочный гуглоперевод какого-то мануала, и приставка НЕ здесь лишняя?

Ну ладно, плюнул на понимание смысла и начал тупо нажимать в BIOS в режиме User комбинации:

- F7
- CTRL+ALT+F1
- CTRL+ALT+F2
- CTRL+SHIFT+F1
- CTRL+SHIFT+F2
- CTRL+ALT+ESC
- CTRL+SHIFT+ESC

проверяя после каждой комбинации состояние меню Advanced --> CPU Configuration.

Затем повторил их в режиме SU.

Новых пунктов в этом меню не появилось.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Ну значит всё, осталось грубо овладевать

Jameson ★★★★★
()
Ответ на: комментарий от chukcha

я бы попробовал убедиться в том, что

2.Мы не можем открыть продвинутое меню BIOSа

Убедиться что НЕ можем. Ты попробовал и убедился что НЕ можешь. Всё логично и правильно было написано. Значит остается только хак.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

А может попробовать откатиться на старую 405 или 214 версию BIOS, и она позволит включить виртуализацию?

Если, конечно, позволит BIOS, а то некоторые не позволяют downgrade.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Я думаю смысла нет откатываться на старые версии и искать в них то чего нет в новых. Это как потерянные ключи под фонарём искать, потому что там светлее. Рациональнее самый свежий похачить.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от Jameson

Мое предложение основывалось на том, что в старых версиях еще не успели убрать опцию виртуализации, а в новых жадины спохватились и удалили ее.
Ну да ладно...

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Вангую что её там и не было никогда. Потому что в чипе она есть для совсем других аппаратов на подобных чипах. Когда твой аппарат замышлялся инженерам скорее всего в голову не приходило что кому то понадобится поддержка на нём аппаратной виртуализации. Более того, она у твоего Атома даже в официальных спеках не значится, так что с чего бы инженерам добавлять в БИОС крутилку для включения того, чего процессор официально не умеет по утверждениям Интел. То что она там на самом деле есть — маленькая производственная тайна.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от Jameson

А вообще как, виртуализацию можно включить только в BIOS?
Или возможно в загрузку Линукса засунуть какой-то фикс?
Это и безопаснее, и тренироваться можно до бесконечности.

Ведь есть же фиксы для исправления позорных ошибок в CPU.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

А вообще как, виртуализацию можно включить только в BIOS?

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

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

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.