[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] libminios/openlibm support ready for testing
On 4 Jul 2014, at 13:50, Thomas Leonard <talex5@xxxxxxxxx> wrote: > > You can install libminios elsewhere with e.g. > > $ make install LIBDIR=/tmp/foo/lib INCLUDEDIR=/tmp/foo/include > > Just remember to set PKG_CONFIG_PATH to find it again: > > $ PKG_CONFIG_PATH=/tmp/foo/lib/pkgconfig pkg-config --libs libminios > -L/tmp/foo/usr/lib/pkgconfig/../../lib/mini-os -lminios -T > /tmp/foo/usr/lib/pkgconfig/../../lib/mini-os/libminios.lds -m > elf_x86_64 -lx86_64 > > (note: it does assume that LIBDIR and INCLUDEDIR have a common parent) > > For openlibm, use: > > $ make install prefix=/tmp/foo > > I guess someone with OPAM skills could do this pretty easily... Done. I put a small package called 'xen-minios' into: https://github.com/mirage/opam-repository in the external-minios branch. It just runs the `install.sh` in this repository: https://github.com/mirage/mirage-xen-libs which downloads and installs our openlibm/minios forks into the ~/.opam dirspace (or optionally into some other PREFIX if specified). I think it might be a good idea to maintain this library (perhaps with a better name, like mirage-xen-minios) in the future, since it's a convenient place to apply distribution-specific patches to MiniOS (like cleaning up the startup text to be prettier), and also to control which versions of libm go in. How about I rename the repository to mirage-xen-minios, and cut a release tarball that bundles the upstream .tar.gz files (so `make install` can run without any external downloads)? Once that's done, I just needed a few minor patches to your mirage-platform pull request: - The symlink handling in OPAM is annoying right now, since it destroys them from the source repository. On the other hand, the only reason we have symlinks in mirage-platform is to support two concurrent revisions of OCaml (4.00.1 and 4.01.0). I think it's time to retire 4.00.1 (especially with the ARM code gen fixes in 4.01.0), so I've removed it entirely and made the only supported runtime 4.01.0. - I exported PKG_CONFIG_PATH from the xen/Makefile. ThomasG and I had a quick chat about how best to support this from OPAM, but the easiest way right now is to run `opam config var prefix` to determine the active compiler switch, and set the variable based off that. I've put these patches into: https://github.com/mirage/mirage-platform/pull/94 And it boots on x86_64! A little more verbose as expected: Mapping memory range 0x400000 - 0x10000000 setting 0000000000000000-00000000000de000 readonly skipped 0000000000001000 MM: Initialise page allocator for 28e000(28e000)-10000000(10000000) MM: done Demand map pfns at 10001000-2010001000. Initialising timer interface Initialising console ... done. gnttab_table mapped at 0000000010001000. xencaml: app_main_thread getenv(OCAMLRUNPARAM) -> null getenv(CAMLRUNPARAM) -> null Unsupported function lseek called in Mini-OS kernel Unsupported function lseek called in Mini-OS kernel Unsupported function lseek called in Mini-OS kernel getenv(OCAMLRUNPARAM) -> null getenv(CAMLRUNPARAM) -> null getenv(TMPDIR) -> null getenv(TEMP) -> null hello world hello world hello world hello world hello world main returned 0 And static_website worked too, so networking is fine too: $ curl -v 10.11.12.76 * Rebuilt URL to: 10.11.12.76/ * Hostname was NOT found in DNS cache * Trying 10.11.12.76... * Connected to 10.11.12.76 (10.11.12.76) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.37.0 > Host: 10.11.12.76 > Accept: */* > < HTTP/1.1 200 OK < content-length: 59 < <html> <body> <h1>Hello Mirage World!</h1> </body> </html> * Connection #0 to host 10.11.12.76 left intact Now resurrecting a Cubieboard2 to try it on ARM :-) -anil _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |