Giter VIP home page Giter VIP logo

uosv's Introduction

µOSv Build Status

µOSv is merged into OSv. Please check upstream.
This repository is not maintained anymore.


µOSv is lightweight edition of OSv, which uses mruby interpreter instead of Java VM for its system language.
Here's a movie how µOSv looks like: http://www.youtube.com/watch?v=hSK_VZkwmxI

What's this?

It's cloud OS which specialized for running mruby script, works on both KVM and Xen, and some IaaS/VPS services.
Able to run very few memory amount(>90MB for now), very small disk image size(26MB for now), very fast boot-up speed(less than 2sec).
Original OSv is great OS to run Java application, but it's too huge in some usecases. µOSv offers much smaller / simpler enviroment for developers who loves scripting language.

Tested HostOS

KVM on Ubuntu 13.10/x86_64

Try Binary Image

Copy and paste following commands on your shell.

wget https://dl.dropboxusercontent.com/u/648670/uosv_20131219.img
sudo qemu-system-x86_64 -m 128m -drive file=uosv_20131219.img,if=virtio,cache=none \
-netdev user,id=un0,net=192.168.122.0/24,host=192.168.122.1 \
-device virtio-net-pci,netdev=un0 -enable-kvm -cpu host,+x2apic \
-chardev stdio,mux=on,id=stdio -mon chardev=stdio,mode=readline,default \
-device isa-serial,chardev=stdio -nographic

Building

There are prerequisite packages before start building.

Ubuntu

sudo apt-get install openjdk-7-jdk autotools-dev libltdl-dev libtool autoconf autopoint libboost-all-dev \
genromfs zfs-fuse autoconf ant libffi-dev ruby bison gyp git build-essential qemu-utils qemu-system-x86 \
bridge-utils libvirt0 libvirt-bin

wget https://launchpad.net/ubuntu/+archive/primary/+files/libuv-dev_0.10.18-1_amd64.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/libuv0.10-dbg_0.10.18-1_amd64.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/libuv0.10_0.10.18-1_amd64.deb
sudo dpkg -i libuv*.deb

To start building, execute following command:

git clone https://github.com/syuu1228/uosv.git
cd uosv
./build.sh

If you want to enable GPL mrbgems, use

./build_gpl.sh

Running µOSv

To run µOSv, execute following command:

./run.sh

You also can specify VM memory size like this:

./run.sh 90m

Updating µOSv filesystem

Add files under userdata/, then execute following command:

./update.sh

License

OSv related products are almost under BSDL.
mruby related products are almost under MIT.
mruby-vedis is under Sleepycat License.

Product Dependencies License
OSv FreeBSD, ZFS, Prex, Musl BSDL
FreeBSD BSDL
ZFS CDDL
Prex MIT
Musl MIT, BSDL
mruby MIT
mruby-dir MIT
mruby-env MIT
mruby-errno MIT
mruby-ipaddr MIT
mruby-mock MIT
mruby-mtest MIT
mruby-pack MIT
mruby-process MIT
mruby-regexp-pcre MIT
mruby-require MIT
mruby-simple-random MIT
mruby-socket MIT
mruby-tempfile MIT
mruby-msgpack MIT
mruby-uv libuv MIT
libuv MIT
mruby-http mruby-uv MIT
mruby-json MIT
mruby-msgpack-rpc mruby-socket,mruby-msgpack MIT
mruby-yaml libyaml MIT
libyaml MIT
mruby-base64 MIT
mruby-md5 MIT
mruby-vedis Sleepycat License
mruby-sleep MIT
mruby-simplehttp MIT
mruby-httprequest MIT
mruby-aws-s3 mruby-uv, mruby-http, mruby-digest, mruby-pack, mruby-simplehttp, mruby-httprequest MIT
mruby-cfunc libffi MIT
libffi mruby-cfunc MIT
μOSv build scripts MIT
mruby-eshell mruby-io,mruby-dir,mruby-ipaddr MIT

These modules are lisenced under copyleft license, disabled by default.

Product Dependencies License
mruby-polarssl PolarSSL LGPLv3
PolarSSL GPL/Commercial(Dual)
mruby-sha1 GPL

Limitations

  • libuv is ported, but very unstable for now.
  • µOSv disables OSv's ZFS, so you only have ramfs for now.
    You can write files on ramfs, but you'll lost all you written data beyond shutdown/reboot.

uosv's People

Contributors

syuu1228 avatar matsumotory avatar

Stargazers

tomo avatar Yuki MIZUNO avatar Chris Olstrom avatar Zvi avatar Seiya Nuta avatar Julien Ammous avatar  avatar Filipe Manco avatar João Martins avatar Hiroshi Hatake avatar  avatar Ting Shu Lin avatar  avatar  avatar Walter Skyrim avatar Mason Chang avatar cocoatomo avatar moznion avatar Ryoutarou Setou avatar Hiroe Jun avatar hashrock avatar Kobayasi, Hiroaki avatar Kouhei Maeda avatar  avatar Shigeya Suzuki avatar enkunkun avatar

Watchers

Takeshi Watanabe avatar  avatar James Cloos avatar  avatar

Forkers

matsumotory ysei

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.