NodeOS on Raspberry PiSan Francisco

  • 7 Commits
  • 7 Pushes
  • 0 Deploys
Launch Site

NodeOS on Raspberry Pi

By process.nextTick

Screencast
Quick Intro

We installed NodeOS on the Raspberry Pi

Description

NodeOS is a Linux distribution that uses npm as the package manager.

There is no bash, there is no sh, awk or grep. There is only node on NodeOS, and we've brought that to the Raspberry Pi. NodeOS uses node to setup the network, and mount partitions. If you look in /bin you won't find anything, it's all Node.

NodeOS makes npm modules first-class citizens of the system. It's easy to contribute to NodeOS; you only need to publish your module to npm. Any package that exposes a bin key can expose a new executable to the system. Check out dgrepl created for NKO.

NodeOS also supports packages with start scripts. Any package with a start script can be launched by init as a daemon process. Check out Doge Script Server for an example.

By porting NodeOS to the Pi, you can have a complete node setup for $35 that makes node and npm packages easy to install, run, modify, and share.

Judging Instructions

Download the Rasbperry Pi NodeOS Image (8GB) and install it to your Raspberry Pi.

What they Used

Node and Raspian's boot loader

Who

Votes

Your Vote

Voting is now closed.

Other Votes

  • (1)
  • judge

    interesting to see where this goes as the ecosystem is fleshed out

  • judge
  • judge

    Brandcast

  • judge

    sequoia

    Cool idea, and I don't think anyone can actually see it working in action without Raspberry Pi.

    That said, I don't know what the purpose of this could actually be. Maybe hinting at its application of NodeOS would be helpful?

  • The idea of having a Linux distro with node.js ready to go for low-power devices is quite interesting. However, I think you need to do a better job of articulating the advantage of removing all of the userland stuff we're used to having on Linux.

    High-level environments like node and Ruby make a lot of assumptions about having access to the standard environment around them, and my fear is that this may be throwing the baby out with the bathwater in the pursuit of some cool ideas.

  • judge

    Bugsnag

    This is an awesome idea! I'm not able to judge very well without a Raspberry Pi, but I'm going to assume it's as fun as the description says :).

    Sounds awesome, nice work!

    • Totally understood! I appreciate your interest regardless, and I hope to keep building on what we made here.

  • contestant

    Great concept. Awesome work.

  • judge

    Filter Squad

    Very cool take on the competition idea. I love the idea of using the raspberry pi as a hardware testbed for NodeOS. Definitely looks like a lot of fun and something fun to hack with - not 100% sure how I'd use it in the real world other than to learn more about OS userland design / structuring.

    • It's definitely a great way to learn the userland and syscall boundaries. I have no idea what the project will mature into, but it's been a lot of fun so far.

  • judge

    Pushd, Inc.

    Awesome

  • contestant
  • contestant

    IOKI

    Good for you! :D

  • contestant

    This is so awesome!!! I've always wanted something like this, kudos guys!!!

  • contestant

    Can't wait to try it out, but link to the image doesn't work.

    • Do you mean it won't download, or it won't boot? The image certainly downloads for me, try opening it in a new tab. The image itself must be copied to an SD card via dd or other block copying tool.

      If you don't mind waiting, I'm cleaning up the image and will have a ~200MB compressed image for download soon.

    • alexindigo
      contestant

      Link points to port 8080, not sure if it meant to be. But port 80 doesn't work either. Browser tells me that there is no server to respond to the request.

    • It's on port 8080, but it's definitely being weird. Nothing happens if I click the link from Chrome, but curl -O process-nexttick.2013.nodeknockout.com:8080/NodeOS.img seems to work.

      Option-clicking the download link also seems to work.

    • alexindigo
      contestant

      Ok, curl works, but I just realized I don't 8GB on my laptop :) TIme for Black Friday cleaning :) Btw, why is it 8GB?

    • It's 8GB because it's a direct image of the SD card, which is 8GB. It includes the boot partitions and the main ext4 partition.

      I've published a cleaned up version that compressed is only 110MB

      https://github.com/NodeOS/RaspberryPi/releases/tag/node-knockout-demo

      It's functionally identical to the KNO version, but with some crud removed.

  • contestant

    Very neat! Unfortunately I don't have a pi to test it myself.

  • contestant

    Ravenwall

    With no RPI I have no basis for judging the completeness, but I'm certainly excited about this project. I love the idea behind NodeOS and I'm excited to see progress.

    How involved would it be to create a BeagleBone Black port?

    • Anything that boots linux can run NodeOS. The hard part is compiling the Node binary, which can take up to and including forever on inexpensive hardware. I literally just got QEMU booting my Raspberry Pi images, and will see about getting a tutorial together for that.

      In short, it's definitely possible, but it may be involved.

  • judge

    Nodejitsu

    NodeOS looks cool. Looking forward to seeing it push forward progress.

  • judge

    Whoa, NodeOS looks rad!

  • contestant

    wow

    wow such dogescript# so innovate very impress

IMPORTANT DATES

REGISTRATION
SEP 17
COMPETITION
NOV 9-11 UTC
JUDGING
NOV 11-17
WINNERS
NOV 18

Thank you to our Platinum Sponsors