ru:os2faq:os2gen:os2gen.080

[Q]: Апгрейд OS/2 v 4.00 → 4.50 → 4.5x + XR_Cxxx

[A]: Andrew Belov (2:5020/181.2)

Для начала - схема:

4.00 --------> XR_M013 -> XR_M015 ----------> XR_M016 -> XR_M017
                 ||         ||                   ||        ||
       4.50 -> XR_E001 -> XR_E002 ----------> XR_E003      ||
                            ||                   ||        ||
                           4.51 -> XR_C001 -> XR_C002 -> XR_C004
                                                 ||        ||
                                                4.52 --> XR_C004 -> XR_C006
9.23   14.039F  14.040    14.062   14.072  14.086/.088   14.097    14.105

—+——–+——-+———+———+———-+———+———+—–> 08/1996 04/1999 04/2000 11/2000 07/2001 02/2002 11/2003 10/2006

Стрелками показано применение фикспаков, “||” объединяет версии с одинаковыми бинарниками, т.е. на XR_M013 в теории можно поставить любой XR_Exxx (сравняв таким образом систему с WSeB 4.5), а уже на него - XR_Cxxx. Понятно, что SERVICE.EXE такого “вертикального апгрейда” не позволит, но даже не зная REXX, можно поправить SYSLEVEL.OS2, или сделать примерно так:

[E:\fixpak\FIX] for %1 in (OS2.1\*_) do cmd /c “unpack2 %1 . & del %1” [E:\fixpak\FIX] for %1 in (OS2.5\*_) do cmd /c “unpack2 %1 . & del %1”

Какие именно OS2.* распаковывать - зависит от системы. Для XR_C006:

OS2.1 - общие файлы OS2.2 - UNI+SMP (копии файлов из OS2.3 и OS2.4) OS2.3 - ядро Warp Server UNI OS2.4 - ядро Warp Server SMP OS2.5 - ядро Warp Client (W4) OS2.6 - утилита BOOTDISK, работающая с установочным CD-ROM 4.51 OS2.7 - утилита BOOTDISK, работающая с установочным CD-ROM 4.52

[C:\OS2] UNLOCK * [C:\OS2\DLL] UNLOCK * …

[C:\OS2] for %1 in (*) do copy E:\fixpak\FIX\%1 …

Залоченные файлы: COUNTRY.SYS, *.MSG переписываются по окончании процедуры руками.

Hаличие XR_M015 или XR_E002 автоматически означает OS/2 v 4.51, и ее полный дистрибутив не нужен, если только не требуется обновление других компонентов. Поставленный на эту версию XR_C002 будет эквивалентен апгрейду в 4.52, которая вышла в ноябре 2001 г.

При обновлении OS/2 v 4.0 желательно учитывать следующие моменты:

1. Сразу обновлять старый Merlin (9.xxx, т.е. нефиксенный или по XR_M012 включительно) фикспаками от “чужих” версий категорически нельзя - после апгрейда масса файлов останется от 4.0, и работоспособность такой системы сомнительна. Систему необходимо довести родными фикспаками как минимум до XR_M013.

2. При переходе от XR_M013+ к XR_Exxx/XR_Cxxx есть выбор: продолжать использование старого 16-bit OS2DASD.DMD или обновиться до 32-bit OS2DASD.DMD и OS2LVM.DMD. В первом случае нужно принять меры, чтобы файлы OS2DASD.DMD, FDISK.EXE и FDISKPM.EXE после накатывания фикспака остались старыми, во втором - убедиться, что проинсталлированы оба *.DMD, и OS2LVM.DMD прописан в CONFIG.SYS в дополнение к OS2DASD.DMD. Все фиксы XR_Exxx/XR_Fxxx/XR_Cxxx изначально предполагают, что система работает с LVM'ом!

3. XR_M016 - “controlled” фикспак, по SYSLEVEL'у аналогичный XR_C002 или XR_E003, но доступный только по линии Service Extension. Соответственно, XR_M017 является дублем XR_C004 (аналогов среди XR_Exxx нет - выпуск этой ветки фикспаков прекращен раньше).