Colinux, une installation système exotique

Description d'une installation multisystème (Linux-Windows) sans multiboot.

Introduction

En lisant cet article, vous allez suivre les étapes qui m'ont permis, grâce à plusieurs projets open source, d'installer 2 machines dont une virtuelle dans une machine physique.

Le but principal de cette installation est de faire fonctionner simultanément un environnement graphique Windows et un environnement graphique Linux avec leur applications de travail classique (bureautique, internet). Et sous certaines conditions, elle peut même permettre le fonctionnement simultané de 3 ordinateurs (un pseudo Linux, un vrai Linux et un vrai Windows).

Quels peuvent être les intérêts d'une telle configuration ?

Ils sont multiples :

  • Curieux : vous pourrez disposez d'une interface graphique (kde) et de tout un environnement de travail (bureautique,navigation internet, courriel, environnement de développement) pour vous initier au monde de Linux.
  • Webmasters, web designers, web développeurs,etc... : Vous disposerez simultanément de plusieurs systèmes d'exploitation pour tester vos créations dans leur environnements graphique et leurs navigateurs respectifs.
  • Développeurs réseau/systèmes : vous disposez simultanément de plusieurs machines/noyaux que vous pourrez faire interagir par programmation.

Il y en a sûrement d'autres que vous trouverez vous même. Et tout cela sans passer par des couches logicielles commerciales (type émulateur d'OS) et ralentissant les traitements. Comme tous les outils utilisés dans ce guide sont de type open source, on peut aussi s'attendre à des économies en investissement logiciels.

Il s'agit d'une installation coopérative et non pas multiboot. Vous n'aurez besoin de démarrer la machine qu'une seule fois pour faire fonctionner les deux systèmes d'exploitation simultanément.

Note : cet article est une version écourtée d'un article que je n'ai pas encore publié, comprenant plus de détails, des captures d'écran et des astuces, comme installer un cdrom, redimensionner une partition colinux, ou installer des applications connues comme firefox, open office avec les dictionnaires français.

Installation de Cygwin

Une fois le matériel préparé, l'installation de Cygwin est très simple. Cette étape est un cliquodrome (une opération pousse bouton si vous préférez...).

1) Se rendre à l'adresse racine du projet Cygwin :http://www.cygwin.com/

2) Localiser, dans la page principale, le lien vers le fichier setup.exe pour le télécharger.

3) Enregistrer le fichier setup.exe dans le dossier qui lui a été réservé.

4) Une fois téléchargé, lancer l'exécution du programme setup.exe.

5) Ce programme d'auto installation va vous permettre de vous connecter sur plusieurs serveurs du projet Cygwin. Choisissez en un, de préférence, le plus proche de chez vous.

6) Lorsque la fenêtre de choix des librairies apparaît,appliquez la maxime "Tout". Prenez et installer tout. Le téléchargement de cette partie est probablement le plus long. Mais une fois que vous aurez tout téléchargez, vous n'aurez pas besoin de le refaire.L'installateur de Cygwin (setup.exe) peut s'exécuter depuis un répertoire pré chargé autant de fois que vous aurez besoin. Il se peut que l'installateur demande des librairies qui ne soient pas sur le serveur où vous vous êtes connecté.Relancez l'installateur en vous connectant à d'autres serveurs du projet pour télécharger les librairies manquantes.

7) Une fois le téléchargement complet du projet terminé,l'installateur poursuit par l'installation du projet Cygwin.

8) il vous propose finalement de créer deux raccourcis.Choisissez au moins celui sur le bureau.

A partir de maintenant, vous disposez d'un environnement en ligne de commande qui ressemble fortement à Unix. Si vous cliquer sur l'icône Cygwin déposé sur le bureau par l'installateur, vous allez voir une fenêtre de type écran de console s'ouvrir sur le bureau. Vous êtes en ligne avec un interpréteur de commandes disposant d'un langage de commande très puissant, le bash (Bourne Again SHell). Vous disposez également de plusieurs autres interpréteurs de commandes avec des langages encore plus riches (tcsh) ou respectant certaines normes (l'équivalent de sh est ash pour Cygwin)

Mais vous disposer également :

  • d'une interface de commandes semi graphique : mc (midnightcommander) pour naviguer plus facilement dans les répertoires et manipuler les fichiers.
  • de plusieurs éditeurs de texte de la famille Unix : vi (et sa version améliorée vim) et emacs. Mais il y en a d'autres, comme nano, ed,joe, nedit...
  • d'un éditeur scientifique : teX
  • de trois navigateurs internet en mode texte : lynx, linkset w3m
  • d'un environnement de développement complet avec compilateur (gcc), assembleur (as, nasm), éditeur de liens (ld) et testeur(gdb, ddd).

Vous pouvez d'ores et déjà programmer en FORTRAN, Pascal,ADA, C, Objective C, Objective Caml, C++, ruby, Prolog, lisp, Perl, Python et Java.

  • de nombreuses librairies pour le développement sous Unix (gtk, ncurses, Qt, gnome, opengl, openssl, openldap...), des librairies pour manipuler de nombreux formats d'images (JPG, PNG, TIFF...)
  • de plusieurs centaines d'outils pour compresser, crypter,archiver, manipuler vos fichiers (la commande info vous en donne un aperçu),administrer votre machine et sa configuration,
  • d'un système de gestion de base de données : postgreSQL
  • des outils mathématiques (teXemacs, gnuplot, bc)
  • des outils réseaux (client irc, console AIM, ICQ, outilsde diagnostic...)
  • De plusieurs serveurs : un serveur http apache (apachectlstart pour le lancer), un serveur ftp, un serveur ssl et d'autre encore.

Et plein d'autres outils encore.

Installation et configuration de Cooperative Linux (colinux).

URL : http://www.colinux.org

Maintenant que cygwin est installé, passons à la seconde étape. L'installation d'un vrai noyau Linux qui va fonctionner en simultanée avec le noyau Windows.

Le système colinux n'est pas un émulateur, mais un portage du noyau linux lui permettant de fonctionner coopérativement avec un autre système d'exploitation sur une même machine. Les performances du noyau Linux sont beaucoup plus rapides par rapport à l'émulation cygwin. Pour ceux que cela intéresse, colinux permet au noyau Linux de fonctionner en mode ring 0 sur les processeurs de la gamme x86.

Il faut d'abord installer le programme principal :Cooperative linux ou colinux pour les intimes.

Pour cette installation, j'ai utilisé la version 0.6.2, qui n'est pas la dernière (0.6.3) car elle bloquait. N'ayant pas voulu chercher pourquoi, j'ai utilisé une version opérationnelle pour ma configuration.

a. Téléchargement et décompression des fichiers nécessaires

L'installation de colinux nécessite le téléchargement de plusieurs fichiers :

1) Le programme colinux 0.6.2 lui-même : http://prdownloads.sourceforge.net/colinux/coLinux-0.6.2.exe?download

2) La librairie WinPcap : http://winpcap.mirror.ethereal.com/install/bin/WinPcap_3_1_beta4.exe

3) Le rootfilesystem : http://armadillo.atmark-techno.com/download/colinux/root_fs.lzh

4) Le home filesystem : http://armadillo.atmark-techno.com/download/colinux/home_fs_2G.lzh

5) Le fichier d'échange (swap): http://armadillo.atmark-techno.com/download/colinux/swap_device_512M.lzh

Une fois ces opérations terminées :

1) Installer colinux à l'aide de son installateur(e:\colinux, pour cette installation). Lors de l'installation ne cochez pas« télécharger WinPcap », ni « télécharger "the Debian image to download" », puisque vous venez de le faire.

2) Décompresser les trois fichiers systèmes dans le répertoire d'installation de colinux (e:\colinux, pour cette installation)

b. Configuration du réseau pour colinux

La configuration de colinux se passe en deux étapes :

1) configuration du réseau

2) Configuration du système colinux

Par défaut, le système colinux utilise un fichier de configuration xml : default.colinux.xml.

Le choix du mode réseau utilisé par colinux détermine également comment rédiger ce fichier.

Il existe deux méthodes pour faire fonctionner colinux avec Windows

1) La méthode par interface réseau virtuelle (TAP driver)
Pour utiliser cette méthode, il faut avoir choisi d'installer le TAP driver lors de l'installation de colinux. Une fois installé vous pouvez vérifiez la présence du pilote, en consultant les « connexions réseau »(Démarrez->connexions réseau->Afficher toutes les connexions)
Il faut ensuite créer un pont de connexion entre votre connexion locale et l'adaptateur colinux.

- Si vous avez une connexion Ethernet (par câble).Choisissez de faire le pont entre « connexion locale » etl'adaptateur colinux.

- Si vous avez une connexion Wifi (par ondes radios).Choisissez de faire le pont entre « connexion sans fil » etl'adaptateur colinux. (Mon cas pour cette installation)

Enfin il faudra ajouter la ligne suivante dans le fichierxml :

 
<networkindex="0" type="tap" />

2) La méthode par interface réseau Windows (bridging)
Cette méthode nécessite l'installation de la librairie WinPcap.

Il suffit ensuite de modifier la ligne de connexion réseaudu fichier xml par :

 
<network index="0" type="bridged"name="Connexion réseau sans fil"/>

« Connexion réseau sans fil » étant le nom complet de votre connexion locale. Remplacez par « connexion locale », si vous utiliser une connexion par câble (par le nom que vous voyez dans votre fenêtre de connexion réseau. Je l'ai renommé « connexion locale »parce que c'était plus court.

c. Configuration de colinux

Il faut éditer ce fichier avec votre éditeur favori et modifier quelques lignes pour prendre en compte les fichiers du filesystem.

Voici la version finale pour cette configuration :

 
<?xmlversion="1.0" encoding="UTF-8"?>
<colinux>
    <block_device index="0"path="\DosDevices\e:\coLinux\root_fs" enabled="true" />
    <block_device index="1"path="\DosDevices\e:\coLinux\swap_device" enabled="true"/>
    <block_device index="2"path="\DosDevices\e:\coLinux\home_fs" enabled="true" />
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux" />
    <memory size="128" />
    <network index="0"type="tap" />
</colinux>

d. Démarrage de colinux

Il suffit de créer, dans le répertoire de colinux, un fichier de commandes par lots (batch, appelez le go.bat) avec la commande suivante :

colinux-daemon.exe -c default.colinux.xml -t nt

Enregistrez ce fichier et double cliquez dessus. Une console va s'ouvrir et lancer linux. A l'invite (login), tapez le nom de l'unique utilisateur, pour l'instant, le fameux maître des lieux, le tant redouté« root ». Le fichier initial root_fs contient une configuration quine comporte pas de mot de passe pour le super utilisateur. Il suffira donc de taper :

root [entrée]

Pour vous identifier.

Pour quitter colinux, il faut taper l'une des commandes suivantes :

halt

poweroff

reboot -n

shutdown -rnow

Le langage shell de linux c'est comme la langue française,il existe une multitude de synonymes pour dire la même chose. A chacun son goût et sa couleur. Attention ces commandes ne peuvent être exécutées que par le super utilisateur (root).

Installation et configuration(minimale) du noyau debian.

a. Sécuriser le compte du super utilisateur

Premier réflexe, sécuriser le compte du super utilisateur.Taper la commande suivante :

passwd

Si le compte possédait déjà un mot de passe, la commande vous invitera à taper l'ancien mot de passe. Ensuite, il vous sera demander de taper deux fois le nouveau mot de passe suivi de [entrée]

b. Créer un groupe utilisateur et un compte utilisateur

Second réflexe, ne pas utiliser le compte du super utilisateur sauf pour les modifications importantes (type installation logiciels) nécessitant des droits non accordés aux utilisateurs normaux. Par conséquent, il faut créer un compte utilisateur appartenant à un groupe non privilégié. Par défaut, lors de la création d'un utilisateur, celui-ci est considéré comme normal (sans droits privilégiés) si aucune option n'est spécifiée et un groupe du même nom sera créé. Tapez la commande suivante.

adduser votre_pseudo

Il vous sera demandé de taper deux fois son mot de passe et quelques infos (pour la base whois).

c. Configuration clavier français

La console colinux est par défaut configurée en QWERTY. Pour plus d'aisance, la reconfiguration se fait avec la commande suivante :

dpkg-reconfigure console-data

Il suffit ensuite de suivre les instructions :

Selectkeymap from arch list -> azerty -> French -> With Euro (latin 15)

d. Configuration du réseau

Il faut éditer trois fichiers :

/etc/network/interfaces
/etc/hosts
/etc/resolv.conf

Pour le fichier /etc/network/interfaces :

# Configuration de la boucle
auto lo eth0
iface loinet loopback

#Configuration de l'interface eth0
iface eth0inet static
address192.168.0.40
gateway 192.168.0.1
netmask 255.255.255.0

A savoir :
L'adresse IP 192.168.0.40 est celle que j'ai choisie pour colinux
L'adresse IP 192.168.0.1 est celle de ma passerelle internet(le routeur)

Pour le fichier /etc/hosts :

127.0.0.1 localhost
192.168.0.40 colinux

La seule ligne à modifier est la seconde (si elle n'existe pas). Il s'agit encore de l'adresse IP de colinux.

Pour le fichier /etc/resolv.conf :

search
nameserver 192.168.0.1

Ici, j'ai laissé la configuration se charger de trouver les serveurs DNS depuis la passerelle internet (le routeur).

Pour finaliser l'installation, il faut redémarrer colinux:

reboot -n

La fenêtre de la console colinux va se fermer. Il suffira de double cliquer à nouveau sur le fichier de démarrage (go.bat), pour relancer colinux.

Pour tester votre connexion internet, vous pouvez lancer quelques ping sur vos sites préférés:

ping www.monsite.com

Si la commande répond correctement, alors le réseau est correctement configuré.

Installation de kde pour linux

a. Téléchargement et installation des paquets

L'installation de kde va se faire par internet sous colinux,avec la commande apt-get:

apt-getupdate

apt-getinstall kdebase kdepim

apt-getinstall kde-i18n-fr

Répondez oui à toutes les questions que vous posera la commande.

b. Script de lancement cygwin

Une fois les paquets installés, il faut créer un script de lancement pour le serveur X (serveur d'affichage) de Cygwin, auquel kde se connectera pour s'afficher:

cygserver&

exportSERVER=cygwin

exportDISPLAY=<adresse IP de votre machine windows> :0.0

xwin -clipboard-rootless -noreset &

xhost +

L'adresse IP de votre machine Windows, se trouve dans le pont de connexion, il s'agit d'une adresse locale et non celle attribuée par votre fournisseur d'accès. Elle commence généralement par 192.168.0.x. Pour la trouver, deux solutions :

1) lancer la commande ipconfig depuis une console cmd ou une console cygwin

2) Démarrage->Connexions->Afficher toutes les connexions->Pont réseau->Statut->Prise en charge.

Enregistrez ce script, appelons xgo, dans un répertoire de cygwin, par exemple, /home/votre_pseudo/

Rendez le exécutable, en tapant la commande suivante depuis la console cygwin :

chmod u+x xgo

Et lancer le, toujours depuis cygwin :

./xgo ou xgo

Si tout va bien, une icône X apparaît dans la barre des tâches. Le serveur X est en attente de clients et de requêtes.

c. Script de lancement linux

Il faut a présent créer un second script, sous linux celui-là pour connecter le serveur X et lancer kde. Appelons le kde:

export DISPLAY=<adresse IP de votre machinewindows> :0.0
startkde &

Faites les même opérations d'enregistrement, de modifications des droits (chmod), puis lancer le depuis linux :

kde ou ./kde selon votre configuration

d. Script de terminaison

Toujours dans le répertoire /home/<Votre pseudo> de cygwin, créer un fichier xend contenant les commandes suivantes :

kill -9'pidof cygserver' 'pidof xwin'

Puis rendez le exécutable

chmod u+x xend

Ce script doit être lancé en fin de session pour terminer les composants cygwin.

Intégration des deux systèmes : installation de samba.

Notes:
a) Toutes ces opérations sont réalisées sous colinux.
b) Cette installation de samba n'est pas sécurisée pour en faciliter la procédure.

Dans l'état de l'installation, l'intégration est minimale mais déjà existante, grâce à l'option -clipboard du serveur xwin. Elle permet l'utilisation du presse-papier pour échanger des informations entre les deux systèmes. Cependant, si besoin est d'échanger de gros fichier, le presse-papier sera hors jeu. D'où l'installation et la configuration du serveur samba, pour permettre l'échange de gros volume de données.

1) Télécharger et installer samba

apt-get install samba

# éventuellement

apt-get install smbfs

2) Editer le fichier de configuration de samba

# Version débutants

nano /etc/samba/smb.conf

# Version confirmés

vi /etc/samba/smb.conf

3) Trouver la ligne suivante dans le fichier :

; security = user

Enlever le point virgule pour la décommenter et la changer par

security = share

Cela dit à samba de partager vos fichiers sans avoir besoin de s'identifier. C'est ici que réside une faille de sécurité. Mais il s'agit d'une installation personnelle.

4) Trouver la ligne suivante dans le fichier

invalid users = root

La commenter en plaçant un point virgule devant :

; invalid users = root

5) Création d'un partage
A la fin du fichier de configuration vous allez trouver les répertoires partageables. Ici, je donne un exemple pour partager le répertoire/usr/src. Il faut rajouter ces lignes :

[usr_src]

path =/usr/src
public = yes
writable = yes
browsable = yes
create mode = 0777
directory mode = 0777
guest ok = yes

6) Sauvegardez votre fichier et quitter l'éditeur

7) Rendez le répertoire partageable lisible et inscriptible

chmod 777 /usr

chmod 777 /usr/src

8) En allant dans la session Windows, faites affichez les« favoris réseau », puis demander de « voir les ordinateurs du groupe de travail ». Vous verrez apparaître l'ordinateur colinux. En cliquant dessus vous entrerez dans le répertoire /usr/src. Vous pouvez désormais faire glisser des fichiers vers ou depuis ce répertoire ; samba se chargera de la transformation du fichier NTFS en ext3 ou inversement.

Conclusion.

Le gros avantage de cette installation, c'est bien sûr que les deux noyaux fonctionnent simultanément. Un simple clic permet de passer d'un système à l'autre. Plus besoin de multiboot...

Il existe aussi les Services For Unix ou sfu 3.5. Mais ce paquetage propriétaire de Microsoft n'est plus maintenu. Il ne fonctionne pas avec XP/SP2. Maximum XP/SP1. Il est très difficile à désinstaller en cas de crash (problème de fichiers difficilement effaçables même après désinstallation et plusieurs redémarrages). Et n'avait qu'une politique : faciliter la migration de Unix vers Windows (et non l'inverse). Il s'agit plus d'une curiosité que d'une utilité.

Vous trouverez beaucoup d'information sur colinux dans le wiki :http://colinux.wikia.com/wiki/Main_Page

Ce document intitulé « Colinux, une installation système exotique » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous