OVH Cloud OVH Cloud

Émultaion binaire OpenBSD sous FreeBSD

2 réponses
Avatar
Arnaud LACOMBE
Bonjpur,

J'ai une machine sous OpenBSD 3.4, dont j'ai besoin de recompiler le
noyau, or, pour des raison d'espace disque et de puissance, je
souhaiterais le compiler sur une autre machine sous FreeBSD 5.2 (noyau
GENERIC) . En fait, ce que je compte faire, c'est un chroot sur mon
freebee, puis compil, mais il semble y avoir des différences de formats
des binaires:

root@freebsd:/$ chroot /openbsd /bin/sh
ELF binary type "0" not known.

un coup de brandelf me renvoie: File 'sh' is of brand 'SVR4' (0).

Je suppose donc qu'il faut que j'inclus COMPAT_SVR4 dans le noyau de
freebsd, non ?

Si mon approche n'est pas bonne, quel autre solution ai-je pour compiler
le noyau d'Open sur cette machine ?

Merci d'avance

Arnaud LACOMBE

2 réponses

Avatar
Miod Vallat
J'ai une machine sous OpenBSD 3.4, dont j'ai besoin de recompiler le
noyau, or, pour des raison d'espace disque et de puissance, je
souhaiterais le compiler sur une autre machine sous FreeBSD 5.2 (noyau


Bah, une compilation de noyau en NFS, meme sur une machine poussive, ça
ne prend pas bien longtemps...

GENERIC) . En fait, ce que je compte faire, c'est un chroot sur mon
freebee, puis compil, mais il semble y avoir des différences de formats
des binaires:


Effectivement.

Je suppose donc qu'il faut que j'inclus COMPAT_SVR4 dans le noyau de
freebsd, non ?


C'est vous qui voyez. Je ne suis pas sur que cela change quoi que ce
soit - FreeBSD n'a rien de prévu pour la compatibilité des binaires
OpenBSD.

Si mon approche n'est pas bonne, quel autre solution ai-je pour compiler
le noyau d'Open sur cette machine ?


Avec un compilateur croisé, «tout simplement».

Avatar
manu
Arnaud LACOMBE wrote:

[binaires OpenBSD]
un coup de brandelf me renvoie: File 'sh' is of brand 'SVR4' (0).
Je suppose donc qu'il faut que j'inclus COMPAT_SVR4 dans le noyau de
freebsd, non ?


Non, rien à voir. Tous les BSD utilisent l'ABI SVR4, et COMPAT_SVR4
émule les appels systèmes SVR4, que les BSD n'utilisent pas.

Si mon approche n'est pas bonne, quel autre solution ai-je pour compiler
le noyau d'Open sur cette machine ?


Ah, ca serait NetBSD, tout serait plus simple: les sources sont prévues
pour être compilées depuis un autre systèmes en lancant juste un script.
Là tu peux essayer de recopier tous les headers d'OpenBSD dans ta zone
chrootée, d'y compiler le /usr/sbin/config d'OpenBSD, et ensuite de
tenter ta chance pour le kernel, mais à mon avis t'es mal barré.

--
Emmanuel Dreyfus
Un bouquin en français sur BSD:
http://www.eyrolles.com/php.informatique/Ouvrages/9782212112443.php3