RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : arca5.1


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Igor Vaskov
To : dixie
Subj : arca5.1

> Некоторые пояснения по 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 OS2MDOSVEFI.SYS, OS2MDOSVBIOS.SYS (почти опционально) и OS2DLLBVHEFI.DLL (строго обязательно).
> - как верно отмечено на os2world, всё отличие в конфиге - в двух строчках:
> [CSM]
> DEVICE=C:OS2MDOSVSVGA.SYS
> SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
>
> [EFI]
> DEVICE=C:OS2MDOSVEFI.SYS
> SET VIO_SVGA=DEVICE(BVHEFI)
>
> Только назвать их надо было не CSM/EFI, а VESA/EFI. Первый вариант для случая, когда используется VESA биос, второй - фиксированный графический режим на всём протяжении работы (BVHEFI.DLL для полноэкранного VIO и VEFI с полной виртуализацией видео для VDM).
>
> Стоит иметь в виду, что в первом случае VDM такой же убитый как и раньше.
>
> Загружаемся, стартуем какой-ньть Wolfenstein3d и идём истреблять фашизм ;)
> По крайней мере, в 1280x1024 на 2.4GHz процессоре всё бегает и резвится.
>
> Чтобы вернуть шелл и SysView в EFI загрузчике идём в OS2LDR.BINbootmenu.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
>
> Эмуляции звука нет - увы ;)

Попробовал. Есть вопросы.
У меня драйвер VEFI.SYS не стартует с ошибкой SYS1201
Естественно все файлы на месте.
Мать с UEFI на борту. Включен режим совместимости.
Ядро - от 14.204 SMP. (С OS/4 то же самое).

В связи с чем вопрос:
Я пытался запустить новые драйвера просто заменив строчки в конфиге. Возможно я был не прав и надо что-то настроить в биос. Что?

Можно ли как-то включить эти драйвера? Очень уж понравилась идея не менять графический режим при выходе в дос.


Sun 24 Sep 2023 22:24 Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 Firefox




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.