RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> Некоторые пояснения по EFI. > Мало ли что и где и кому потребуется ... > Всякое разное, к чему я прикладываю руку, обычно стараются потом как-то урезать в функциональности - тут не исключение ;) > > Исходно EFI лодырь может: > a). работать в BIOS режиме, подменяя BIOS своей эмуляцией. Видео в этом случае может быть: > - EFI-подобным режимом "всегда одно неизменное разрешение экрана". > - обычным VESA > > Чтобы загрузиться в BIOS режиме - найдите любой не используемый для загрузки HPFS/JFS раздел, сделайте на него sysinstx и положите в корень OS2LDR.BIN от EFI загрузчика и OS2LDR, распакованный из этого OS2LDR.BIN. Грузитесь с этого раздела и выбираете в меню раздел с котого грузить ось (или добавляете defvolume=x: в OS2LDR.CFG там же). > Поставить можно и на FAT/FAT32 - тут правила сходны с QSINIT (надо апдейтить код бутсектора). > > Строчка "alt_video = 1" в OS2LDR.CFG форсирует попытку использовать VESA BIOS, которая будет всегда успешна в этом случае. > > Например, у меня есть гигабайтная мать, где VDM трапается в биосе. Не где-то ещё, а прямо в сегменте биоса, в F000:xxxx. И вот с EFI загрузчиком в этом режиме я могу запускать VDM в обычной eCS 2/0. BIOS эмулируется, а VESA биос работает как раньше. > > EFI-подобный режим "всегда одно неизменное разрешение экрана" тоже может помочь - вот тут ниже тема "тонкий клиент hp t5630", где текстовые режимы VGA на железяке сходу битые (и это уже не единичный случай). Просто стартуем в одном фиксированном графическом режиме, так, как это происходит в EFI. Этот режим никогда не переключается, в VDM и полноэкранных сессиях всё эмулируется. > > b). работать в EFI режиме. Тут тоже возможны два варианта: > - полный EFI, у нас нет ничего кроме EFI фирмвари - эмулируется всё, один видеорежим, установленный на старте, не меняется всё время работы. PM, WinOS/2 и VDM используют только его. В VDM, соответственно, весь вывод эмулируется. > - VESA BIOS есть и он живой, даже если нет обычного биоса. Это было нужно для старта семёрки, поэтому на железе среднего возраста такое встречается часто. Там может быть дикий бардак, когда в переменных и векторах прерываний биоса мусор, но всё, что относится к видео настроено правильно (биоса нет, но VESA BIOS отработал свой инит). > > И этот VESA биос обычно можно нормально использовать. > Добавлям в OS2LDR.CFG строчку "alt_video = 1" и пробуем. > > Загрузчик точно знает - какой вариант видео используется и изначально мог патчить config.sys, предельно упрощая жизнь юзера. > > В том, что идёт в 5.1 это сломано - ну чтобы всем было легче. Поэтому юзер теперь должен сам редактировать config.sys при смене режима видео с EFI на VESA BIOS и наоборот. Исходно надо было просто оставить BIOS вариант конфига и EFI загрузчик сам фиксил его копию, которую получало ядро. Это делало все установленные системы универсальными - вообще без изменений в конфиге оно могло стартовать и в BIOS режиме и в EFI. > > Как превратить вашу eCS в EFI версию: > - копируем из 5.1 \OS2\MDOS\VEFI.SYS, \OS2\MDOS\VBIOS.SYS (почти опционально) и \OS2\DLL\BVHEFI.DLL (строго обязательно). > - как верно отмечено на os2world, всё отличие в конфиге - в двух строчках: > [CSM] > DEVICE=C:\OS2\MDOS\VSVGA.SYS > SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA) > > [EFI] > DEVICE=C:\OS2\MDOS\VEFI.SYS > SET VIO_SVGA=DEVICE(BVHEFI) > > Только назвать их надо было не CSM/EFI, а VESA/EFI. Первый вариант для случая, когда используется VESA биос, второй - фиксированный графический режим на всём протяжении работы (BVHEFI.DLL для полноэкранного VIO и VEFI с полной виртуализацией видео для VDM). > > Стоит иметь в виду, что в первом случае VDM такой же убитый как и раньше. > > Загружаемся, стартуем какой-ньть Wolfenstein3d и идём истреблять фашизм ;) > По крайней мере, в 1280x1024 на 2.4GHz процессоре всё бегает и резвится. > > Чтобы вернуть шелл и SysView в EFI загрузчике идём в OS2LDR.BIN\bootmenu.ini и добавляем в секцию > [common] > F3 = cmd > F5 = sysview > ну или любые другие варианты кнопок. Это тоже убрано, чтобы сделать жизнь проще, да :) > > EFI загрузчик сделан из QSINIT декабря 2018-го, BIOS загрузчик ArcaOS - из QSINIT декабря 2015-го. Если хотите сыграть в тетрис в аркалодыре - берёте тетрис из соответствующей версии QSINIT, патчите имя модуля в заголовке LX в бинарном редакторе с QSINIT на AOSLDR и допаковываете в OS2LDR.BIN :) > > Ещё из "неподдерживаемого": BIOS версия _может_ грузиться с GPT диска :) > Что для этого нужно - GPT.FLT в конфиге, раздел ниже 2Tb и что-то, что вообще будет его стартовать. Для JFS, по идее, сгодится даже GRUB с его chainloader+1, но в общем случае надо просто заменить код MBR сектора (GPT диска) в QSINIT (или в EFI загрузчике) в SysView и поставить там же разделу флаг "BIOS Bootable" (Make active). > > В BIOS загрузчике ArcaOS нет поддержки GPT, но код максимально приучен не просить лишнего, поэтому он молча отработает, если в бутсекторе раздела всё правильно (сделайте sysinstx ?: для гарантии). Дальше включится GPT.FLT и ось загрузится. > > Наиболее безопасный вариант для HPFS - после sysinstx прописать код загрузки с HPFS из QSINIT ("Update bootstrap" в Disk Management в SysView), он куда менее капризен и не зависит от Boot Manager/MBR кода от IBM. > > LVM букву диска GPT разделу с осевой GUID (ArcaOS Type 1) можно поставить не только в miniLVM, но и в SysView (что в QSINIT, что в EFI загрузчике). > > Из того, о чём плакались на os2world - GPT.FLT отваливается если нет GPT дисков, поэтому если хочется установить на чистый диск - просто сначала проинициализируйте его в GPT в SysView в QSINIT или EFI загрузчике (или где угодно ещё). > > Что ещё - не ожидайте, что эмуляция видео в VDM идеальна, особенно для текстовых режимов. Все 16-ти цветные EGA/VGA и 256-цветные Mode-x режимы работают через софтварную эмуляцию (т.е., когда вы бегаете в том Wolfenstein3d выше - каждая запись в видео идёт через исключение и ручной разбор инструкции ;)). > > Ничего тут сделать нельзя, единственное - если вдруг выпадет попап "VEFI.SYS: Unemulated command sequence found" - лучше содержимое и причину записать и куда-ньть мявкнуть. > > Все "плоские" режимы - CGA или VGA 320x200x256 и веса - бегают и резвятся. > Общие правила для игр: > - по возможности ставить VIDEO_RETRACE_EMULATION = ON > - если игра читает с диска прямо в VGA память - INT_DURING_IO = OFF, но это встречается очень редко. > - VIDEO_SWITCH_NOTIFICATION = ON _только_ для WinOS2 > > Эмуляции звука нет - увы ;) >
__, _, __, _,_ _, _
|_ / \ |_) | | |\/|
| \ / | \ | | | |
~ ~ ~ ~ `~' ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.