ROS PXE boot

Материал из Русский WINE
Перейти к: навигация, поиск

PXE-загрузка ReactOS

Данная статья частично является переводом официальной вики. Последнее обновление 09-12-2015


О PXE-загрузке ReactOS

В конце 2014 года в ReactOS появились полностью работоспособный RAM-диск (драйвер ramdisk.sys) и возможность PXE-загрузки по сети (на данный момент только LiveCD). С его помощью можно загружать ReactOS на компьютерах без CD/DVD дисковода. Благодаря этому появилась возможность загрузки системы на нетбуках без оптического привода и бездисковых терминалах.

Требования к компьютеру:

  • возможность загрузки по PXE
  • не менее 192 мегабайт оперативной памяти

Подготовка локальной сети

Для загрузки ReactOS по PXE необходимы два компьютера. Один как клиент (без диска или с пустым HDD), и другой как сервер (Windows, или Linux), и оба должны быть объединены в локальную сеть. Сервер должен запускать DHCP и TFTP сервера. Клиенту необходима сетевая карта с поддержкой PXE. Большинство сетевых карт поддерживают ее.

Образ

Образ уже содержит ReactOS LiveCD, при необходимости последний вместе с файлом freeldr можно заменить более новым отсюда.

Подготовка сервера

Windows-сервер

В случае с сервером на Windows лучше всего использовать программу TFTPD32 и образ файловой системы PXE.

Настройка TFTPD32

Содержимое папки для сетевой загрузки

Reactospxe1.png

Настройка IP-адреса

Reactospxe2.png

Общие настройки TFTPD32

Reactospxe3.png

Настройка роли TFTP

Reactospxe4.png

Настройка роли DHCP

Reactospxe5.png

Linux-сервер

Для использования на Linux сервере, может использоваться любой дистрибутив, с установленными dhcp3 и tftpd-hpa.

# Sample configuration file for ISC dhcpd for Debian
# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
ddns-update-style none;
# option definitions common to all supported networks...
option domain-name "home.local";
option domain-name-servers 10.0.0.254;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0
{
        range 10.0.0.10 10.0.0.19;
        option domain-name-servers myserver.home.local;
        option domain-name "home.local";
        option routers IPofYourServer;
        option broadcast-address 10.0.0.255;
        default-lease-time 28800; # 8 hrs
        max-lease-time 86400; # 1 day
        allow bootp;

 host myclient
        {
                hardware ethernet 00:0F:EA:66:07:48;
                fixed-address myclient.home.local;
                filename "pxelinux.0";
                server-name "myserver.home.local";
        }
}

Проверьте настройку xinetd/inetd для tftpd.

service tftp
{
        disable         = no
        log_type        = SYSLOG daemon info
        log_on_access   = PID HOST USERID EXIT DURATION
        socket_type     = dgram
        protocol        = udp
        wait            = yes
        user            = root
        server          = /usr/sbin/in.tftpd
        server_args     = -vv -s /path/to/tftpboot/
        bind            = IPofYourServer
}

Создание содержимого TFTP-сервера

  1. Скачайте ISO-образ ReactOS
  2. Поместите его в /путь/к/TFTPBoot с именем ReactOS-LiveCD.iso
  3. Извлеките loader/setupldr.sys в /путь/к/TFTPBoot, и переименуйте его в freeldr.sys
  4. Скачайте загрузчик SysLinux 4.05 или поздней версии отсюда.
  5. Извлеките core/pxelinux.0 и com32/modules/chain.c32 в /путь/к/TFTPBoot
  6. Создайте каталог /путь/к/tftpboot/pxelinux.cfg и поместите в него файл с именем default (без расширения) со следующим содержанием:
DEFAULT chain.c32
APPEND file=freeldr.sys seg=0x0F80 keeppxe

7.Создайте /путь/к/tftpboot/freeldr.ini со следующим содержимым:

[FREELOADER]
DefaultOS=LiveCD_Debug
TimeOut=3

[Display]
TitleText=ReactOS LiveCD
StatusBarColor=Cyan
StatusBarTextColor=Black
BackdropTextColor=White
BackdropColor=Blue
BackdropFillStyle=Medium
TitleBoxTextColor=White
TitleBoxColor=Red
MessageBoxTextColor=White
MessageBoxColor=Blue
MenuTextColor=Gray
MenuColor=Black
TextColor=Gray
SelectedTextColor=Black
SelectedColor=Gray
ShowTime=No
MenuBox=No
CenterMenu=No
MinimalUI=Yes
TimeText=Seconds until highlighted choice will be started automatically:

[Operating Systems]
LiveCD="LiveCD"
LiveCD_Debug="LiveCD (Debug)"
LiveCD_Screen="LiveCD (Screen)"

[LiveCD]
BootType=Windows2003
SystemPath=ramdisk(0)\reactos
Options=/MININT /RDPATH=net(0)\ReactOS-LiveCD.iso /RDEXPORTASCD

[LiveCD_Debug]
BootType=Windows2003
SystemPath=ramdisk(0)\reactos
Options=/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /MININT /RDPATH=net(0)\ReactOS-LiveCD.iso /RDEXPORTASCD

[LiveCD_Screen]
BootType=Windows2003
SystemPath=ramdisk(0)\reactos
Options=/DEBUG /DEBUGPORT=SCREEN /SOS /MININT /RDPATH=net(0)\ReactOS-LiveCD.iso /RDEXPORTASCD

Загрузка

Попробуйте загрузить компьютер-клиент по PXE. Через несколько секунд загрузится ramdisk и ReactOS запустится.

Ссылки

См. также

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работРазработчикиСовместимость с 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-каналСторонние компоненты
Обзоры ОболочкаNTVDMWOWCommunity Edition