forked from Harvey-OS/harvey
A 64 bit Operating System based on Plan 9 from Bell Labs and NIX, under GPL
License
Unknown and 2 other licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE.afpl
GPL-2.0
LICENSE.gpl
npe9/harvey
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is Plan 9 for amd64 built with gcc (and soon, I hope, clang). This file is a quick list of instructions to get you started quickly. Prerequisites ============= To build harvey and play with it, you need to have git, golang, qemu, gcc, binutils and bison installed. On a Debian, Ubuntu or other .deb system, you should be able to get going with sudo aptitude install git golang build-essential bison qemu-system GERRIT ====== We use gerrithub.io for code-review. If you want to submit changes, go to https://review.gerrithub.io/#/admin/projects/elbing/harvey and check out the repository from gerrithub rather than github. The clone command will probably look something like this: git clone ssh://USERNAME@review.gerrithub.io:29418/elbing/harvey you'll need to run a few commands inside the top-level directory to get set up for code-review: cd harvey curl -Lo .git/hooks/commit-msg http://review.gerrithub.io/tools/hooks/commit-msg chmod u+x .git/hooks/commit-msg git config remote.origin.push HEAD:refs/for/master One last thing, we need to initialize any submodules: git submodule init git submodule update If you are on a Mac, you should install macports (https://www.macports.org/) and do port install x86_64-elf-gcc port install x86_64-elf-binutils port install qemu export TOOLPREFIX=x86_64-elf- and you're now all set, you can build the whole thing just by running export HARVEY=$(pwd) export ARCH=amd64 ./BUILD all Once building is complete, you can try booting the kernel with qemu (cd sys/src/9/k10 && sh ../../../../util/QRUN) Next you should find a bug somewhere in harvey and fix it. In general, the util/build tool "just works" in any subdirectory, so you can also build just the stuff you are looking at, too, eg. cd sys/src/cmd/aux build aux.json Let's say you found a bug and the files you needed to change were sys/src/9/ip/tcp.c and sys/src/9/ip/ipaux.c. To submit this for review, you do git add sys/src/9/ip/tcp.c git add sys/src/9/ip/ipaux.c git diff --staged # to check that the patch still makes sense git commit -m 'your description of the patch' git push Note the lack of qualifiers in the last push command. It is important, because it needs to be pushed to "origin HEAD:refs/for/master" for review (and not to master). This will generate a code-review change request, others will review it, and if it looks good we will merge it to the mainline repo using gerrithub.io. If your patch needs further work (you notice something wrong with it yourself, or someone suggests changes), you can just edit the affected files and then amend the change list as follows git add sys/src/9/ip/tcp.c git commit --amend git push More information on using Gerrit can be found on the gerrithub.io website. Getting go9p to serve your files ================================ The currently recommended way of doing this is to run go9p/ufs as the file server for harvey. It is provided as a submodule in util/third_party and should be automatically compiled & copied to util/ when you run 'BUILD utils'. Once it's built, you can run this: (export HARVEY=$(pwd) && cd sys/src/9/k10 && sh ../../../../util/GO9PRUN) to boot with ufs serving the harvey directory for your harvey instance. Once harvey is up, you can telnet onto it with util/telnet localhost:5555 Where 5555 is forwarded to the harvey instance. This gives you a prompt without any security. Once you have the prompt, you can mount the harvey directory as your root like this (10.0.2.2 is what qemu has as the host) srv tcp!10.0.2.2!5640 k mount -a /srv/k / <a href="https://scan.coverity.com/projects/5328"> <img alt="Coverity Scan Build Status" src="https://scan.coverity.com/projects/5328/badge.svg"/> </a>
About
A 64 bit Operating System based on Plan 9 from Bell Labs and NIX, under GPL
Resources
License
Unknown and 2 other licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE.afpl
GPL-2.0
LICENSE.gpl
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 61.7%
- PostScript 22.6%
- HTML 8.7%
- Roff 2.2%
- Shell 1.9%
- Makefile 1.0%
- Other 1.9%