Возможно вы искали: 'Lunar Commander 2'

May 15 2025 19:15:32
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Cooperative Linux в Windows (linux win boot install)

Cooperative Linux в Windows (linux win boot install)

Ключевые слова: linux, win, boot, install, (найти похожие документы)

From: Чекрыжев Виталий <http://linux.str.ru
Newsgroups: http://linux.str.ru
Date: Mon, 20 Oct 2004 18:21:07 +0000 (UTC)
Subject: Cooperative Linux в Windows

Оригинал: http://linux.str.ru/articles/colinux.shtml


Вместо введения

Когда возникает нужда запустить Linux не перегружаясь из Windows, то
мы уже научились пользоваться эмуляторами, и порядком привыкнув к ним,
прибегаем к их помощи. Самые популярные из них VmWare (http://vmware.com/),
VirtualPC (http://www.microsoft.com/windowsxp/virtualpc/),
QEmu (http://fabrice.bellard.free.fr/qemu/), Bochs ()http://bochs.sf.net/.
Причем VmWare, QEmu и Bochs кросс-платформенные эмуляторы.

VmWare прекрасно справляется со своей задачей, эмулируя все окружение
устройств виртуальной машины, позволяя запускать любую операционку
для x86. QEmu на текущий момент является еще промежуточным вариантом
до релизной версии. Однако и он неплохо справляется со своей задачей,
к тому же QEmu оптимизирован на работу с Linux (и в Linux).

Исходя из идеи эмуляторов они запускают машину в машине, а для этого
нужно полностью транслировать команды процессора программным путем.
Даже при эффективных алгоритмах на это уходит немало времени. Если
сузить задачу до возможности запуска только Linux, то картина
несколько упрощается. Поскольку чтобы запустить Linux нужно, по сути,
загрузить ядро, а это уже значит что эмулятор должен уметь
транслировать только команды ядра.

А дальше зададимся вопросом: что если и вовсе не эмулировать
процессор, в случае если host-OS и Linux-ядро работают на одном типе
процессоров, а запустить как отдельную программу?


Недавно появилась замечательная штука: coLinux, который позволяет
запустить Linux-ядро в Windows (NT/2K/XP/2K3) как отдельный процесс
через специальный драйвер в режиме нулевого кольца. Причем прослойка
получилась достаточно "тонкой", что сказывается на работе значительно
меньше, чем если бы то же самое запустить в эмуляторе.

Проект разрабатывается и распространяется под лицензией GPLv2. На
текущий момент последняя версия 0.6.2-pre1, которая работает на ядре
2.6.8.1. Уже сейчас можно скачать здесь (http://colinux.org/snapshots/).

Как же это чудо запустить? Установщик coLinux предлагает скачать с
сети образ файловой системы уже настроенной для работы. Образ своими
размерами не мал, и качать через dialup не всякий отважится, да и те,
кто имеют доступ к более скоростным соединениям не обязательно
рванутся качать эти увесистые файлы. Приложив некоторые усилия вы
можете самостоятельно создать свой образ с рабочим окружением.


Установка

Nota bene: coLinux использует особенности WinNT систем, поэтому для
установки потребуется компьютер с установленной версией Windows,
желательно не старее чем Win2K. Для работы в Win9X существует
ограниченный вариант. Все эксперименты с coLinux я проводил на WinXP.

Варианты установки:
* Установка базового набора драйверов
* Соединение Windows и coLinux через сеть
* Включение coLinux в существующую сеть (для этого дополнительно
требуется загрузить WinPCap библиотеку)
* Загрузка настроенного образа системы
Во время установки Windows ругнется на несертифицированный
Microsoft драйвер. Не обращайте внимания, подтвердите продолжение.

После установки нужно создать два больших файла: один для
установки дистрибутива, второй для swap. К сожалению, стандартными
средствами Windows выполнить это либо невозможно, либо долго...На
этом этапе мы вынуждены прибегнуть к помощи посторонних программ.
Можно скачать порт программы dd для Windows или использовать dd из
unix.

Создадим файл root_fs размером в один гигабайт и файл подкачки
размером в 64 мегабайта. Можно воспользоваться средствами
восстановления, которые как правило существуют на загрузочных
установочных дисках Linux. Загрузитесь с компакт-диска, подключите
раздел и выполните команды:

# dd if=/dev/zero of=root_fs bs=1M count=1024
# dd if=/dev/zero of=swap bs=1M count=64

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

Вернемся обратно в Windows, и отредактируем файл настроек
default.colinux.xml. Обратите внимание - парсер конфигурации
чувствителен к dos переводам строки. В unix для перевода строки
используется только один символ (0xa), а в Windows два, поэтому
вооружитесь редактором, который может преобразовывать переводов
строк в unix стиль.

<?xml version="1.0" encoding="UTF-8"?>
<colinux>

[...]

<block_device index="0" alias="hda" path="DosDevicesс:coLinuxroot_fs" enabled="true" />
<block_device index="1" path="DosDevicesc:coLinuxswap_device" enabled="true" />
<block_device index="2" path="DosDevicesd:isoSlackWare-10.0cd1.iso" enabled="true" />

<bootparams>root=/dev/cobd0 ro</bootparams>

[...]

</colinux>

Ядро coLinux ядра общается с миром посредством блочных устройств
cobd (colinux block device). В секции block_device настраиваются
следующие опции:

* index - порядковый номер устройства
* path - путь к файлу (или устройству)
* alias - псевдоним-ссылка на другое устройство
* enabled - включено ли устройство

Параметр path может указывать не только на файл, но и на раздел. Таким
образом можно использовать данные и/или загружаться с уже
установленного Linux-дистрибутива (с некоторыми оговорками). ISO образ
компакт-диска хранится у меня на жестком диске на всякий случай и вот
случай предоставился.

Подключение разделов физических носителей производится по следующему
принципу: <block_device index="0" path="DeviceHarddiskNPartitionX"
enabled="true" />Где N=0,1,2... номер жесткого диска, а X=1,2,3,...
номер раздела.

При запущенном coLinux другие Windows программы не должны использовать
разделы подключенные таким образом!


Запуск

Теперь у нас есть подготовлена площадка для установки и запуска
coLinux. Запускается coLinux через colinux-демона, к которому
подключаются клиенты - терминалы. Демона можно запускать как обычную
NT-службу, это удобно если Linux работает как числомолотилка или
сервер и не нужно держать лишнюю открытую консоль.

Для установки службы нужно запустить:

colinux-daemon.exe --install-service coLinux -c default.colinux.xml

Теперь можно запускать/останавливать службу coLinux через панель
управления служб, или из командной строки посредством net {start|stop}
coLinux

В набор поставки входят две терминальные программы:
colinux-console-fltk.exe (графическая) и colinux-console-nt.exe
(консоль). Первая предоставляет возможность управления сервером. Лично
для себя я выбрал вторую. Она простая и к тому же можно переключаться
в полноэкранный режим. Выход из программы осуществляется сочетанием
Win-Alt.


Чтобы coLinux работал как отдельный процесс, запускаем:
colinux-daemon.exe -c default.colinux.xml Автоматически запустится
терминал. Можно выбрать какой хотим запустить, если укажем параметр -t
{nt|fltk|...}


Установка дистрибутива Linux

Сразу оговорюсь: последующие шаги выполнены для дистрибутива
SlackWare. На то у меня есть несколько причин. Некоторые из них это
гибкость установки, а так же сказался фактор привычки - полюбившийся
дистрибутив. Для других дистрибутивов процесс инсталляции будет
отличаться, но принцип должен остаться прежним.

Разобьем весь этап установки на несколько шагов:
* Загрузка установщика
* Создание блочных устройств coLinux в /dev
* Форматирование разделов
* Подключение базового раздела
* Фактическая установка дистрибутива
* Донастройка установленной системы



Загрузка установщика

Установочный образ initrd.img я взял с первого диска SlackWare-10.0,
из каталога isolinux.

Теперь отредактируем default.colinux.xml для загрузки с этого образа.
Там укажем файл образа как initrd файл и укажем опцию root.

<initrd path="c:coLinuxinitrd.img" />
<bootparams>root=/dev/ram load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=10000</bootparams>

Запускаем colinux-daemon -c default.colinux.xml. Если все предыдущее
было выполнено успешно, то начнется процесс загрузки и откроется окно
терминала. В результате вам будет предложено войти в систему и начать
процесс инсталляции. По хитрому умыслу там задуман fake авторизации,
поэтому достаточно дважды нажать Enter.


Создание блочных устройств coLinux в /dev

Установщик запущен, теперь подготовим файлы устройств. По каким-то
причинам в документации не обозначены major-код для устройств. К
счастью, это можно подглядеть в /proc/devices. Что и делаем командой:
# grep cobd /proc/devices Хорошо, выяснили major устройства (он равен
117). Ядро поддерживает до 32-х. Создадим ноды для устройств: # for i
in 0 1 2 3 4 5 6 7 8; do mknod /dev/cobd$i b 117 $i; done


Форматирование разделов

Каждое cobd устройство в системе будет представлять собой один раздел.
Поэтому не будем создавать таблицу разделов на cobd. Форматирование
выполняется обычным образом. Систему будем устанавливать на
/dev/cobd0, swap установим на /dev/cobd1.

# mkfs.ext2 /dev/cobd0
# mkswap -v1 /dev/cobd1

Корневую файловую систему не обязательно форматировать под ext2,
можете выбрать на свой вкус. Для себя я выбрал ReiserFS (mkreiserfs).


Подключение базового раздела

# mount /dev/cobd0 /mnt

Так же подключим источник пакетов.# mount /dev/cobd2 /cdrom


Фактическая установка дистрибутива

SlackWare установщик требует чтобы в системе были определены жесткие
диски с Linux-разделами. У нас таких не водится и воспользуемся
обходным путем. В каталоге slackware есть подкаталоги с программами.
Для минимальной установки, чтобы запустить систему нам потребуются
программы из разделов a, ap, l.

Последовательно выполняем установку пакетов из подразделов:

# cd /cdrom/slackware/a
# ROOT=/mnt install-packages
# cd ../ap
# ROOT=/mnt install-packages
# cd ../l
# ROOT=/mnt install-packages
# cp /dev/cobd? /mnt/dev

Не обязательно устанавливать модули ядра - вам они все равно не
пригодятся.


Донастройка установленной системы

Cвежеустановленный Linux еще не содержит своего /etc/fstab, который
сейчас же и создадим в /mnt/etc/fstab (наша система все-таки еще не
основная).
/dev/cobd0 / ext2 noatime 2 2
/dev/cobd1 swap swap defaults 0 0
/dev/cobd2 /mnt/cdrom iso9660 noauto 0 0
proc /proc proc defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0

После установки выключим coLinux через halt -p или poweroff.

Секцию bootparams в default.colinux.xml меняем следующим образом:

<bootparams>root=/dev/cobd0 ro</bootparams>

Не забудьте дописать ro - без этого будет нарушен процесс проверки
целостности файловой системы при загрузке coLinux.

В новой системе теперь настроим сетевой интерфейс. В coLinux сетевой
адаптер назван как обычный ethernet-адаптер eth0, поэтому настройка
ничем не будет отличаться от настройки на физической машине со
SlackWare. Настройки сети смотрите в файле /etc/rc.d/inet1.conf.

Пример настройки адаптера inet1.conf

# Config information for eth0:
IPADDR[0]="192.168.0.1"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

В Windows на сетевом подключении я указал статический адрес. Fiat lux!
Сеть заработала :) В довесок поставил и настроил Samba для удобства
обмена файлами. Вот, вроде бы и все шаманства.


Эпилог

В статье описывается пакет тестовой версии 0.6.2. На текущий момент
последняя версия 0.6.1, в которой может не оказаться некоторых
настроек уже введенных в 0.6.2-pre1.

Напоследок несколько слов об особенностях работы coLinux. Недостатком
можно посчитать невозможность доступа до обычных блочных устройств
(CD-ROM, Floppy, HDD, ...), вместо этого coLinux общается с миром
через отдельные файлы или разделы жесткого диска. Хотя, вероятно,
можно связать cobd с именованным ресурсом типа /Device/CDROM.
Любопытно, но в Windows NT как и в классической Unix системе
реализована идея ассоциирования устройства (на самом деле не только
устройств, но и массы других объектов операционной системы) с файлом.
Разница лишь в том, что в дереве каталогов этих файлов нет. Так же
напрямую нельзя проигрывать звук. Вместо этого авторы предлагают
транслировать звук по сети на ESD сервер. С другой стороны - слушать
музыку в эмулируемой системе не совсем нормальное явление, не так ли?
8-S

Еще одной досадой является заморочки с подключением X сервера, что
тоже не так уж и обязательно. К тому же программу начали разрабатывать
относительно недавно, и возможны непредвиденные падения. В последних
релизах стабильность улучшена и разработка активно продолжается, так
что хочется верить, что вскоре мы будем пользоваться еще более
надежным и быстрым продуктом.

Данный программный продукт не очень подходит для знакомства с ОС
Linux, для этих целей лучше все же установить полноценный дистрибутив
и пользоваться полнофункционально работающими программами, либо
опробовать Linux в виде LiveCD, благо коих расплодилось практически на
все случаи жизни.


Ссылки к статье

http://colinux.org - официальный сайт coLinux

http://colinux.org/wiki - документация coLinux

http://colinux.org/snapshots - неофициальные горячие выпуски

http://www.linux.str.ru/images/colinux/term-fltk.gif - Console-FLTK

[29]http://www.linux.str.ru/images/colinux/term-nt.gif - Console-NT

Автор: Чекрыжев Виталий
http://linux.str.ru
373 Прочтений •  [Cooperative Linux в Windows (linux win boot install)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Cooperative Linux в Windows (linux ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка