You can find more about the Pip protokernel at its website.
The source code is covered by CeCILL-A licence.
The Pip Development Team:
You can generate the "Getting Started" tutorial by invoking make
gettingstarted. The full documentation is generated by invoking make doc.
Pip is known to build correctly with this toolchain:
You can pass several arguments to make to compile the Pip.
all: Build targetproofs: Proofs targetqemu-elf | qemu-iso: QEMU targetsdoc | doc-c | doc-coq | gettingstarted: Documentation targetstoolchain.mk: Configure script targetclean | realclean: Clean targetsEach partition is located into src/arch/{architecture}/partitions/{partition}
src/partitions/{architecture}/toolchain.mk.template to
src/partitions/{architecture}/toolchain.mk, then edit the latter to your
needs.minimal partition as a base to develop more elaborated
software.make in the partition's
directory.The kernel is divided into three parts.
_CoqProject is a mandatory configuration file for Coq.src/ contains the source base directory.src/core contains the Pip source folder.src/extraction contains the code to extract Coq services.src/interface contains the interface between Coq and C.src/model contains the Coq code.src/arch/x86_multiboot/MAL contains the Memory Abstraction Layer source.src/arch/x86_multiboot/boot contains the "cbits", i.e the required C and
assembly code required to boot the coq kernel.src/arch/x86_multiboot/partitions contains the top-level partitions.tools/ contains some scripts and tools that may be useful.proof/ contains the Coq proof.Pip can already boot on real hardware. If available, the first serial output (COM1) should be used for debugging output.
The required configuration is 38400 bauds, 8 bits, no parity, one stop bit. You can also enable automatic line feed and carriage return in Minicom (2.7+) for user-friendly output.
The compilation on Linux should be as easy as to install the i386-elf toolchain as well as the other requirements, and use the Makefile to generate a binary image.
Use your favourite package manager to install Coq, Doxygen, GCC, GDB, GNU Make, GRUB, haskell-stack, NASM, QEMU and Texlive.