Git Product home page Git Product logo

wonderland's Introduction

Cheshire cat Wonderland

“But I don’t want to go among mad people," Alice remarked.
"Oh, you can’t help that," said the Cat: "we’re all mad here. I’m mad. You’re mad."
"How do you know I’m mad?" said Alice.
"You must be," said the Cat "or you wouldn't have come here.”

Welcome to the Wonderland in the middle of Inferno!
We are the DHT-based distributed virtual filesystem based on Vita Nuova's Inferno Operating System.

Installation

The following steps represent installation process on Linux, if you want to run it on Mac, replace Linux with MacOSX

# Set up environment variables
export INFERNO_ROOT=$(pwd)
export PATH=$INFERNO_ROOT/Linux/386/bin:$PATH
export EMU=-r$INFERNO_ROOT
# Save them for future use
echo "export INFERNO_ROOT=$INFERNO_ROOT"                   >> ~/.bashrc
echo "export PATH=\$INFERNO_ROOT/Linux/386/bin:\$PATH"     >> ~/.bashrc
echo "export EMU=-r\$INFERNO_ROOT"                         >> ~/.bashrc

# Configure mkconfig
perl -i -pe 's/^ROOT=.*/ROOT=$ENV{INFERNO_ROOT}/m'  mkconfig
perl -i -pe 's/^SYSHOST=.*/SYSHOST=Linux/m'         mkconfig
perl -i -pe 's/^OBJTYPE=.*/OBJTYPE=386/m'           mkconfig

sh makemk.sh
mk nuke
mk install
mk CONF=emu-g install

Basic Usage

Start Inferno:

emu-g

We strongly suggest installing rlwrap and run it this way:
rlwrap -asalt emu-g

Or, if you want GUI, run:
emu

Create a brand new Wonder layer - start a bootstrap node (Hatter)

Here and below, 127.0.0.1 and 1200[?] are the sample address and ports accordingly
The only requirement is that bootstrap nodes should be directly accessible by others

echo > /lib/dht/neis                                              # clear the neighbours list
mount {cheshire udp!127.0.0.1!12001 /lib/dht/neis} /wonderland    # mount it on /wonderland
cat /wonderland/cheshire/dht/node    # gives you the id of the node - needed later for bootstrap
Start a new node and attach it to Wonder (Alice)

Start a new terminal / Inferno, then:

# id (AABBCCDD), address and port are the connection credentials of any open node in Wonder
echo AABBCCDD udp!127.0.0.1!12001 >> /lib/dht/neis 
mount {cheshire udp!127.0.0.1!12002 /lib/dht/neis} /wonderland
So, by now we have at least two nodes in Wonder. Let's have some fun:
It's tea-time! Hatter opens a party:
mkdir /tmp/tea
echo export /tmp/tea /devices/teaparty > /wonderland/cheshire/addserver 
cd /tmp/tea
echo "Hot tea" > teapot
Alice calls Cheshire and asks him to guide her to Hatter:
cd /wonderland/devices/teaparty
cat teapot # Hooray! We're in!

Disclaimer

All the code in this repository under initial commit is owned by google code's Inferno mercurial repository.

License

See file NOTICE for complete license

wonderland's People

Contributors

kabbi avatar snaliuka avatar spolakh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

plan9-archive

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.