Jehanne OS github repository mirror.

Giacomo Tesio b7fef588a8 Merge pull request #18 from ejh-github/master 5 months ago
arch 922e993c41 libs, kernel and commands: re-enable -Werror 1 year ago
cfg 001069aa7b libposix: deep refactor; add sys/posixly command 4 years ago
doc 431c7ae365 Clean trailing spaces 2 years ago
hacking @ 6b473cd28f 6dec974cc3 devtools: upgrade GCC to 9.2.0; cross compile it to run on Jehanne 1 year ago
lib 9202b04504 rc: use some uppercase variables (PATH, USER...) 4 years ago
mnt bbf498c38e Added root folders mnt/ pkgs/ and tmp/ 6 years ago
pkgs bbf498c38e Added root folders mnt/ pkgs/ and tmp/ 6 years ago
qa 16c7924425 libs: get rid of libstdio (and stdio.h); `mv ctype.h chartypes.h` in /sys/include 1 year ago
sys 804b13a4dc lib9.h: removed duplicate defines 7 months ago
tmp bbf498c38e Added root folders mnt/ pkgs/ and tmp/ 6 years ago
usr 20060a1b2a rc: fix variables in /usr/glenda/lib/profile 3 years ago
.gitignore 0d7c28ae92 .gitignore: add mksh's related patterns 4 years ago
.gitmodules b5fcad4e29 Add devtools (as submodule) in hacking/ 6 years ago
.travis.yml 414c882682 travis-ci: try to fix ppa 3 3 years ago c7d0f621c9 Clarify Forsyth's and 9front's copyrights 3 years ago 5261c8554c Update 1 year ago 3f0e3aa296 add libtool-bin to Debian install requirements 5 months ago
build.json c2982db8a2 newlib: run first QA checks 4 years ago

Build Status Coverity Badge


Jehanne is a simple operating system.

Jehanne has noble ancestors:

  • most of userland tools, a lot of wisdom and some kernel modules, come from 9front
  • the kernel is a fork of Charles Forsyth's Plan9-9k
  • most of the build system and some valuable piece of code come from Harvey OS

Still the project is named after a humble peasant, the famous French heretic Joan of Arc, because it diverges deeply from the design and conventions of its predecessors.


This is the main repository, used to build the system as a whole:

  • arch contains one folder for each supported architecture, with specific C headers, libraries and executables (note that by architecture we intend any kind of physical or virtual machine that is able to run code, thus rc is actually an architecture)
  • sys is the system folder
    • include contains portable C headers
    • lib contains data and scripts used by the running system
    • man contains manual pages
    • src contains the sources of the system
  • doc contains useful documentation for Jehanne development
    • license contains detailed info about Jehanne licenses
    • hacking contains details about how to build and modify Jehanne
  • hacking contains the utilities used to develop Jehanne
  • qa contains the regression tests
  • mnt contains default mount targets
  • usr contains the users' folders
  • pkgs will contains the installed packages

The running system also includes supplemental folders like /lib, /cmd and /dev that are bound during the boot as required.


To build Jehanne and play with it, you need to have git, golang, qemu, gcc, binutils and bison installed. For example on Debian GNU/Linux 10 you should be able to get going with

sudo apt-get install git golang build-essential flex bison qemu-system autoconf autoconf-archive curl automake-1.15 libtool-bin

After the repository clone, you can give a look with

git submodule init                               # we have a lot of submodules
git submodule update --init --recursive --remote --depth 1
./hacking/                            # start a shell with appropriate environment
./hacking/                    # to build everything (will take a while)
./hacking/                           # to start the system in QEMU
./hacking/                            # to connect Jehanne with drawterm


Jehanne is a work in progress. Forks and pull requests are welcome.

In doc/hacking you will find all you need to know about its principles, design and weirdness.

There's a lot of work to do, in every area of the system.

To coordinate our efforts, we use the github issues. To discuss (and even debate) about the design and development of Jehanne we use the JehanneOS mailing list: please join and present yourself and your attitudes.