
Plan 9 ported to the Raspberry Pi - synchronise
http://plan9.bell-labs.com/sources/contrib/miller/9pi.img.gz
======
aconz2
I don't think it's a good choice to link directly to a file like that. Perhaps
an article on the release would have been better.

~~~
leif
Especially for us mobile users.

------
Mithrandir
Previous discussion on getting it running:
[https://news.ycombinator.com/item?id=4855023](https://news.ycombinator.com/item?id=4855023)

And here's a video of it being demonstrated:
[https://www.youtube.com/watch?v=O7ZELOUIyvw](https://www.youtube.com/watch?v=O7ZELOUIyvw)

~~~
enqk
Looking at the video, I think plan9 would have a potential consumer future if
it had great typography and fonts.

~~~
enqk
This comment was made in the most positive way possible. Not sure why it was
treated as it was non constructive or negative .

------
jacquesm
Every time I read about Plan 9 I get a little sad. Unix is so good at what it
does that the better enemy of the good doesn't stand a chance.

There are lots of better alternatives to Unix out there. But with the
incumbents strengths being what they are I think we'll be stuck with Unix for
a long time to come.

Possibly the only thing that will change this is if it is ever deemed that the
Unix model is inherently broken from a security point of view and one of these
other alternatives provides a fix. Performance and conceptual models are not
enough to ditch decades of investment in technology that is good enough.

~~~
illumen
Linux is better. In comparison, Plan 9 is like primordial soup, whereas Linux
is an advanced alien life from from the future.

There are so many parts of Linux that are far better than Plan 9, and polished
for production work loads. Real life solutions are sometimes messy, and take
many evolutions to get right.

Sure, elegant and simple maths is good. But if the maths is just wrong, and
doesn't work, then the more complicated maths that actually works is better.

~~~
synchronise
I would lean towards the opposite. Plan 9 is a creature that was designed well
from day one, but initially limited by restrictive licensing. Linux is
probably one of the largest hack and slash jobs in programming history, but it
was available under very free and liberal terms from the beginning and
development was open to everyone, hence it garnered more community support and
as a result was more successful.

~~~
chipaca
Which is why MySQL. And now, MongoDB.

------
stormbrew
Every time something to do with Plan 9 comes up I lament the fact that the
most elegant elements of its design have failed to be realized in practical
terms in other operating systems. When they are realized, they usually lose
the elegance.

Mostly I think about union mounts (which are very different in plan9 than the
version that's been integrated into Linux) and the privilege escalation system
(which has always seemed, to me, to be so much better than the sieve that is
setuid).

(Note: I'm aware there have been attempts to bring purer versions of these
things to linux, but they never gain any traction)

~~~
miga
Not to forget per-process fs namespace, and text-only replacement of ugly
ioctls.

~~~
justincormack
Linux does have per process fs namespaces now... ioctls on the other hand...

~~~
4ad
In Linux CLONE_NEWNS requires CAP_SYS_ADMIN which makes it almost completely
useless; it can't be used to the extent and in the way it is used in Plan 9.

~~~
yrro
I believe once you create a user namespace
([https://lwn.net/Articles/528078/](https://lwn.net/Articles/528078/)) you can
then create the other kinds of namespaces (mount, process, etc.) without
requiring privileges outside of your user namespace.

LWN ran a great series on namespaces recently: part 5
([https://lwn.net/Articles/532593/](https://lwn.net/Articles/532593/)) covers
user namespaces.

------
hardwaresofton
For those who might have been curious, one of the folders present when he
opened acme was named ピテャゴラスイッチ, it's a japanese children's show:

[https://en.wikipedia.org/wiki/PythagoraSwitch](https://en.wikipedia.org/wiki/PythagoraSwitch)

I'm not sure why it was there... But just in case you wondered.

~~~
ics
My eye went straight to it as well but more because I had passively
(embarrassingly) assumed that Plan9 didn't have non-western fonts by default.
'twas a silly thought.

[http://doc.cat-v.org/plan_9/4th_edition/papers/utf](http://doc.cat-v.org/plan_9/4th_edition/papers/utf)

~~~
webreac
At least Plan9 did something wrong. UTF8 is so superior to this silly 16bits
encoding.

~~~
errnoh
Yes, and that's why they (Rob Pike & ken) created UTF-8 and converted Plan9 to
use it.

see
[http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt](http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt)

------
wmat
This has been out for awhile now. For a complete list of bootable OS images
for the RaspberryPi see:

[http://elinux.org/RPi_Distributions](http://elinux.org/RPi_Distributions)

------
RexRollman
I really need to run Plan 9 again. I haven't done so since the late 90's. (I
also thought that Oberon was pretty interesting too.)

EDIT: With so many former Bell employees there, my personal fantasy is that
Google would takes over Plan 9 and starts releasing images of it for
Chromebooks. I know its not going to happen but I think that would be sweet.

------
cturner
I installed it a few months back, and prepared the SD card in linux.
Instructions: [http://trogrd.tumblr.com/post/38874675677/plan-9-on-
rasberry...](http://trogrd.tumblr.com/post/38874675677/plan-9-on-rasberry-pi)

------
jjindev
I don't see a link to Rob Pike's other contribution, "Systems Software
Research is Irrelevant"

[http://herpolhode.com/rob/utah2000.pdf](http://herpolhode.com/rob/utah2000.pdf)

It's really a very good piece, which I'd summarize as a catch-22. To be
important you must be different. To be successful you must be the same. Linux
solves that by being the same. (And indeed Apple, acquiring NeXT did as well.)

------
beshrkayali
Now this could become handy: [http://code.google.com/p/go-
plan9/](http://code.google.com/p/go-plan9/)

~~~
oscargrouch
i would love to see just the opposite.. plan9-go a plan9 kernel and tools all
coded in go.

but go is a first class citizen when you think of something like raspberry..

you can think golang wherever you can think of python

~~~
graue
You can't write a kernel in Go because it has a mandatory runtime system and
garbage collection. However, Mozilla's Rust language is similar in some ways,
can work runtime-less, and a small demo kernel has been written in it:
[https://github.com/charliesome/rustboot](https://github.com/charliesome/rustboot)

~~~
4ad
Of course that you can; kernels are not magic. Many kernels have been written
in languages with far more heavyweight runtime systems than Go. A few examples
have been provided in the comments. Here is a toy example in Go:
[http://gofy.cat-v.org/](http://gofy.cat-v.org/)

You need some bits of assembly, but that's true for C, C++, Rust and whatever
else as well.

~~~
oscargrouch
he´s not saying that its not possible to use go for that.. its just that the
compiler puts the go runtime wich is specific for the userland and that in the
end of the line will create a bunch of kernel syscalls for whatever systems
you are..

to make this happen, it should be possible to, at least change the runtime ,
or not use a runtime at all.. so the little boot part in assembly could call a
go function in kernel mode

~~~
4ad
Of course you'll need a specific runtime just like for C you can't use the
user space libc. There's no difference between C and Go here.

You can create your own runtime as you see fit. In fact, the Go distribution
used to ship with such a bare metal runtime. Search the repository history for
the tiny runtime. Reviving it again should be easier then porting Go to a new
architecture, which is quite easy. Making a stub runtime (equivalent to
booting a C kernel with no libc) is not more than half an hour of work.

Go can call assembly and C, and assembly and C can call Go. This is used a lot
in the runtime, nothing special about it.

------
rbanffy
Can anyone please change the link to a press-release, blog post or news item?
We killed their poor server.

------
kefka
So.. Plan9 looks cool. Everything is distributed, kind of cool. I get that.
I've also read this
[https://news.ycombinator.com/item?id=658247](https://news.ycombinator.com/item?id=658247)
and other documents about Plan9.

So, what is its killer feature that makes ME want to try it out?

~~~
jared314
> So, what is its killer feature that makes ME want to try it out?

Transparent distributed multi-user environments and clean unification of files
and objects are some of the main goals [0], but, at its core, it is a research
OS, and has never evolved to fill a specific niche. Many people, including
Alan Kay (I mention it because I recently re-watched a few of his
presentations), have spoken out about the need for more open-sky/exploratory
research. It might gain popularity if it specialized into a good distributed
control-plane, performance-constrained systems, or as a container OS, but it
is not any of those things. Try it out for the fun and experience of trying it
out.

[0]
[http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Design_co...](http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Design_concepts)

------
miga
What performance may we expect? Is there Linux emulation lib? Or at least
package database based on Debian sources?

~~~
jff
> _What performance may we expect?_

It'll feel very snappy until you try to actually do a lot of computation,
especially I/O. This is the curse of Plan 9.

> _Is there Linux emulation lib?_

Not for ARM.

> _Or at least package database based on Debian sources?_

This doesn't even make sense.

------
miga
What performance may we expect?

~~~
mseepgood
Watch the video to get an impression. He compiles the kernel in ~1 minute.

------
consonants
Is anyone else unable to resolve bell-labs.com? I've tried with my local
connection, then SSH'd into my home machine, and tried via 3G on my phone and
no luck.

Any links to a mirror or what not?

------
gbin
lol, PAAAH the image !

------
darkarmani
That just looks like a tarfile. Anyone could host a tarfile and call it plan9.

~~~
synchronise
It's hosted at Bell Labs

~~~
darkarmani
I stand corrected. Anyone at Bell labs, could host a tarfile and call it
plan9.

