Jehanne OS github repository mirror. http://jehanne.io/

Giacomo Tesio 7c7b0d8682 hacking: various improvements 8 ani în urmă
arch fc42b02a28 Add arch/amd64 9 ani în urmă
doc 42eb23aea8 Add LICENCE.md and doc/license 9 ani în urmă
hacking @ 42fc110d67 7c7b0d8682 hacking: various improvements 8 ani în urmă
mnt bbf498c38e Added root folders mnt/ pkgs/ and tmp/ 9 ani în urmă
pkgs bbf498c38e Added root folders mnt/ pkgs/ and tmp/ 9 ani în urmă
sys 71e69e93c3 libc: import new version in sys/src/lib/c/ 8 ani în urmă
tmp bbf498c38e Added root folders mnt/ pkgs/ and tmp/ 9 ani în urmă
.gitignore 16c5baeb78 add .gitignore 9 ani în urmă
.gitmodules b5fcad4e29 Add devtools (as submodule) in hacking/ 9 ani în urmă
.travis.yml 8f6b365eb0 travis-ci: improved coverity integration 9 ani în urmă
LICENSE.md 42eb23aea8 Add LICENCE.md and doc/license 9 ani în urmă
README.md ee4eab6b32 README.md: add coverity badge 9 ani în urmă
build.json 71e69e93c3 libc: import new version in sys/src/lib/c/ 8 ani în urmă

README.md

Build Status Coverity Badge

Jehanne

Jehanne is a simple operating system.

It is a fork of Harvey (which in turn is a fork of Plan 9 from Bell Labs merged with Nix sources) but diverges from the design and conventions of its ancestors whenever they are at odds with its goals.

For this reason the project is named after the famous Franch heretic Joan of Arc.

Overview

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 and binaries
  • 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, /bin and /dev that are bound during the boot as required.

Build

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 you should be able to get going with

sudo aptitude install git golang build-essential bison qemu-system

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
./hacking/devshell.sh                            # start a shell with appropriate environment
./hacking/continuous-build.sh                    # to build everything
./hacking/runOver9P.sh                           # to start the system in QEMU
./hacking/drawterm.sh                            # to connect Jehanne with drawterm

Hacking

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.