<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>The Linux+FreeBSD mini-HOWTO: Far girare programmi binari estranei</TITLE> <LINK HREF="Linux+FreeBSD-7.html" REL=next> <LINK HREF="Linux+FreeBSD-5.html" REL=previous> <LINK HREF="Linux+FreeBSD.html#toc6" REL=contents> </HEAD> <BODY> <A HREF="Linux+FreeBSD-7.html">Avanti</A> <A HREF="Linux+FreeBSD-5.html">Indietro</A> <A HREF="Linux+FreeBSD.html#toc6">Indice</A> <HR> <H2><A NAME="s6">6. Far girare programmi binari estranei</A><!--FreeBSD dualboot!foreign binaries--></H2> <H2><A NAME="ss6.1">6.1 Far girare programmi binari di FreeBSD sotto Linux</A> <!--FreeBSD dualboot!foreign binaries!FreeBSD in Linux--></H2> <P>Il pacchetto <CODE>iBCS</CODE> supporta l'esecuzione di binari FreeBSD sotto Linux; ma è vecchio e non più mantenuto. Io non sono riuscito a farlo funzionare. Per favore fatemi sapere se avete avuto migliore fortuna con questo pacchetto. <P> <H2><A NAME="ss6.2">6.2 Far girare programmi binari di Linux sotto FreeBSD</A> <!--FreeBSD dualboot!foreign binaries!Linux in FreeBSD--></H2> <P>FreeBSD ha la possibilità di far girare binari Linux, sia nei formati a.out che ELF. Per fare questo dovete seguire i seguenti tre passaggi: To do this you have to take the following three steps: <P> <OL> <LI>Dovete abilitare la compatibilità con Linux. Per fare questo (in FreeBSD 2.2.2 --- alcuni dettagli possono essere diversi in altre versioni) dovete editare il vostro file <CODE>/etc/rc.conf</CODE> e cambiare <PRE> linux_enable="NO" </PRE> in <PRE> linux_enable="YES" </PRE> e riavviare. Un altro modo per caricare il supporto binario con Linux è quello di eseguire il comando <CODE>/usr/bin/linux</CODE>. In questo modo non dovete riavviare e non avete il supporto binario di Linux sempre caricato (cioè si risparmia memoria.) Ricordate di aggiungere la riga <PRE> options COMPAT_LINUX </PRE> nel file config del kernel FreeBSD se compilate un nuovo kernel FreeBSD. </LI> <LI>Dovete installare le librerie condivise di Linux se i vostri binari Linux sono linkati dinamicamente. Le librerie sono incluse in FreeBSD 2.2.{2,5,6} come pacchetto <CODE>linux_lib-2.4.tgz</CODE> (nuove versioni potrebbero essere disponibili). Lanciate il comando seguente per installare il pacchetto: <PRE> pkg_add <path_del_package>/linux_lib-2.4.tgz </PRE> <path_del_package> è la directory che contiene il pacchetto. Potete anche scaricare il pacchetto dalla rete con: <PRE> pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/packages-stable/All/linux_lib-2.4.tgz </PRE> o rilanciando <CODE>/stand/sysinstall</CODE>. Entrate in ``Configure'', ``Packages'' e usate i menù. Dovrete eseguire il comando seguente se state lanciando binari Linux linkati staticamente: <PRE> brandelf -t Linux <nome_del_binario_linux_linkato_staticamente> </PRE> </LI> <LI>Installare i programmi Linux che volete lanciare. I programmi possono essere installati sia su filesystem UFS sia su filesystem ext2fs. Vedere la sezione <A HREF="Linux+FreeBSD-5.html#ext2fs">Montare filesystems ext2fs sotto FreeBSD</A> per maggiori informazioni riguardo l'uso di filesystems ext2fs sotto FreeBSD. </LI> </OL> <P>Ho eseguito con successo le versioni Linux di Applixware 4.3 e Netscape 3.01 (ambedue in formato ELF) sotto FreeBSD 2.2.2 usando questo metodo (sì, so che esiste una versione nativa di Netscape 4 per FreeBSD). Anche le versioni Linux di acroread e StarOffice 3 e 4 lavorano bene sotto FreeBSD. StarOffice 5 dipende dai threads nativi di Linux e attualmente non funziona sotto FreeBSD. Leggete la documentazione FreeBSD per maggiori informazioni a questo riguardo. <P> <HR> <A HREF="Linux+FreeBSD-7.html">Avanti</A> <A HREF="Linux+FreeBSD-5.html">Indietro</A> <A HREF="Linux+FreeBSD.html#toc6">Indice</A> </BODY> </HTML>