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 или более поздняя версия (весит около двух мегабайт). Более поздняя и предпочтительная версия 0.6.3 весит около пяти мегабайт.
После скачивания инсталлируемcoLinux это обычный графический инсталлятор. Можно инсталлировать куда угодно (я предпочитаю c:\colinux), назовем этот каталог $COLINUX проще с конфигурацией.
Для инсталляции необходимо иметь административные права в винде, потому что coLinux заставляет Windows использовать низкоуровневый драйвер.
Теперь нужно инсталлировать драйвер эмулятора сетевой картыTAP. (0.6.3 устанавливает автоматически. Ничего делать не нужно).
Windows XP (rus) Панель управления Установка оборудования Далее Да, устройство уже подключено Далее Добавление нового устройства (в самом низу списка) Установка оборудования выбранного из списка вручную Сетевые платы Установить с диска В каталоге $COLINUX есть подкаталог netdriver, из него нужно установить сетевую плату из OemWin2k.inf.
Windows 2000
Windows 2003
Для работы coLinux нужен дистрибутив говорят он работает и с обычными дистрибутивами, но я качнул специально подготовленный образ диска с предустановленным дистрибутивом Debian (файл Debian-3.0r0.ext3.1gz.bz2 весит 17 мегабайт, но ВНИМАНИЕ! разворачивается на 1 гигабайт, так что нужно иметь достаточно места на винчестере ). Если у вас уже есть инсталлированный Linux, то скорее всего вполне можно загрузить coLinux и с него.
Теперь разворачиваем 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" (внимание! жесткие диски в Windows нумеруются с 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
DVD/CD-ROM
Самое главное устройство не должно использоваться из какой-то виндовой программы во время использования в coLinux.
В config.xml необходимо добавить следующую строку:
<block_device index="2" path="\Device\Cdrom0" enabled="true"/>
внимательно отнеситесь к атрибуту index он не должен пересекаться с индексами других устройств.
Замонтировать можно так:
mount -t iso9660 /dev/cobd2 /cdrom
Обратите внимание: здесь имя устройства (/dev/cobd2) использует индекс, указанный в конфигурационном файле.
Чтобы не избежать заморочек с монтированием в дальнейшем стоит добавить в fstab следующее:
/dev/cobd2 /cdrom iso9660 defaults,noauto
Теперь можно просто писать mount /cdrom и umount /cdrom.
После того, как CD-ROM правильно сконфигурирован в fstabе, становится возможным зарегистрировать его в системе APT и устанавливать с него программное обеспечение.
Чтобы автоматически добавить конкрентый CD-ROM в sources.list его нужно вставить в привод и выполнить команду:
apt-cdrom add
Сеть
Я описываю то, что сработало для меня (WinXP Home Edition). У вас могут сработать и другие настройки уточните в документации coLinux как это сделать (и обязательно добавьте сюда описание).
Сеть можно настроить через NAT и через Native/Bridged Networking. Native/Bridged лучше, потому что NAT не пропускает некоторые протоколы и становится тяжело на colinux запускать доступные извне сервисы.
Просто выбираем «Панель Управления->Сетевые соединения->Затем выбираем сетевой интерфейс, который будет использоваться для доступа к сети, затем выбираем TAP интерфейс так чтобы оба были выбраны одновременно (этого можно добиться кликнув на них удерживая клавишу Ctrl) далее нажимаем правую кнопку мышки и в меню выбираем Bridge Connections.
Грузимся в coLinux и добавляем сетевой интерфейс (для Debianа нужно отредактировать файл /etc/network/interfaces):
затем в /etc/resolv.conf добавляем DNS адрес провайдера.
Можно использовать DHCP: в Debian должен быть установлен пакет dhcp3-client, в /etc/network/interfaces должно быть следующее:
iface eth0 inet dhcp
Добавить 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 килобайт).
[ Библиотека | Windows ]