Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Qemu, FreeDos et partitions

0 views
Skip to first unread message

Jo Engo

unread,
Nov 22, 2020, 8:02:48 AM11/22/20
to
Bonjour,

j'ai une partition FreeDos (vue /dev/sda1 vue depuis linux). Je peux
booter directement dessus mais ce n'est pas ce qui m'intéresse.

Avec Qemu, si je lui indique comme disque /dev/sda1 avec toutes les
permissions requises (je sais ce n'est pas prudent, et ce n'est
probablement pas ce qu'il faut faire) j'ai au boot un message apparemment
de FreeDos qui se plaint (de mémoire, je ne refais pas la manip) de ne
pas trouver kernel.sys or il est bien présent sur la partition.

J'envisage de faire un petit script, et c'est probablement plus conforme
à ce qu'il faut faire :

#!/bin/bash
dd if=/dev/sda1 of= partition.dos
chown partition.dos moi:moi
qemu # (avec le bon paramétrage)
# un garde fou en cas de cata, je n'ai pas encore réfléchi à comment faire
dd if=partition.dos of=/dev/sda1

Qu'en pensez-vous ?

Petit problème linuxiste qui justifie un xpost :

qemu doit (je crois) être lancé en peone et le reste du script en root.
Comment faire ?

su moi -c qemu me semble OK. Mais j'aimerai trouver quelque chose de plus
général.


Merci de vos tubes et vos pipes :)

xpost fr.comp.os.linux.configuration et fr.comp.emulateurs et suivi fce
vu que mon interrogation concerne surtout qemu (et accessoirement FreeDos)




--
Car le jeune homme est beau, mais le vieillard est grand.
-+- Victor Hugo -+-

Pascal Hambourg

unread,
Nov 22, 2020, 10:19:58 AM11/22/20
to
Le 22/11/2020 à 14:02, Jo Engo a écrit :
>
> j'ai une partition FreeDos (vue /dev/sda1 vue depuis linux). Je peux
> booter directement dessus mais ce n'est pas ce qui m'intéresse.
>
> Avec Qemu, si je lui indique comme disque /dev/sda1 avec toutes les
> permissions requises (je sais ce n'est pas prudent, et ce n'est
> probablement pas ce qu'il faut faire) j'ai au boot un message apparemment
> de FreeDos qui se plaint (de mémoire, je ne refais pas la manip) de ne
> pas trouver kernel.sys or il est bien présent sur la partition.

Je ne sais pas comment fonctionne l'amorçage de FreeDOS, mais je doute
que l'espace disponible dans le secteur d'amorce de la partition soit
suffisant pour que le programme d'amorce soit capable d'interpréter un
système de fichier même FAT. Au lieu de cela je soupçonne qu'il utilise
directement la position physique du fichier kernel.sys. S'il a
enregistré sa position absolue par rapport au début du disque et non sa
position relative par rapport au début de la partition (ce qui suppose
que le programme du secteur d'amorce connaisse sa propre position au
moment de l'exécution), alors utiliser la partition (ou un fichier image
de celle-ci) comme un disque virtuel ne marchera pas.

Jo Engo

unread,
Nov 22, 2020, 12:12:06 PM11/22/20
to
Le Sun, 22 Nov 2020 16:19:56 +0100, Pascal Hambourg a écrit :

> Je ne sais pas comment fonctionne l'amorçage de FreeDOS, mais je doute
> que l'espace disponible dans le secteur d'amorce de la partition soit
> suffisant pour que le programme d'amorce soit capable d'interpréter un
> système de fichier même FAT. Au lieu de cela je soupçonne qu'il utilise
> directement la position physique du fichier kernel.sys.

Voila une piste mais apparemment du coup et vu la suite de ton analyse,
c'est mort.
Il me reste la possibilité de faire une installation de FreeDos au lieu
d'utiliser celle qui est là, non ?

> S'il a
> enregistré sa position absolue par rapport au début du disque et non sa
> position relative par rapport au début de la partition (ce qui suppose
> que le programme du secteur d'amorce connaisse sa propre position au
> moment de l'exécution), alors utiliser la partition (ou un fichier image
> de celle-ci) comme un disque virtuel ne marchera pas.

Donc ce n'est même pas que j'essaie de faire un disque virtuel pour
utiliser *cette* partition FreeDos.



--
Nous sommes tous des poussières d'étoiles.
-+- Isaac Asimov -+-

Jo Engo

unread,
Nov 22, 2020, 12:47:52 PM11/22/20
to
Le Sun, 22 Nov 2020 14:21:17 +0100, Marc SCHAEFER a écrit :

> (plein de trucs intéressant que je mets dans ma besace)

> Au fait, qemu ne pourrait-il pas directement accéder /dev/sda1 ?

J'ai perdu connement un super-message élaboré, argumenté et tout, le seul
truc dont je me souviens c'est ce que j'ai rajouté à la fin :

Et si je démarrait Grub sur qemu, en lui donnant comme disque /dev/sda au
lieu de /dev/sda1, hein ? Ça résoudrait peut-être cette question de
position absolue.

Je cogite et mets donc le suivi sur fr.comp.emulateurs

Merci à Marc et à Pascal de me faire réfléchir



--
Qui se connaît, connaît aussi les autres ;
car chaque homme porte la forme entière de l'humaine condition.
-+- Michel de Montaigne, Essais -+-

Pascal Hambourg

unread,
Nov 22, 2020, 5:51:51 PM11/22/20
to
Le 22/11/2020 à 18:47, Jo Engo a écrit :
> Le Sun, 22 Nov 2020 14:21:17 +0100, Marc SCHAEFER a écrit :
>
>> Au fait, qemu ne pourrait-il pas directement accéder /dev/sda1 ?

N'est-ce pas déjà ce qu'il fait, si j'ai bien lu le message initial ?

> Et si je démarrait Grub sur qemu, en lui donnant comme disque /dev/sda au
> lieu de /dev/sda1, hein ? Ça résoudrait peut-être cette question de
> position absolue.

Si le système hôte utilise aussi /dev/sda, ça risque de ne pas bien se
passer. Les structures de stockage classiques ne sont pas conçues pour
les accès concurrents.

Jo Engo

unread,
Nov 23, 2020, 6:06:28 AM11/23/20
to
Bonjour,

Le 22/11/2020 à 23:51, Pascal Hambourg a écrit :
>
> Si le système hôte utilise aussi /dev/sda, ça risque de ne pas bien se
> passer. Les structures de stockage classiques ne sont pas conçues pour
> les accès concurrents.

Si c'est ça, le seule possibilité qui me reste, déjà dit, est
d'installer FreeDos sur un disque virtuel et ne pas utiliser la partition
FreeDos que j'ai (/me se gratte la tête). Il va falloir que j'émule un
lecteur de disquette ?

Jo Engo

unread,
Nov 23, 2020, 7:26:31 AM11/23/20
to
Le 23/11/2020 à 12:06, Jo Engo a écrit :
> le seule possibilité qui me reste,

J'en vois une autre, mais c'est chaud :

je fais dd if=/dev/sda of=debut.disque count=? ? ?

(ajuster ? ? ? bien sûr de façon à contenir kernel.sys et command.com)
et travailler sur ce disque virtuel, avec grub qui va enchaîner sur
l'amorçage de FreeDos, par contre je ne pourrais plus écrire directement
dans la partition DOS mais ça ne présentait que peu d'intérêt.

Pascal Hambourg

unread,
Nov 23, 2020, 6:21:50 PM11/23/20
to
Le 23/11/2020 à 13:26, Jo Engo a écrit :
>
> je fais dd if=/dev/sda of=debut.disque count=? ? ?
> (ajuster ? ? ? bien sûr de façon à contenir kernel.sys et command.com)
> et travailler sur ce disque virtuel, avec grub qui va enchaîner sur
> l'amorçage de FreeDos

De quel GRUB parles-tu ?

Si c'est un firmware GRUB pour Qemu, d'après la documentation de GRUB il
ne peut pas chaîner un secteur d'amorce.

Si c'est un GRUB standard dont la boot image est installée dans le MBR
du disque, alors le fichier image doit contenir non seulement la
partition qui contient FreeDOS en entier mais aussi celle vers laquelle
GRUB pointe (contenant /boot/grub) pour charger ses modules et grub.cfg.

Jo Engo

unread,
Nov 24, 2020, 3:39:41 AM11/24/20
to
Le 24/11/2020 à 00:21, Pascal Hambourg a écrit :
> Si c'est un GRUB standard dont la boot image est installée dans le MBR
> du disque, alors le fichier image doit contenir non seulement la
> partition qui contient FreeDOS en entier mais aussi celle vers laquelle
> GRUB pointe (contenant /boot/grub) pour charger ses modules et grub.cfg.

Oui, en effet, je n'avais pas pensé à ça? Raah zut. De mémoire, mais
je n'ai pas la machine sous les yeux, de mémoire la partition ext / et
elle fait plusieurs Go. Bon c'est mort. Remarque c'est bien aussi de faire
une installation, et si je me débrouille bien, je pourrais alors
synchroniser d'une façon ou d'une autre.
0 new messages