Bochs 2.0 est sorti

Posté par  . Modéré par Benoît Sibaud.
Étiquettes :
0
5
jan.
2003
Technologie
Bochs, émulateur du matériel Intel 386 ("cross platform IA-32 emulator"), est sorti en version 2.0 comme un joli cadeau de Noël, le 21 décembre (la 2.01 est sortie le 4 janvier). Pour faire simple et court, il est 2 fois plus rapide qu'avant. Des images disques de systèmes Linux, Freedos et *BSD sont disponibles sur le site. Bochs simule - et non émule, pour être précis - le matériel intel 386. Ce n'est pas une machine virtuelle comme VmWare ou VirtualPC. Il est portable et donc disponible sur plusieurs plateformes (i386, PPC, Amiga, Sparc, Alpha, ...?) et différents systèmes (Linux, *BSD, MacOSX et autres Unix; The Hurd, BeOs, Windows (95 à XP), MacOS9, ...). Il permet donc de lancer des systèmes pour processeurs i386 à partir d'autres plateformes et/ou d'autres systèmes (ou le même système).

En mars 2000, Bochs a été racheté par MandrakeSoft qui l'a placé en LGPL et a employé l'auteur original de Bochs, Kevin Lawton, pendant un temps pour travailler sur le projet Plex86 (alternative LGPL à VmWare). Après l'abandon de Plex86, Kevin s'est remis à son bébé. Ses apports à la version 2.0 sont assez marquants.
Le projet Plex86, toujours sponsorisé par Madrake, est relancé sur http://savannah.nongnu.org/projects/plex86

Puisqu'il simule le matériel, Bochs est forcément un peu lent, alors à quoi ça sert ? ben ça dépend de vous... je vous propose des réponses:
- à rien mais c'est fun ;
- à lancer windows pour lancer word (veuillez noter qu'il existe des suites bureautique sous Linux) ;
- à tester une distribution ;
- à développer sur une machine (virtuelle) de test ;
- à développer en bossant sur le matériel ;
- à faire des captures d'écran de la mort qui tue ;
- à faire du support utilisateurs avec plusieurs systèmes sur un seul poste ;
- à pirater un bios protégé par mot de pass ;.
- à lancer un noyau Linux particulier sous votre Linux habituel.

Et voici une autre liste, Les principales améliorations dans Bochs 2.0 :
- 2x emulation speedup!!!
- added plugin devices and guis. Now you can compile with many more
options, and choose between them at runtime.
- added emulation of AMD x86-64, MMX, SSE, SSE2 instructions
- add wxWindows port (a graphical configuration interface and display lib)
and SVGAlib port (full screen display for Linux without X11)
- improvements in many I/O devices: for example up to 8 hard disks/cdroms,
TUN/TAP network interface, 360k floppies,
- improved MacOSX/Carbon interface and updated MacOS9 port
- GDB remote stub, allows symbolic debugging with Bochs simulation.
- support for up to 32gig hard disk images


Ceux qui veulent lancer Linux sous Linux pour tester, développer, lancer des serveurs webs virtuels (c'est con y'a mieux : http://www.freevsd.org/ (mais il n'y a plus de développment)), se tourneront plutôt vers UserModeLinux (maintenant intégré au noyau 2.5) http://user-mode-linux.sourceforge.net qui permet aussi de simuler un matériel qu'on n'a pas.


Et pour finir, voici quelques dépêches précédentes dont les commentaires sont à lire:
11/10/2002 image de GNU sous bochs http://linuxfr.org/2002/10/11/9942.html
10/05/2002 Test comparatif: VMWare, VirtualPC et Bochs http://linuxfr.org/2002/05/10/8204.html
27/02/2002 A la découverte de Bochs http://linuxfr.org/2002/02/27/7284.html

Aller plus loin

  • # Re: Bochs 2.0 est sorti

    Posté par  . Évalué à 10.

    Je ne sais pas si il y a des images disques de windows, car ce serait une violation du copyright. De sur il y a des images de Freedos.
    Apres je dois etre un peu maladroit mais impossible d'installer windows 95. Ca plante pendant l'install. Gloups !
  • # Re: Bochs 2.0 est sorti

    Posté par  . Évalué à 10.

    Soyons curieux !
    Juste un parallèle, c'est l'occasion d'en parler car c'est assez particulier :

    Voici un autre émulateur matériel et qui, de plus, utilise des composants sous GNU/GPL.
    http://www.opac.ch/Smaky/sminfini.html(...)

    Il concerne l'ordinateur Smaky
    Tout cela vous est inconnu ?
    Allez hop :

    http://www.opac.ch/Smaky/(...)
    et les news en français :
    http://www.opac.ch/Smaky/news.html(...)
    • [^] # Re: Bochs 2.0 est sorti

      Posté par  . Évalué à 10.

      Cet émulateur n'est pas libre:
      Le Smaky Infini peut être utilisé gratuitement en version de démonstration, laquelle ne permet ni l'enregistrement du travail effectué, ni son impression.

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: Bochs 2.0 est sorti

        Posté par  (site web personnel) . Évalué à 10.

        Il n'est d'ailleurs pas dit qu'il utilise des composants GPL (sinon il y aurait un problème éventuel de licence), mais qu'il est basé sur des travaux ayant aboutis au code GPL de l'émulateur Amiga UAE
        • [^] # Re: Bochs 2.0 est sorti

          Posté par  . Évalué à 6.

          Je rectifie ce que j'ai dit. Je citais le site d'Epsitec, mais apparemment on peut maintenant télécharger gratuitement l'émulateur à partir du site opac.ch. C'est là:
          http://www.opac.ch/Smaky/downloads.html(...)

          PS: je t'ai fait un mail au sujet de la news

          "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

  • # Re: Bochs 2.0 est sorti

    Posté par  . Évalué à 10.

    je rajouterais:

    - Lancer un OS et des soft pour PC sur un MAC ou n'importe quel hardware exotique, ce que ne peuvent pas faire les virtualiseur telle que WMware.
    - Develloper pour un architecture x86-64 alors que celle-ci n'est pas encore dispo.

    Sinon, il n'y a pas d'image de Windows et de BeOS mais des images de systémes linux et freedos minimaux qui peuvent servire de base pour installer un autre OS.

    P.S. j'ai pas compris la blague avec le Bios
    • [^] # Re: Bochs 2.0 est sorti

      Posté par  . Évalué à 10.

      C'est pas une blague. Mais c'est assez inattendu, non ?
      cf le commentaire #99507 de http://linuxfr.org/2002/02/27/7284.html(...) (A la découverte de Bochs)

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: Bochs 2.0 est sorti

        Posté par  . Évalué à 10.

        Ben ouais je confirme pour le Bios :)
        Bochs permet de tout craquer :) Normal on a une visibilité __absolue__ sur le hw/ et s/w.
    • [^] # Re: Bochs 2.0 est sorti

      Posté par  . Évalué à 10.

      Je rajouterai qu'il est également très utile aux gens intéressés par le développement de système d'exploitations qui souhaitent tester aisément, sur du matériel émulé - je ne suis pas persuadé que « simulé » soit plus adaté ici -, au préalable, leur code. Travaillant moi-même sur un noyau et sur des pilotes de périphérique au dessus, il m'est souvent très utile, permettant de tracer les erreurs à l'instruction près, permettant aussi d'avoir des messages de débug spécifiques à Bochs (en utilisant un hack concernant le port 0xE9), de tracer l'utilisation au cycle près, etc., etc., etc. (réellement pratique quand on veut voir combien de cycles prend ce !@# de changement de contexte sans jouer de partout avec du rdtsc ou des trucs du genre.

      En ce sens, l'augmentation des performances, si importante et super soit-elle, ne me semble pas un résumé pertinent des changements, dans la mesure où ce serait ne prendre que le point de vue d'une partie des utilisateurs. Les supports MMX, SSE, SSE2, x86-64, un DMA bien[tm], le PCI register, le charmap change, GDB, ont par exemple bien plus de valeur pour moi - et je remercie énormément l'équipe de Bochs pour ça! :-) Ceci n'est bien entendu pas à prendre comme une réelle critique, juste comme un ajout - et puis d'abord, j'utilise Bochs 2.0 depuis le 21, donc j'aurais pu passer la news.

      Ah oui, au fait, comme l'indique le ChangeLog, Bochs 2.0.1 est sorti, avec à la clef des bugfixes bien intéressants!
      • [^] # Re: Bochs 2.0 est sorti

        Posté par  . Évalué à 7.

        Non, c'est un simulateur.
        Ce serait un émulateur, on pourrait le plugger sur une carte mère 386, à la place du CPU. Remarque, suffirait de sortir toutes les IO CPU de Bochs vers un connecteur adapté et on aurait un vrai émulateur 386.
        • [^] # Re: Bochs 2.0 est sorti

          Posté par  (site web personnel) . Évalué à 10.

          Remarque, suffirait de sortir toutes les IO CPU de Bochs vers un connecteur adapté et on aurait un vrai émulateur 386.

          Sur le plan logique tu as raison. Malheureusement, il faut aussi considérer l'aspect temporel : autant un simulateur accepte des temps de réponse extensibles (non déterministes) et probablement longs, autant un émulateur impose d'avoir des caractéristiques temporelles les plus proches du véritable microprocesseur. C'est d'ailleurs pour cela que les constructeurs se permettent de vendre leurs émulateurs une petite fortune...

          PS : je ne dis pas ça pour toi (qui semble savoir ce qu'est un émulateur), mais je pense que la précision peut etre intéressante pour d'autres
          • [^] # Re: Bochs 2.0 est sorti

            Posté par  . Évalué à 4.

            Exact, je précise donc que si on le fait pas c'est justement parce que ça poserait des problèmes de temps et plus globalement de signaux électriques. Donc si il faut un CPU à 10 Ghz avec des SuperIO à 100 Mhz pour émuler un 386 bof bof...
        • [^] # Re: Bochs 2.0 est sorti

          Posté par  . Évalué à 7.

          Hmm, c'est exact. Mais je disais bien que ça ne me semblait pas être une précision essentielle ici, dans la mesure où d'abord l'on précise que les performances sont réellement très limitées, par rapport à un logiciel de virtualisation tel que Plex86, et ensuite où les utilisations présentées sont sans ambiguïté. Enfin bon, il est toujours bon de faire de la pédagogie en distingant les deux.

          En passant, outre le « Madrake » qui fait très CRS :-), le Intel 386 de la news me gêne un peu, à l'heure justement où l'on parle du support MMX, SSE, etc. :-) IA-32 m'aurait beaucoup plus convenu, dans la mesure où ils font partie de l'ISA défini pour l'IA-32 dans les documentations à propos du PIV - redéfinissant donc constamment l'IA-32. Bon, ceci dit, se pose ensuite le problème qu'il n'émule pas que ça, donc les I/O devices, le rôle du standard PC, etc. Mais bon, Intel 386 fait vraiment bizarre :-)
          • [^] # Re: Bochs 2.0 est sorti

            Posté par  . Évalué à 0.

            A vrai dire je me suis posé la question. J'ai pensé à ceux qui ne savent pas ce que veut dire IA-32 et à ceux qui découvriront la dépêche grâce à un moteur de recherche.

            "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

  • # Re: Bochs 2.0 est sorti

    Posté par  (site web personnel) . Évalué à 10.

    Boch est aussi hyper pratique quand veut créer une mini distri de linux sur disquette, sa permet de faire les test sans rebooter en permanance
    • [^] # Re: Bochs 2.0 est sorti

      Posté par  . Évalué à 5.

      Oui, il était d'ailleurs conseillé dans un article de linux mag sur ce sujet...
  • # Cluster

    Posté par  . Évalué à 10.

    est il possible de faire un cluster avec plusieurs images bochs ?

    i.e. plusieurs boshs tournant openMosix et migration des process entre eux. Le tout sur une meme machine ( mais pas forcément)

    VmWare ne peut pas a cause d'un bug dans son emulation du pentuim. ca crashes quand un process migre.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.