Ключевые слова:colinux, linux, virtual, windows, (найти похожие документы)
From: Serge Fukanchik
Newsgroups: Волгоград Linux User Group
Date: Wed, 24 Jan 2008 18:21:07 +0000 (UTC)
Subject: Установка Cooperative Linux
Оригинал: http://volgograd.lug.ru/wiki/CooperativeLinux?v=466
Вводная
Cooperative Linux это порт ядра Linux позволяющий запускать
его одновременно с другой ОС на одной и той же машине. Например можно
запустить Linux на Win2K/XP. Внутри coLinux есть виртуальный сетевой
адаптер, так что если запустить MySQL в coLinux то можно пользоваться
им через TCP/IP из Windows. С этой точки зрения coLinux выглядит
как еще одна машина в сети.
Иногда бывает сложно поставить Linux на машину. Например
нет подходящего видеодрайвера или драйвера сетевой карты
или что-нибудь такое. Или, например, рабочий день проходит под виндой
по причинам от вас не зависящим и постоянно перегружаться из Windows
в Linux не хочется. Ну а VMWare тяжеловат для вашей машинки.
Инсталляция
Скачать coLinux можно с сайта http://www.coLinux.org Нужен файл
coLinux-0.6.0.exe или более поздняя версия (весит около двух
мегабайт).
После скачивания инсталлируем coLinux - это обычный графический
инсталлятор. Можно инсталлировать куда угодно, назовем этот каталог -
$COLINUX - проще с конфигурацией.
Для инсталляции необходимо иметь административные права, потому
что coLinux заставляет Windows использовать низкоуровневый драйвер.
Теперь нужно инсталлировать драйвер эмулятора сетевой карты TAP.
* Windows XP (rus) Панель управления - Установка оборудования -
Далее - Да, устройство уже подключено - Далее - Добавление нового
устройства (в самом низу списка) - Установка оборудования
выбранного из списка вручную - Сетевые платы - Установить с диска
- В каталоге $COLINUX есть подкаталог netdriver, из него нужно
установить сетевую плату из OemWin2k.inf.
* Windows 2000
* Windows 2003
Для работы ему нужен дистрибутив - говорят он работает и с обычными
дистрибутивами, но я качнул специально подготовленный образ диска
с предустановленным дистрибутивом Debian (файл
Debian-3.0r0.ext3.1gz.bz2 - весит 17 мегабайт, но ВНИМАНИЕ!
разворачивается на 1 гигабайт, так что нужно иметь достаточно места
на винчестере ). Если у вас уже есть инсталлированный Linux, то скорее
всего этого делать не нужно - вполне можно загрузить и его.
Теперь разворачиваем bz2-архив с Debianом - bz2 архивы разжимает
и WinZip и WinRAR, положить развернутый файл можно куда угодно, но для
простоты в $COLINUX.
Теперь необходимо сказать coLinuxу где лежит файл (или раздел)
с корневой файловой системой - открываем в любимом текстовом редакторе
файл $COLINUX\default.colinux.xml, находим текст
<block_device index="0" path="\DosDevices\<<<<<<<< вот здесь вставляем путь к нашей root-fs
Итак - вот она самая магия - если вы используете *файл образа* раздела
винчестера (такой как Debian-3.0r0.ext3.1gb) то сюда нужно добавить
путь к этому образу - в нашем примере -
$COLINUX/Debian-3.0r0.ext3.1gb.
Если вы хотите грузиться с уже существующего раздела - пишите сюда
что-то вроде path="\Device\HarddiskVolume1" enabled="true" (внимание!
жесткие диски нумеруются с 1, все остальное с 0).
Чтобы появилась возможность монтировать/грузиться с CD добавляем
path="\Device\Cdrom0".
root НЕ МЕНЯЕМ!
Все перечисленные здесь устройства будут доступны как /dev/cobd#
в coLinux.
Настройка
Своп
Ок. Следующий этап - скачать и подмонтировать своп - а как же без
него? Впрочем, его можно сделать и самому при помощи dd (dd
if=/dev/zero of=swap-file bz=1000k count=256. Но я просто качнул
пустой файл нужного мне размера с
http://gniarf.nerim.net/colinux/swap/ Затем нужно объявить этот файл
как виртуальный раздел в default.colinux.xml, например как я:
<block_device index="1" path="\DosDevice\$COLINUX\swap-file"
enabled="true"></block_device>
Теперь грузимся в coLinux и добавляем этот раздел в /etc/fstab:
/dev/cobd1 swap swap defaults 0 0
Теперь его нужно инициализировать:
mkswap /dev/cobd1
Ну и включить:
swapon -a
Сеть
Я описываю то, что сработало для меня (WinXP Home Edition). У вас
могут сработать и другие настройки - уточните в документации coLinux
как это сделать (и обязательно добавьте сюда описание).
Сеть можно настроить через NAT и через Native/Bridged Networking.
Native/Bridged лучше, потому что NAT не пропускает некоторые протоколы
и становится тяжело на colinux запускать доступные извне сервисы.
Просто выбираем <<Панель Управления->Сетевые соединения->Затем
выбираем сетевой интерфейс, который будет использоваться для доступа
к сети, затем выбираем TAP интерфейс так чтобы оба были выбраны
одновременно (этого можно добиться кликнув на них удерживая клавишу
Ctrl) далее - нажимаем правую кнопку мышки и в меню выбираем - "Bridge
Connections".
Грузимся в coLinux и добавляем сетевой интерфейс (для Debianа нужно
отредактировать файл /etc/network/interfaces):
iface eth0 inet static
address 192.168.0.40
gateway 192.168.0.1
netmask 255.255.255.0
затем в /etc/resolv.conf добавляем DNS адрес провайдера.
Добавить loopback интерфейс. В Debianе это делается так - в файле
/etc/network/interfaces необходимо добавить текст
iface lo inet loopback
а в /etc/hosts -
127.0.0.1 localhost.localdomain localhost
X Window System
Пока что нельзя пускать X server прямо из coLinux, но можно
использовать X server запущенный прямо из Windows. Можно качнуть
Cygwin X (нужный пакет называется XFree86-base), и openssh отуда
же чтобы делать X Forwarding. А можно воспользоваться (несвободным)
X-WIN32 с сайта http://www.starnet.com/. Плюсом X-WIN32 является
возможность копировать текст из Windows в coLinux и обратно.
Также, можно воспользоваться VNC сервером в coLinux и VNC клиентом
в Windows.
Чтобы инсталлировать необходимую часть ядра иксов в самом coLinux
без всякой ненужной муры, можно воспользоваться следующей командой:
apt-get install xterm
Запуск
Теперь можно попробовать загрузиться - для этого запускаем программу
$COLINIUX/colinux-daemon.exe.
Проблемы и их устранение
В релизе 0.6.0 по умолчанию запускается FLTK-консоль. К сожалению
в ней не видно курсора. Чтобы избежать этой проблемы можно просто
запусткать coLinux и при настроенной сети войти в машину удаленно
с помщью ssh. Второй спопоб - не требует настроенного сетевого
подключения, нужно использовать обычную NT консоль вместо FLTK консоли
указав параметр -t nt во время запуска colinux-daemon.exe.
Как оно работает
Для исполнения ядра линукс в привилегированном режиме используется
драйвер ведущей операционной системы. Он постоянно переключает
состояние машины между системами, так что coLinux имеет полный
контроль над аппаратурой. coLinux работает в своем собственном
адресном пространстве почти как родное ядро, получая почти такую
же производительность что и обычное ядро Linux, которое выполняется
на этой машине без ограничений.
coLinux использует тот же двоичный формат для исполняемых файлов
что и обыный Linux, так что в нем можно запустить уже существующий
дистрибутив одновременно с ведущей ОС.
Заключение
Инсталляция coLinux проста и доступна даже для пользователя средней
руки имеющего небольшой опыт инсталляции обычных дистрибутивов Linux.
Не стоит ставить coLinux на важный компьютер - программа находится
на ранней стадии разработки и всякое ожет случиться.
Ну а те, кто терпеливо дочитал до этого места могут порадоваться
на скриншот с моей машины (60 килобайт).