/[gxemul]/trunk/doc/experiments.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/doc/experiments.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 9 by dpavlin, Mon Oct 8 16:18:19 2007 UTC revision 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC
# Line 12  Line 12 
12    
13  <!--  <!--
14    
15  $Id: experiments.html,v 1.71 2005/06/12 12:31:53 debug Exp $  $Id: experiments.html,v 1.76 2005/06/24 09:33:32 debug Exp $
16    
17  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.
18    
# Line 106  that you do two things: Line 106  that you do two things:
106  </font></pre>  </font></pre>
107  </td></tr></table>  </td></tr></table>
108    
109  <p>  <p>(This hello world program is available here as well:
110  (This hello world program is available here as well:  <a href="hello_mips.c"><tt>hello_mips.c</tt></a>)
 <a href="hello_mips.c">hello_mips.c</a>)  
111    
112  <p>  <p>I recommend that you build a GCC cross compiler for the
 I recommend that you build a GCC cross compiler for the  
113  <b>mips64-unknown-elf</b> target, and install it. Other compilers could  <b>mips64-unknown-elf</b> target, and install it. Other compilers could
114  work too, but GCC is good because of its portability. Then try to compile  work too, but GCC is good because of its portability. Then try to compile
115  the hello world program:  and link the hello world program:
116  <pre>  <pre>
117          $ <b>mips64-unknown-elf-gcc -O2 hello_mips.c -mips4 -mabi=64 -c</b>          $ <b>mips64-unknown-elf-gcc -O2 hello_mips.c -mips4 -mabi=64 -c</b>
118          $ <b>mips64-unknown-elf-ld -Ttext 0xa800000000030000 -e f hello_mips.o -o hello_mips --oformat=elf64-bigmips</b>          $ <b>mips64-unknown-elf-ld -Ttext 0xa800000000030000 -e f hello_mips.o -o hello_mips --oformat=elf64-bigmips</b>
# Line 187  Hopefully this is enough to get you insp Line 185  Hopefully this is enough to get you insp
185  <h4>Hello World for GXemul's PPC mode</h4>  <h4>Hello World for GXemul's PPC mode</h4>
186    
187  GXemul also has an experimental PowerPC emulation mode.  GXemul also has an experimental PowerPC emulation mode.
188  <a href="hello_ppc.c">hello_ppc.c</a> is similar to hello_mips.c, but  <a href="hello_ppc.c"><tt>hello_ppc.c</tt></a> is similar to
189  should be compiled and run as follows:  <tt>hello_mips.c</tt>, but should be compiled and run as follows:
190  <p>  <p>
191  <pre>  <pre>
192          $ <b>ppc-unknown-elf-gcc -O2 hello_ppc.c -c</b>          $ <b>ppc-unknown-elf-gcc -O2 hello_ppc.c -c</b>
# Line 512  probably doesn't work in GXemul. Line 510  probably doesn't work in GXemul.
510                  a kernel compiled for R5000, because Linux doesn't autodetect                  a kernel compiled for R5000, because Linux doesn't autodetect
511                  the CPU type at runtime.)                  the CPU type at runtime.)
512          <br>Also: <a href="http://www.tal.org/~milang/o2/kernels/">http://www.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux64-2.6.8.1-IP32">vmlinux64-2.6.8.1-IP32</a>          <br>Also: <a href="http://www.tal.org/~milang/o2/kernels/">http://www.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux64-2.6.8.1-IP32">vmlinux64-2.6.8.1-IP32</a>
513          <br>Try <b><tt>-E sgi -e ip32 -b -X -CR5000 vmlinux64-2.6.8.1-IP32</tt></b>.          <br>Try <b><tt>-E sgi -e ip32 -X -CR5000 vmlinux64-2.6.8.1-IP32</tt></b>.
514          <br>And also some IP27 kernels:          <br>And also some IP27 kernels:
515                  <a href="http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428">http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428</a>                  <a href="http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428">http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428</a>
516                  and                  and
# Line 523  probably doesn't work in GXemul. Line 521  probably doesn't work in GXemul.
521        <li><a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>:        <li><a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>:
522          <br><a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>          <br><a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>
523          <br>More recent snapshots can be found at <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/">ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/</a>.          <br>More recent snapshots can be found at <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/">ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/</a>.
524          <br>Try <b><tt>gxemul -b -E sgi -e ip32 bsd.rd</tt></b>          <br>Try <b><tt>gxemul -E sgi -e ip32 bsd.rd</tt></b>
525        <p>        <p>
526        <li><a href="http://www.freebsd.org/platforms/mips.html">FreeBSD/MIPS</a>:        <li><a href="http://www.freebsd.org/platforms/mips.html">FreeBSD/MIPS</a>:
527                  I don't think public binary snapshots are available yet.                  I don't think public binary snapshots are available yet.
# Line 588  probably doesn't work in GXemul. Line 586  probably doesn't work in GXemul.
586          <br>I have tried this with the Swedish version, but it might          <br>I have tried this with the Swedish version, but it might
587                  work with other versions too.<pre>                  work with other versions too.<pre>
588          $ <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>          $ <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>
589          $ <b><tt>gxemul -X -b -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>          $ <b><tt>gxemul -X -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>
590          $ <b><tt>gxemul -X -b -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>          $ <b><tt>gxemul -X -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>
591  </pre>  <br><tt>ARCINST</tt> tries to prepare the disk image for installation. (It <i>almost</i> works.)  </pre>  <br><tt>ARCINST</tt> tries to prepare the disk image for installation. (It <i>almost</i> works.)
592          <br><tt>SETUPLDR</tt> should load some drivers from the cdrom, but then it crashes with a bluescreen.          <br><tt>SETUPLDR</tt> should load some drivers from the cdrom, but then it crashes with a bluescreen.
593      </ul>      </ul>
# Line 601  probably doesn't work in GXemul. Line 599  probably doesn't work in GXemul.
599      <ul>      <ul>
600        <li><a href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a>:        <li><a href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a>:
601          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/netbsd.gz">netbsd.gz</a>          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/netbsd.gz">netbsd.gz</a>
602          <br>Try <b><tt>gxemul -X -b -E hpc -e mobilepro770 netbsd</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e mobilepro770 netbsd</tt></b>
603          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz</a>          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz</a>
604          <br>Try <b><tt>gxemul -X -b -E hpc -e mobilepro770 netbsd-GENERIC</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e mobilepro770 netbsd-GENERIC</tt></b>
605        <p>        <p>
606        <li>Linux for BE300:        <li>Linux for BE300:
607          <br><a href="http://www.linux4.be/2004/linux4be20040908.zip">http://www.linux4.be/2004/linux4be20040908.zip</a>          <br><a href="http://www.linux4.be/2004/linux4be20040908.zip">http://www.linux4.be/2004/linux4be20040908.zip</a>
608          <br>Try <b><tt>gxemul -X -b -E hpc -e be300 vmlinux</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e be300 vmlinux</tt></b>
609        <p>        <p>
610        <li>Linux for Agenda VR3:        <li>Linux for Agenda VR3:
611          <br>Download <a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/">http://agenda-snow.sourceforge.net/kernel-old-versions/binary</a>/<a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/root1.2.6.kernel-8.00">root1.2.6.kernel-8.00</a>          <br>Download <a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/">http://agenda-snow.sourceforge.net/kernel-old-versions/binary</a>/<a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/root1.2.6.kernel-8.00">root1.2.6.kernel-8.00</a>
612          <br>and <a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/">http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O</a>/<a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/root1.2.6.cramfs">root1.2.6.cramfs</a>.          <br>and <a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/">http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O</a>/<a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/root1.2.6.cramfs">root1.2.6.cramfs</a>.
613          <br>(or <a href="http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs">http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs</a>)          <br>(or <a href="http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs">http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs</a>)
614          <br>Try <b><tt>gxemul -b -X -E hpc -e vr3 -x 0xbf200000:root1.2.6.cramfs 0xbf000000:0:0xbf0005e0:root1.2.6.kernel-8.00</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e vr3 -x 0xbf200000:root1.2.6.cramfs 0xbf000000:0:0xbf0005e0:root1.2.6.kernel-8.00</tt></b>
615          <br>(or replace root1.2.6.cramfs with dream-1-noxip.cramfs)          <br>(or replace root1.2.6.cramfs with dream-1-noxip.cramfs)
616          <br>Remove <b><tt>-X</tt></b> to try with serial console instead of X, and          <br>Remove <b><tt>-X</tt></b> to try with serial console instead of X, and
617                  remove <b><tt>-b</tt></b> to try without (old) bintrans.                  remove <b><tt>-b</tt></b> to try without (old) bintrans.
# Line 625  probably doesn't work in GXemul. Line 623  probably doesn't work in GXemul.
623        <li>Linux for MobilePro etc.:        <li>Linux for MobilePro etc.:
624          <br><a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/</a>          <br><a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/</a>
625          <br>Uncompress the archive to get a kernel, vmlinux-800 for example.          <br>Uncompress the archive to get a kernel, vmlinux-800 for example.
626          <br>Try <b><tt>./gxemul -b -X -o 'root=/dev/hda1' -d r:disk.img -d r:disk.img -Ehpc -e mobilepro800 vmlinux-800</tt></b>          <br>Try <b><tt>./gxemul -X -o 'root=/dev/hda1' -d r:disk.img -d r:disk.img -Ehpc -e mobilepro800 vmlinux-800</tt></b>
627          <br>where disk.img is an ext2fs filesystem with contents from          <br>where disk.img is an ext2fs filesystem with contents from
628          <a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2</a>          <a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2</a>
629          <br>(Note the double disk arguments.)          <br>(Note the double disk arguments.)
# Line 633  probably doesn't work in GXemul. Line 631  probably doesn't work in GXemul.
631        <p>        <p>
632        <li><a href="http://www.disorder.ru/openbsd/be300/">OpenBSD/be300</a>:        <li><a href="http://www.disorder.ru/openbsd/be300/">OpenBSD/be300</a>:
633          <br><a href="http://www.disorder.ru/openbsd/be300/bsd.rd">http://www.disorder.ru/openbsd/be300/bsd.rd</a>          <br><a href="http://www.disorder.ru/openbsd/be300/bsd.rd">http://www.disorder.ru/openbsd/be300/bsd.rd</a>
634          <br>Try <b><tt>gxemul -X -b -E hpc -e be300 bsd.rd</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e be300 bsd.rd</tt></b>
635          <br>Note: -b might be buggy, so you can try without that if you want to.          <br>Note: bintrans might be buggy, so you can try with -B if you want to.
636      </ul>      </ul>
637    </li>    </li>
638    
# Line 678  probably doesn't work in GXemul. Line 676  probably doesn't work in GXemul.
676      </ul>      </ul>
677    </li>    </li>
678    
679      <p>
680    
681      <li>EVBMIPS:
682        <ul>
683          <li><a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a>:
684            <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/netbsd-MALTA.gz">netbsd-MALTA.gz</a>
685            <br><b><tt>gxemul -E evbmips -e malta netbsd-MALTA</tt></b>
686            <br>The default CPU is a 5Kc (MIPS64). Add
687                    <tt>-C 4Kc</tt> to use a MIPS32 CPU instead.
688            <br>(NetBSD/evbmips runs in 32-bit mode on MIPS64 anyway...)
689            <br>Read <a href="guestoses.html#netbsdevbmipsinstall">this
690            section</a> on how to install NetBSD/evbmips onto a harddisk image.
691            <br>or
692            <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/netbsd-PB1000.gz">netbsd-PB1000.gz</a>
693            <br><b><tt>gxemul -E evbmips -e pb1000 netbsd-PB1000</tt></b>
694        </ul>
695      </li>
696    
697  </ul>  </ul>
698    
699  <p>  <p>
# Line 726  The following don't work at all, or just Line 742  The following don't work at all, or just
742      </ul>      </ul>
743    </li>    </li>
744    
   <p>  
   
   <li>EVBMIPS:  
     <ul>  
       <li><a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a>:  
         <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/netbsd-MALTA.gz">netbsd-MALTA.gz</a>  
         <br><b><tt>gxemul -t -E evbmips -e malta netbsd-MALTA</tt></b>  
         <br>or  
         <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/netbsd-PB1000.gz">netbsd-PB1000.gz</a>  
         <br><b><tt>gxemul -t -E evbmips -e pb1000 netbsd-PB1000</tt></b>  
     </ul>  
   </li>  
   
745    <p>    <p>
746    
747    <li>Walnut (evbppc):    <li>Walnut (evbppc):

Legend:
Removed from v.9  
changed lines
  Added in v.10

  ViewVC Help
Powered by ViewVC 1.1.26