← Back to team overview

marionnet-dev team mailing list archive

Mise à jour du noyau uml et des filesystem en squeeze

 

Bonjour,

Nous avons tenté une mise à jour de noyau et des systèmes de fichiers en squeeze.
Ils sont disponibles ici :
  https://blondeau.users.greyc.fr/marionnet/new_fs_kernel.tar.bz2

Le fichier machine-debian-2012-09-03 est une mise à jour du fichier fournis par marionnet et quelques autres logiciels et leurs fichiers de conf (genre screen et un .screenrc, etc ... ). Le noyau linux-2.6.32-1 est le noyaux user-mode-linux "officiel" packagé par debian. Le paquet est d’ailleurs installé dans le système de fichier ce qui permet d'en détecter les mises à jour.

Le système de fichier du routeur est le même que celui des machines sauf :
-> modification de /etc/sysctl.conf pour activer ip_forwarding en v4 et le forwarding en v6 -> modification de /etc/quagga/daemons pour activer tous les démons ( passage de no à yes ) -> modification du script init de quagga pour le lancer au démarrage ( # Default-Start: 2 3 4 5 et # Default-Stop: 0 1 6 )
  -> activation de quagga ( insserv quagga )

Pour que ces systèmes de fichiers et noyaux fonctionnent nous avons modifié dans le système de fichier les script de marionnet dans /etc/init.d/ et fait les insserv en conséquence:

  -> marionnet_prepare_shutdown ( Ajout des entêtes init )
-> marionnet-xterm-title.sh ( Ajout des entêtes init et renommage en marionnet_xterm_title) -> marionnet_prepare_startup ( Ajout des entêtes init et correction de la ligne de montage hostfs -- option incompatible )

D'autre part, avec le système de fichier squeeze et le noyau UML debian, les paramètres par défaut de console et de lancement via simulation_level.ml ne permettent pas d'afficher les messages de boot (le login sur la console ttyS0 fonctionne cependant).

Pour palier ce problème, nous avons légèrement changé le FS et le code de marionnet :

  -> /etc/inittab modification de "0...ttyS0 xterm"
     en "0:2345:respawn:/sbin/getty 38400 tty0"
  -> /etc/securetty ajout de tty0

Voir patch joint pour simulation_level.ml de marionnet.

ATTENTION Problème : ce patch rend inutilisable les anciens systèmes de fichiers de marionnet. Ce qui n'est pas grave pour nous en début d'année, mais pourrait gêner d'autres personnes.

Q1 : Auriez vous une autre idée rétrocompatible ?

Nous avons également des erreurs et messages non résolus qui ne sont pas gênants pour nous, mais si vous avez des solutions :
  -> Erreur de chargement du type de clavier
  -> Des messages d'IRQ au boot.
  -> Affichage de l'interface eth42 car le noyau n'est pas patché

Q2 : est ce que le changement du clavier fonctionné ?

Q3 : À quoi sert cette interface ? À priori, tout fonctionne pour nous lorsque l'interface n'est pas configurée.

Q4 : Que fait le patch noyau de marionnet à part cacher eth42 ?

A+

--
----------------------------------------------
Pierre BLONDEAU
Administrateur Systèmes & réseaux
Université de Caen
Laboratoire GREYC, Département d'informatique

tel	: 02 31 56 75 42
bureau	: Campus 2, Science 3, 406
----------------------------------------------
--- marionnet-trunk-orig-366/simulation_level.ml        2012-09-13 08:16:23.918973000 +0200
+++ marionnet-trunk/simulation_level.ml 2012-09-13 08:23:55.130974001 +0200
@@ -901,18 +901,10 @@
      "console=ttyS0"]*)
   let command_line_arguments =
     command_line_arguments @
-    [(*"con0=none"; "con1=none"; "con2=none"; "con3=none"; "con4=none"; "con5=none"; "con6=none"; *)
-(* "con6=port:9000"; *)
-(* "ssl1=port:9001"; *)
-     "con13=xterm";
-     "con14=xterm";
-     "con15=xterm";
-     "con=pts";
-     "ssl="^console;
-(*  "ssl2=tty:/dev/tty42";
-    "ssl3=pts"; *)
-     "console=ttyS0" (* Franck: il faut virer! *)
-     ]
+    [
+        "con=none";
+        "con0="^console;
+    ]
   in
 object(self)
   inherit process

Follow ups