Цель создать ОС (рабочее название Заря ОС) поддерживающий выполнения windows приложений Основная идея из имеющейся Windows XP созать свою ОС путем переработки или замены имеющегося кода Необходимо стремиться к созданию всего необходимого кода, который позволит не зависить от стороних(уже собранных программ)
*Version 10a, last updated 2024/02/03
-
Виртуальная или реальная машина последней версии Windows 10 с минимальным объемом дискового пространства 120 ГБ и 4 ГБ памяти и ядер процессора
-
Выделение диска D:\ для всего исходного кода (мин. 60 ГБ)
-
Отключить контроль учетных записей - необходимо для того, чтобы избежать экранов подтверждения
-
Скачать исходный код можно по ссылке
git clone https://github.com/YurinKonstantin/ZaryaOS.git zaryaos
. Лучше создайте свою ветку или форк Важный! Отключение защиты в режиме реального времени от безопасности Windows -
Распакуйте исходный код в D:\zaryaos
-
Снимите флажок "только для чтения" в папке zaryaos
-
Если у вас Windows 10 1809 и более поздние версии, установите driver.pfx из папки "tools" для локального компьютера и текущего пользователя, в противном случае, если ваш хост установлен до Windows Vista, удалите driver.pfx и переименуйте driver_3des.pfx в него.
-
Запустите командную строку от имени администратора и переключитесь на D:\zaryaos.
-
Если вы используете ПК x64, выполните
tools\razzle64 free offline
Если 32 разрядная машина тоtools\razzle free offline
-
Запустите tools\prebuild
-
Выполните сборку
build /cZP -M 4
Где (-M 4 для использования всех 4 ядер процессора) Допускаются ошибки и warning, но для ibraries built ошибок быть не должно -
Извлеките отсутствующие двоичные файлы в D:\binaries.x86fre Скачать https://disk.yandex.ru/d/LLfJvh4s58HXUA. При дублекате выберите пропустить. Повторяющееся не переписывать.
-
Выполните
tools\postbuild -full
-
Выполните
tools\oscdimg pro
для создания ISO-файла XP Professional Возможны варианты Home Edition/Server 2003 Standard Edition Вместо pro используйте per|srv
Серийный ключ, расположенный по адресу zaryaos\base\ntsetup\pidgen\pidgen\spidgen.cpp, и это HB9CF-JTKJF-722HV-VPBRF-9VKVM
Руководство по сборке протестировано под Win10 x64 процесор AMD. Результаты могут отличаться в других операционных системах.
В файле "где что" несколько путей к опрделенным программам. Нужно их править и искать другие.
-Рекомендуется отключить любой AV перед извлечением/сборкой, так как оба эти действия создают много новых файлов (ваш AV, скорее всего, попытается просканировать каждый из них, немного замедляя извлечение/сборку) – это также имеет значение для любых других файлов. инструменты, которые отслеживают файлы, такие как voidtools Everything.
- Убедитесь, что дата сборки машины актуальна — больше нет необходимости устанавливать дату 2003 года или что-то в этом роде.
- Извлеките дерево исходного кода в папку с именем
zaryaos
в корне диска (важно, поскольку предварительно созданные файлы DirectUI будут правильно компоноваться только по этому пути), буква диска, похоже, не имеет значения (просто не Не используйте диск C:, поскольку он обеспечивает дополнительную безопасность), используйтеD:\zaryaos\
в качестве пути для сопоставления двоичных файлов RTM. - Снимите флажок «Только для чтения» для извлеченного каталога, включая подпапки и файлы (обратите внимание, что после отключения этого параметра и повторного закрытия/повторного открытия свойств папки вы можете увидеть, что режим «только для чтения» снова установлен, это нормально, если вы отключите его после его отмены. должна позволить сборке работать без проблем)
- Скопируйте файлы из этого ZIP-архива в исходное дерево, перезаписывая при необходимости существующие файлы.
- При использовании 64-разрядной операционной системы для сборки: скопируйте содержимое папки ZIP
_x64
в дерево исходного кода, перезаписав его, если потребуется.
Если ваша ОС не использует UAC (XP/2003):
- Создайте ярлык на рабочем столе для
%windir%\system32\cmd.exe /k D:\zaryaos\tools\razzle.cmd free offline
(см. пояснение ниже) и изменитеStart in
наD:\zaryaos
- При использовании 64-разрядной операционной системы используйте в ярлыке
razzle64.cmd
вместоrazzle.cmd
- Откройте окно Razzle, используя созданный вами ярлык.
Если ваша ОС использует UAC (Vista+):
- Запустите командную строку от имени администратора (обычно это можно сделать, введя cmd в меню «Пуск», щелкнув правой кнопкой мыши «Командная строка» -> «Запуск от имени администратора»).
- В командной строке выберите диск, на который вы извлекли исходный код, введя букву диска, например.
Э:
- Перейдите в исходную папку:
cd zaryaos
- Теперь запустите razzle:
tools\razzle.cmd free offline
(при использовании 64-битной операционной системы вместо этого используйтеtools\razzle64.cmd free offline
) При первом запуске razzle внутри этой копии исходного кода ему потребуется инициализировать несколько вещей, подождите несколько минут, через некоторое время появится окно Блокнота - обязательно закройте его, чтобы инициализация продолжилась.
Важно: После инициализации razzle запустите tools\prebuild.cmd
, чтобы завершить подготовку среды сборки (нужно запустить только один раз после первого запуска razzle в этом дереве).
Важно! В настоящее время сборка работает не очень хорошо при сборке с большим количеством (более 4) потоков. Если ваша машина сборки имеет больше этого числа, рекомендуется ограничить ее максимум четырьмя потоками с помощью переключателя -M 4
, добавленного в команду сборки (например, build /cZP -M 4
или bcz -M 4
)
Выполняет чистую перестройку всех компонентов (рекомендуется для первой сборки!):
build /cZP
(также имеет псевдонимbcz
)
Собирает только те компоненты, которые изменились с момента последней чистой сборки:
build /ZP
(этому псевдониму также соответствуетbz
)
- Загрузите пакет win2003_x86-missing-binaries.7z, который содержит недостающие двоичные файлы для сборок x86fre и x86chk.
- Из этого 7z извлеките содержимое папки двоичных файлов для типа сборки, который вы собираете, в папку двоичных файлов вашего дерева сборки (например,
D:\binaries.x86fre
, должен был быть создан во время сборки), 7z должен содержат файлы для всех SKU (использует pidgen.dll из Win2003 Enterprise, поэтому ваши сборки должны принимать ключи продукта Enterprise) - Когда во время извлечения будет предложено перезаписать папки, выберите «Да», но когда будет предложено перезаписать файлы, такие как DUser.pdb/dll, обязательно выберите «Нет»!
- После добавления недостающих файлов у вас должны появиться такие файлы, как
binaries.x86{fre/chk}\_pop3_00.htm
,binaries.x86{fre/chk}\ql10wnt.sys
и т. д. - Внутри окна разлочки запустите
tools\postbuild.cmd
(используйте-sku:{sku}
, если вы хотите обработать только конкретный файл (без скобок!), ожидайте ошибокfilechk
, если вы проигнорируете это и не сделаете это. используйте Missing.7z/missing.cmd с каждым артикулом)
После завершения постбилда, если вы использовали приведенный выше файл win2003_x86-missing-binaries.7z
и правильно следовали руководству, мы надеемся, что он должен пройти успешно без ошибок и не должно быть никаких `binaries.x86fre\build_logs\postbuild. ошибка в файле!
В противном случае загляните в postbuild.err
— большинство сообщений здесь незначительны, но если вы видите ошибки filechk
, связанные с версией, которую вы хотите использовать, вам может потребоваться перезапустить missing.cmd
или извлеките 2k3-missing.7z
еще раз.
Если postbuild.err
содержит сообщения типа (crypto.cmd) ERROR
или (ntsign.cmd) ERROR
, попробуйте повторно импортировать ключевой файл tools\driver.pfx
(дважды щелкните его, нажмите "Далее" до конца). подсказки, пароль пуст) и убедитесь, что ваша системная дата установлена на текущую дату (обновленные сертификаты действительны только с октября 2020 года по октябрь 2021 года).
Если в postbuild.err есть ошибки filechk, связанные с отсутствием файлов hwcomp.dat
, попробуйте скопировать следующее в пакетный скрипт и запустить его в командной строке (после одного использования postbuild):
@echo off
hwdatgen -i:%_NTPOSTBLD%\pro\i386 -o:%_NTPOSTBLD%\.\hwcomp.dat
hwdatgen -i:%_NTPOSTBLD%\per\i386 -o:%_NTPOSTBLD%\perinf\hwcomp.dat
hwdatgen -i:%_NTPOSTBLD%\bla\i386 -o:%_NTPOSTBLD%\blainf\hwcomp.dat
hwdatgen -i:%_NTPOSTBLD%\sbs\i386 -o:%_NTPOSTBLD%\sbsinf\hwcomp.dat
hwdatgen -i:%_NTPOSTBLD%\srv\i386 -o:%_NTPOSTBLD%\srvinf\hwcomp.dat
hwdatgen -i:%_NTPOSTBLD%\ads\i386 -o:%_NTPOSTBLD%\entinf\hwcomp.dat
- Выполните
tools\oscdimg.cmd {sku} [файл-назначения (необязательно)]
, где{sku}
является одним из: -srv
- Windows Server 2003 Standard Edition -sbs
- Windows Server 2003 Small Business Edition -ads
- Windows Server 2003 Enterprise Edition -dtc
- Windows Server 2003 Datacenter Edition -bla
- Windows Server 2003 Web Edition -per
- Windows XP Home Edition -pro
- Windows XP Professional - ISO will be saved to
{build-drive}\{build-tag}_{sku}.iso
, unless[destination-file]
is provided as a parameter.