News for hackers. Stuff that matters.
Re:Plan 9 ported to the Raspberry Pi by aconz2 on Friday August 09, 2013 @11:19PM (#6189950)
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.
Re:Plan 9 ported to the Raspberry Pi by leif on Sunday August 11, 2013 @11:26AM (#6195162)
Especially for us mobile users.
Re:Plan 9 ported to the Raspberry Pi by RexRollman on Saturday August 10, 2013 @08:14AM (#6190814)
Agreed.
Re:Plan 9 ported to the Raspberry Pi by Mithrandir on Friday August 09, 2013 @11:29PM (#6189969)
Previous discussion on getting it running: https://news.ycombinator.com/item?id=4855023

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

Re:Plan 9 ported to the Raspberry Pi by Mithrandir on Saturday August 10, 2013 @10:11PM (#6193523)
The server is still really slow, so I made a mirror:

https://ubuntuone.com/5k7x6BwtO1g3i643pyxhnf

(sha256sum: 015e5a8b5b8a438a0c30558708b4d05e610f2ef152174555a9e791596b3dd980)

Re:Plan 9 ported to the Raspberry Pi by enqk on Saturday August 10, 2013 @04:42AM (#6190459)
Looking at the video, I think plan9 would have a potential consumer future if it had great typography and fonts.
Re:Plan 9 ported to the Raspberry Pi by enqk on Saturday August 10, 2013 @02:06PM (#6192027)
This comment was made in the most positive way possible. Not sure why it was treated as it was non constructive or negative .
Re:Plan 9 ported to the Raspberry Pi by jacquesm on Saturday August 10, 2013 @04:56AM (#6190482)
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.

Re:Plan 9 ported to the Raspberry Pi by mhd on Saturday August 10, 2013 @07:51AM (#6190753)
There's a slight problem with simply deeming Plan 9 "better" and Unix (for whatever value of Unix-ness) "good". Depending on your definition of worth, it's probably easy enough to find a system that is even better, i.e. more "pure" in that regard. Obvious examples, if your focus is underlying concepts, would be Oberon and Lisp Machines, where it's straight access to data structures and functions, without superfluous parsing of lines of text and command line arguments...

Compared to really other systems, Plan 9 is still Unix. Don't think the designers would disagree...

Re:Plan 9 ported to the Raspberry Pi by jacquesm on Saturday August 10, 2013 @08:08AM (#6190795)
Plan 9 is Unix in the way that Unix is still Multics. So is Plan 9 still Multics?

Really, the superficial similarities should not overshadow the fundamental differences. QnX is also Unix by that definition, but in fact is a completely different system under the hood.

Re:Plan 9 ported to the Raspberry Pi by mhd on Saturday August 10, 2013 @10:50PM (#6193634)
Compared to the others I've mentioned? Sure, and that would most likely mean that most systems are closer to Unix than e.g. SmallTalk. Probably even including Windows, unless one would have a very favorable view of COM.
Re:Plan 9 ported to the Raspberry Pi by RBerenguel on Saturday August 10, 2013 @05:30AM (#6190537)
I'm getting a new Macbook in a few days (after 5 years with my current machine I desperately need an upgrade) and I'll leave this one for a permanent virtual machine with Plan9 on it. In some sense it will be my "just write, no idle browsing" machine." There's something about Plan9 I find great.
Re:Plan 9 ported to the Raspberry Pi by Symmetry on Saturday August 10, 2013 @12:01PM (#6191518)
If the more optimistic predictions regarding the upcoming generation of non-volatile memory are true, then we may see store and main memory merging. I think that would be a window of opportunity for new OSes, though I don't doubt that Linux could be made to run under that model too, somehow.
Re:Plan 9 ported to the Raspberry Pi by dmunoz on Saturday August 10, 2013 @03:09PM (#6192265)
There have been some articles on LWN about this.

2012, Preparing for nonvolatile RAM [0]

2013, LFCS: Preparing Linux for nonvolatile memory devices [1]

[0] https://lwn.net/Articles/498283/

[1] https://lwn.net/Articles/547903/

Re:Plan 9 ported to the Raspberry Pi by knz42 on Saturday August 10, 2013 @08:17AM (#6190829)
Unix will stay as long as the machine model is Von Neumann with shared memory and interrupts. If any architecture is sufficiently remote from that model, especially something without shared memory, Unix won't stand a chance.
Re:Plan 9 ported to the Raspberry Pi by rbanffy on Saturday August 10, 2013 @08:59AM (#6190939)
Multiprocessors weren't commonplace until users of the Windows 9x kernel were dragged screaming and kicking to the XP kernel. 64-bit processors were not commonplace until AMD came out with a clever way to make them look like 32-bit ones that could run 32-bit Windows.

In the meantime, Unix users were using 64-bit multi-processor boxes since ages. Yet, there was no mainstream consumer 64-bit multi-processor architecture before there was no 64-bit multi-processor mainstream consumer OS.

The same applies here - most current improvement is directed towards making current x86 and ARM computer architectures faster because there is no popular corpus of software that could take advantage of different architectures. Sony, IBM and Toshiba tried with the Cell and failed. The Xeon Phi may prove to be an interesting stepping stone in that direction but it too uses a shared memory model.

I'd love to see some radical ideas tried, but, right now, I think I won't.

It's a bit tragic that the most popular OSs of today are the bastard descendants of the most popular mini-computer OSs of the 70's.

Re:Plan 9 ported to the Raspberry Pi by knz42 on Sunday August 11, 2013 @05:16AM (#6194434)
Although Unix was not designed for multi-processors originally, its main run-time abstraction (process networks) is easy enough to port to any platform with a common store. So there's not much to discuss about single-core vs multi-core, it's either one VN or multiple VN machines connected to a single abstract memory.

Remove the shared memory, then issues start to rise.

You say "radical ideas tried" but I believe that is not relevant. Radical ideas typically don't fly because they are radical. However you can already see things happening that are not radical but are breaking the Unix machine model very hard:

- "accelerators": these are really fully fledged co-processors with their own local memory. There is no easy way to conceptually delegate Unix threads to accelerators precisely because they don't share the memory. (Now with recent GPUs the architecture was modified to actually share the memory between the CPU and GPU so things become possible, but not all "accelerators" have that feature)

- on systems-on-chip you now have scratchpads next to cores on the architecture. Some cores may not have access to the "main" memory of another core (eg the radio controller in telephones) although they are fully-fledged cores as well. Because of this lack of shared memory, it is not conceptually possible to envision a Unix system where processes access these extra processors transparently.

tl;dr there are already hardware architecture with separated memories and Unix can't cope with that easily because its main abstraction requires shared memory.

Re:Plan 9 ported to the Raspberry Pi by illumen on Saturday August 10, 2013 @05:35AM (#6190540)
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.

Re:Plan 9 ported to the Raspberry Pi by jacquesm on Saturday August 10, 2013 @06:29AM (#6190617)
Linux is not better. Linux looks better, feels better and so on but under the hood it is just a rehash of the predecessor of plan 9.

I'm using linux every day on both my desktop and a whole army of servers and I have some experience with both plan 9 and other (micro kernel based) systems. Linux (and in fact all Unix flavours) have some systemic problems that those other os variants attempt to address. That the user experience is less polished does not detract from that.

Maths don't enter into it.

To re-phrase your analogy: Linux is a crocodile, it is ancient, dangerous and well adapted to its environment. So well adapted that it is a force to be reckoned with, even if you're an advanced creature from the future.

Re:Plan 9 ported to the Raspberry Pi by synchronise on Saturday August 10, 2013 @06:05AM (#6190574)
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.
Re:Plan 9 ported to the Raspberry Pi by chipaca on Saturday August 10, 2013 @06:22AM (#6190605)
Which is why MySQL. And now, MongoDB.
Re:Plan 9 ported to the Raspberry Pi by stormbrew on Saturday August 10, 2013 @03:45AM (#6190365)
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)

Re:Plan 9 ported to the Raspberry Pi by miga on Saturday August 10, 2013 @04:23AM (#6190436)
Not to forget per-process fs namespace, and text-only replacement of ugly ioctls.
Re:Plan 9 ported to the Raspberry Pi by justincormack on Saturday August 10, 2013 @06:11AM (#6190585)
Linux does have per process fs namespaces now... ioctls on the other hand...
Re:Plan 9 ported to the Raspberry Pi by 4ad on Saturday August 10, 2013 @07:42AM (#6190737)
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.
Re:Plan 9 ported to the Raspberry Pi by yrro on Saturday August 10, 2013 @08:58AM (#6190935)
I believe once you create a user namespace (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/) covers user namespaces.

Re:Plan 9 ported to the Raspberry Pi by justincormack on Saturday August 10, 2013 @08:58AM (#6190933)
I think user namespaces allow that without root. Haven't tried yet though...
Re:Plan 9 ported to the Raspberry Pi by hardwaresofton on Friday August 09, 2013 @11:46PM (#6189990)
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

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

Re:Plan 9 ported to the Raspberry Pi by ics on Friday August 09, 2013 @11:59PM (#6190007)
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

Re:Plan 9 ported to the Raspberry Pi by webreac on Saturday August 10, 2013 @08:25AM (#6190849)
At least Plan9 did something wrong. UTF8 is so superior to this silly 16bits encoding.
Re:Plan 9 ported to the Raspberry Pi by errnoh on Saturday August 10, 2013 @08:45AM (#6190900)
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

Re:Plan 9 ported to the Raspberry Pi by agumonkey on Saturday August 10, 2013 @05:50AM (#6190558)
Videos of that show on youtube are quite amusing and relaxing (goldberg machines).
Re:Plan 9 ported to the Raspberry Pi by wmat on Saturday August 10, 2013 @09:42AM (#6191048)
This has been out for awhile now. For a complete list of bootable OS images for the RaspberryPi see:

http://elinux.org/RPi_Distributions

Re:Plan 9 ported to the Raspberry Pi by RexRollman on Saturday August 10, 2013 @08:16AM (#6190826)
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.

Re:Plan 9 ported to the Raspberry Pi by cturner on Saturday August 10, 2013 @10:24AM (#6191168)
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...
Re:Plan 9 ported to the Raspberry Pi by jjindev on Saturday August 10, 2013 @12:44PM (#6191680)
I don't see a link to Rob Pike's other contribution, "Systems Software Research is Irrelevant"

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.)

Re:Plan 9 ported to the Raspberry Pi by beshrkayali on Friday August 09, 2013 @11:42PM (#6189979)
Now this could become handy: http://code.google.com/p/go-plan9/
Re:Plan 9 ported to the Raspberry Pi by mortdeus on Saturday August 10, 2013 @12:26AM (#6190056)
plan9 support is maintained with the main go repo.
Re:Plan 9 ported to the Raspberry Pi by beshrkayali on Saturday August 10, 2013 @12:42AM (#6190087)
I didn't know that. Cool!
Re:Plan 9 ported to the Raspberry Pi by oscargrouch on Saturday August 10, 2013 @01:16AM (#6190138)
if we think a little bit, go is also a way to have a plan9 runtime that works as a guest in every os :)
Re:Plan 9 ported to the Raspberry Pi by oscargrouch on Saturday August 10, 2013 @01:14AM (#6190135)
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

Re:Plan 9 ported to the Raspberry Pi by graue on Saturday August 10, 2013 @01:26AM (#6190163)
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
Re:Plan 9 ported to the Raspberry Pi by 4ad on Saturday August 10, 2013 @06:00AM (#6190568)
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/

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

Re:Plan 9 ported to the Raspberry Pi by oscargrouch on Saturday August 10, 2013 @01:00PM (#6191754)
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

Re:Plan 9 ported to the Raspberry Pi by 4ad on Sunday August 11, 2013 @04:10AM (#6194286)
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.

Re:Plan 9 ported to the Raspberry Pi by cypher543 on Saturday August 10, 2013 @03:19AM (#6190331)
You can't write a kernel completely in Go. But that's the case with every language except assembly (and, with a GCC-specific x86 extension, C). If you were to implement the core runtime in assembly, there'd be nothing to stop you from writing the higher-level functionality of a kernel in Go.
Re:Plan 9 ported to the Raspberry Pi by ballard on Saturday August 10, 2013 @07:03AM (#6190668)
This maybe true for most system languages on some platforms. My OS internals are rusty, but from hacking on minix, there was an issue for x86 bootstrapping into protected mode stuff to set important things like interrupt handlers and other addresses. Whether this is done in the language by macros, embedded asm or external asm, ultimately a binary is produced that is code and data segments for the architecture.
Re:Plan 9 ported to the Raspberry Pi by read_again on Saturday August 10, 2013 @03:08AM (#6190321)
> You can't write a kernel in Go because it has a mandatory runtime system and garbage collection.

Could you please provide a link or two on that, or give some explanation on why this is not possible?

Re:Plan 9 ported to the Raspberry Pi by foobarbazqux on Saturday August 10, 2013 @03:14AM (#6190327)
It's quite possible, here's an example:

https://en.wikipedia.org/wiki/Singularity_%28operating_syste...

They only used C and assembly for interrupt handling.

Re:Plan 9 ported to the Raspberry Pi by oscargrouch on Saturday August 10, 2013 @12:48PM (#6191699)
how about create a option in the compiler to ditch the standard runtime, or even to put another runtime in place..

suppose you create a kernel kit library/runtime.. instead the one in go.. who assume you are in userspace.. its possible..

i think if only they allowed to create a binary with no runtime in it... and with the binary encoding for the boot (dont remember what it is right now) it would just be feasible.. people could start hacking it

Re:Plan 9 ported to the Raspberry Pi by ballard on Saturday August 10, 2013 @07:09AM (#6190676)
As implied in other comments, rsc ported quite a bit of p9p to go.
Re:Plan 9 ported to the Raspberry Pi by rbanffy on Saturday August 10, 2013 @01:03PM (#6191770)
Can anyone please change the link to a press-release, blog post or news item? We killed their poor server.
Re:Plan 9 ported to the Raspberry Pi by kefka on Saturday August 10, 2013 @01:02PM (#6191764)
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 and other documents about Plan9.

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

Re:Plan 9 ported to the Raspberry Pi by jared314 on Saturday August 10, 2013 @03:26PM (#6192319)
> 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...

Re:Plan 9 ported to the Raspberry Pi by miga on Saturday August 10, 2013 @04:24AM (#6190443)
What performance may we expect? Is there Linux emulation lib? Or at least package database based on Debian sources?
Re:Plan 9 ported to the Raspberry Pi by jff on Saturday August 10, 2013 @11:41AM (#6191427)
> 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.

Re:Plan 9 ported to the Raspberry Pi by yuhong on Saturday August 10, 2013 @07:51AM (#6190755)
I think there is APE for compiling and porting UNIX programs.
Re:Plan 9 ported to the Raspberry Pi by miga on Saturday August 10, 2013 @04:24AM (#6190441)
What performance may we expect?
Re:Plan 9 ported to the Raspberry Pi by mseepgood on Saturday August 10, 2013 @05:12AM (#6190507)
Watch the video to get an impression. He compiles the kernel in ~1 minute.
Re:Plan 9 ported to the Raspberry Pi by consonants on Saturday August 10, 2013 @01:00PM (#6191753)
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?

Re:Plan 9 ported to the Raspberry Pi by gbin on Friday August 09, 2013 @11:35PM (#6189972)
lol, PAAAH the image !
Re:Plan 9 ported to the Raspberry Pi by darkarmani on Friday August 09, 2013 @11:25PM (#6189961)
That just looks like a tarfile. Anyone could host a tarfile and call it plan9.
Re:Plan 9 ported to the Raspberry Pi by RichardMiller on Saturday August 10, 2013 @09:00AM (#6190944)
Actually it's a compressed image of a bootable SD card containing a full Plan 9 distribution, including all source code for ARM, x86, powerpc and MIPS.
Re:Plan 9 ported to the Raspberry Pi by synchronise on Friday August 09, 2013 @11:44PM (#6189984)
It's hosted at Bell Labs
Re:Plan 9 ported to the Raspberry Pi by darkarmani on Monday August 12, 2013 @02:37PM (#6200845)
I stand corrected. Anyone at Bell labs, could host a tarfile and call it plan9.