Re: [9fans] Inferno on Plan9

2017-12-29 Thread Brian L. Stuart
On Fri, 12/29/17, Bakul Shah  wrote:
> On Fri, 29 Dec 2017 19:11:22 + "Brian L. Stuart"  
> wrote:
>>  I'm at the same point I usually am when getting ready to teach my winter 
>> term OS
>> course. 
> 
> Why teach about Inferno? Just curious.

It works out to be the sweet spot where a lot of considerations come
together.  First, I like to teach OS from an internals point of view.  I
feel that one should understand how one's tools work before using
them.  Second, like a lot of people of my generation, the way I really
learned about operating systems was from Lions commentary on
6th Edition.  For years, I had been thinking about writing an OS text,
but had been teaching from Tanenbaum using MINIX.  It was getting
somewhat problematic in the days when no one was running VMs
for everything and students were getting to where they didn't know
how to partition drives and run other OSs.  Then when Vita Nuova
released the Inferno source, it was like all the pieces fell into place.
It's well-written and carries a lot of the same ideas as Plan 9.  Students
don't have to allocate any extra hardware or even configure a VM.
It's small and simple enough that we can cover all the major elements
of it as well as the general principles in one term.  But they're able
to get some exposure to the internals of a real system and not just
something created for illustrative purposes.

With the ubiquity of VMs these days, a good argument could be
made for using Plan 9 in a VM for the course.  Maybe someday
I'll look at adding Plan 9 chapters to the book, but at least for now,
I'm finding Inferno works quite well.

BLS



Re: [9fans] Inferno on Plan9

2017-12-29 Thread Bakul Shah
On Fri, 29 Dec 2017 19:11:22 + "Brian L. Stuart"  
wrote:
Brian L. Stuart writes:
> On Fri, 12/29/17, G B  wrote:
> > I used Inferno from bitbucket.org but wasn't able to build
> > on FreeBSD 11.x/amd64 so I just reverted back to FreeBSD
> > 9.3/i386.=C2=A0 But I may try to build using 11.1/i386 with
> > gcc.=C2=A0 I'll have to use KVM on OpenIndiana to try it
> > though since I don't have a spare physical machine at
> > the moment.
> 
> Don't go to any trouble on my account.  I'm at the same point
> I usually am when getting ready to teach my winter term OS
> course. 

Why teach about Inferno? Just curious.



Re: [9fans] Inferno on Plan9

2017-12-29 Thread Brian L. Stuart
On Fri, 12/29/17, G B  wrote:
> I used Inferno from bitbucket.org but wasn't able to build
> on FreeBSD 11.x/amd64 so I just reverted back to FreeBSD
> 9.3/i386.  But I may try to build using 11.1/i386 with
> gcc.  I'll have to use KVM on OpenIndiana to try it
> though since I don't have a spare physical machine at
> the moment.

Don't go to any trouble on my account.  I'm at the same point
I usually am when getting ready to teach my winter term OS
course.  I've got it built, but without the X11 support on my
FreeBSD machine.  It does build and run on our Linux cluster
with the X11 support though, so I can at least demonstrate
it to the students there.

And for the record, the fix to the missing FPxxx constants
was to copy over the defines from the MacOSX version of
the lib9.h file.

I had given some thought to adding amd64 support in at
least the hosted versions, but as usual the round tuits have
been in short supply.

BLS



Re: [9fans] Inferno on Plan9

2017-12-29 Thread G B
I used Inferno from bitbucket.org but wasn't able to build on FreeBSD 
11.x/amd64 so I just reverted back to FreeBSD 9.3/i386.  But I may try to build 
using 11.1/i386 with gcc.  I'll have to use KVM on OpenIndiana to try it though 
since I don't have a spare physical machine at the moment.
 

On Thursday, December 28, 2017 2:29 PM, Brian L. Stuart 
 wrote:
 

 Alexander Kapshuk wrote:
> On Thu, Dec 28, 2017 at 9:54 PM, Brian L. Stuart  
> wrote:
>> Which version of FreeBSD did you use, and did you use the
>> Inferno on bitbucket?  I'm finding it a long way from building
>> out of the box there these days.
> 
> While not a FreeBSD user, the bitbucket repository is:
> grep bitbucket ~/inferno-os/.hg/hgrc
> default = https://bitbucket.org/inferno-os/inferno-os
> 
> Care to elaborate a bit more on what sort of trouble you're having
> building Inferno on your system?
 
I'm using FreeBSD 11.1.  Things have changed a little since
they switched from gcc to clang.  I'm also running on an am64
install.

First, I had to rebuild mk.  The supplied binary expected the
libc shared library to be named libc.6.so, but the one present
on the system is just libc.so.  In doing that, I found there was
no setfcr-FreeBSD-386 source file.  Copying the Linux one
made it possible to build lib9.  Now I'm fighting with the floating
point stuff.  None of the FP constants are found.  I seem
to remember running into the same thing last year and did
eventually sort it out.  The other problem then was that a
couple of the X libraries weren't part of the 32-bit support
and I could only build emu-g.

BLS