                            OS/4 Phoenix Project

                     Бинарный патч к ядру OS/2 104a_SMP
                               Публичная бета

                        OS/4 Team, декабрь 2008 г.



==Введение==

Целью проекта OS/4 Phoenix является воссоздание альтернативного ядра для 
операционной системы OS/2. На первой стадии работы по информации из DDK, 
документации на API и другим документированным и недокументированным 
источникам воссоздать новое ядро, компилирующееся в бинарно совместимое 
с последним доступным релизом для OS/2 WSeB. Дальше, на второй стадии 
полученные исходные коды будут проанализированы и реорганизованы. Часть 
странного и исторического кода можно будет убрать, исправить давно 
известные ошибки и начать наконец развитие нового, чтобы сделать ядро 
современным, отвечающим текущим потребностям аппаратной архитектуры и 
требованиям решаемых задач. Это будет третий этап развития проекта.

Следует также добавить, что частью ядра OS/2 является загрузчик OS2LDR, 
который тоже был полностью переписан и снабжён массой новых полезных 
качеств. Например, возможностью загружать разные ядра, присутствующие 
одновременно на загрузочном диске, устанавливать параметры загрузки.

Для того, чтобы отличать новое ядро от оригинального, в дальнейшем оно 
будет называться ядро OS/4.

Полученное в рамках проекта ядро OS/4 будет распростаняться свободно, 
исходные коды закрыты и принадлежат участникам Проекта.



==Текущее состояние==

Сейчас Проект находится во второй стадии -- реорганизация и вычистка 
кода -- и мы заинтересованы в тестировании сделанных изменений, чтобы 
не потерять совместимость с существующими системами, работающими под OS/2.

Пожалуйста используйте ядро OS/4 только вместе с новым загрузчиком OS2LDR, 
в противном случае корректная работа не предполагается.

При возникновении ошибок, пришлите пожалуйста следующую информацию.

1. Название и модель процессора, частота, количество ядер, название 
   набора системной логики (чипсета) материнской платы, другое подключенное 
   оборудование

2. В какой момент происходит ошибка, в чём она проявляется, какие действия 
   предшествуют появлению ошибки, воспроизводится ли ошибка при повторении 
   таких действий.

3. Если система загрузилась, то содержимое журнального (лог-) файла, которое 
   можно получить командой
      COPY KERNLOG$ KERNEL.LOG

4. Версия оригинального ядра OS/2, можно получить командой
      BLDLEVEL OS2KRNL

Отрапортовать об ошибке можно в http://tracker.os4.su



==Требования==

Данный пакет может быть установлен на IBM-PC совместимый компьютер 
архитектуры 586+ с установленной и работающей операционной системой 
OS/2 версии 4.5.

1. Требуется SMP-версия DOSCALL1.DLL, то есть система должна быть SMP.

2. Желательно иметь установленный пакет исправлений (фикспак) XR_C005 
   или XR_C006.

Примечание: для работы нового загрузчика OS2LDR вышеперечисленные 
требования излишни, загрузчик должен грузить любую современную 
конфигурацию OS/2 версии 4.5.



==Установка==

В настоящим пакете представлены следующие файлы:

OS2KRNL.OS4 -- ядро OS/4, замена ядра OS/2
OS4KRNL.INI -- параметры загрузки ядра OS/4
OS4LOGO     -- заставка при ядра OS/4 загрузке
OS2LDR      -- новый загрузчик
OS2LDR.INI  -- настроечный файл для нового загрузчика

Чтобы установить ядро OS/4, нужно:

1. Разверните данный пакет где-либо на загрузочном диске, например в 
   каталог \OS4:
      UNZIP os2krnlSVNxxx.zip -d \OS4
      CD \OS4

   Где xxx является номером последней версии SVN

2. Сохраните копию оригинального загрузчика в корне загрузочного диска:
      COPY \OS2LDR \OS2LDR.IBM

3. Скопируйте в корень загрузочного файлы:
      OS2LDR
      OS2LDR.INI
      OS2KRNL.OS4
      OS4LOGO

3a.Скопируйте в \OS2\BOOT\ загрузочного диска файлы: 
      screen03.*
      clock03c.*
      os4apic.*
      oemhlp.*

4. Отредактируйте файл \OS2LDR.INI под свои нужды, если требуется. Файл 
   из поставки будет загружать новое ядро и иметь возможность выбрать 
   загрузку со старым (оригинальным) ядром.

Теперь можно перезагрузить компьютер.


==Вернуть оригинальное ядро OS/2==

1. Скопировать оригинальный загрузчик из сохранённой копии:
      COPY \OS2LDR.IBM \OS2LDR

2. Удалить файлы ядра и заставки OS/4 и конфигурации:
      DEL \OS4KRNL.INI
      DEL \OS4LOGO
      DEL \OS2LDR.INI
      DEL \OS2KRNL.OS4

==Утилиты==

getconfig.exe:

   записывает config.sys использованный при загрузке в файл на диске.

   Пишется РЕАЛЬНО использованный файл (т.е. из архива по Alt-F1 или
   отредактированная встроенным редактором на загрузке копия).

   Использование: getconfig <имя_файла>
   имя_файла может быть и "con"

==Гарантии==

Гарантий нет никаких, как и сложилось в практике ПО. Мы не делали в коде 
специально ничего, что сможет помешать или что-то испортить, но гарантировать 
полную корректность не можем. Запускайте только на свой страх и риск, мы 
не отвечаем ни за какие возможные последствия.


IBM, Intel, OS/2, WSeB и прочие названия являются собственностью их 
владельцев, на которую мы совсем не претендуем.
