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
}

Настройка с использованием ALT Linux

См. статью NetInstall start на altlinux.org.

Создание содержимого 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
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP