ROS Port AMD64 — различия между версиями

Материал из Русский WINE
Перейти к: навигация, поиск
(Building amd64 port)
Строка 50: Строка 50:
 
|}
 
|}
  
==Building amd64 port==
+
==Сборка порта amd64==
Firstly, install [http://dreimer.eu/rosbe/RosBE64.7z Amd64 addon for RosBE] (taken from [http://www.reactos.org/forum/viewtopic.php?f=9&t=9082 here]), then start a 64bit RosBE session, with a custom shortcut:
+
Во-первых, установите [http://dreimer.eu/rosbe/RosBE64.7z Amd64 addon for RosBE] (взято [http://www.reactos.org/forum/viewtopic.php?f=9&t=9082 отсюда]), и запустите 64-разрядную сессию RosBE, подправив ярлык:
  
Normal shortcut for i386 port is:
+
Ярлык для i386 выглядит так:
C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd"
+
C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd"
  
The one for AMD64 should be:
+
А для AMD64 его необходимо изменить:
  
'''C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" amd64'''
+
C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" amd64
  
''(And for ARM:  
+
'''(И для ARM:'''
C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" arm  
+
C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" arm  
)''
+
''')'''
  
Here "''e:\RosBE''" was install path of RosBE.
+
Здесь "''e:\RosBE''" - путь к установленной RosBE.
  
Run the custom shortcut, then proceed as usual ([[Building_ReactOS|'''ninja bootcd''']] and similar).
+
Запустите исправленный ярлык, и затем, собирайте ReactOS как обычно ([[ROS Build|'''ninja bootcd''']] и пр.).
You can build amd64 and arm at the same trunk you use for x86 build.  
+
Вы можете собрать amd64 и arm в том же транке где у вы собираете x86. При сборке будут созданы новые каталоги, а у ISO-образа будет имя другое имя: ''ReactOS-amd64.iso''.
New directories will be created and the built ISO will also have different name: ''ReactOS-amd64.iso''  
+
  
''(or ReactOS-arm.iso for ARM)''.
+
''(или ReactOS-arm.iso для ARM)''.
  
 
== Ссылки ==
 
== Ссылки ==

Версия 13:25, 2 мая 2016

Данная страница описывает текущее состояние портирования ReactOS на AMD64. AMD64 относится к спецификациям AMD для 64-битного расширения набора x86-инструкций. Так же известна как x86-64 (или x86_64 и x64).

В r34699 Timo Kreuzer создал ветку ros-amd64-bringup для работы над данным портом.

Состояние

Ntoskrnl:

MM:

Freeldr:

HAL:

  • Все собирается
  • Bootcd создается
  • setupldr загружается, переключает процессор в long mode, инициализирует оборудование/память/подкачку и переходит к ntoskrnl
  • Базовая инициализация Mm выполняется, но затем, система падает
  • Non paged pool allocations работает
  • Отладка с помощью WinDbg (break points, single stepping и пр.) работает
  • Enabling interrupts makes everything go nots

Статус реализации (приблизительно)

реализация комментарий
freeldr 95% ожидаются только исправления
hal 5% only initial work has been done, most missing is support for interrupts
ntoskrnl/ke 50% базовая функциональность реализована
ntoskrnl/mm 10% немного функций реализовано, большинство их отсутствует
rtl 60% exception handling is missing and unwinding is incomplete
crt 60% missing stuff here and there
PSEH 0% 100% in MSVC Showstopper for AMD64 branch. Unimplemented: It waits for SEH support in mingw-w64 version of GCC compiler

See also Building_MINGW-w64, Techwiki:SEH64

Not a problem anymore with MSVC compiler http://www.dreimer.de/?p=1212

Сборка порта amd64

Во-первых, установите Amd64 addon for RosBE (взято отсюда), и запустите 64-разрядную сессию RosBE, подправив ярлык:

Ярлык для i386 выглядит так:

C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd"

А для AMD64 его необходимо изменить:

C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" amd64

(И для ARM:

C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" arm 

)

Здесь "e:\RosBE" - путь к установленной RosBE.

Запустите исправленный ярлык, и затем, собирайте ReactOS как обычно (ninja bootcd и пр.). Вы можете собрать amd64 и arm в том же транке где у вы собираете x86. При сборке будут созданы новые каталоги, а у ISO-образа будет имя другое имя: ReactOS-amd64.iso.

(или ReactOS-arm.iso для ARM).

Ссылки

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP