Beta Plan 9 from User Space


I still have no idea what it is exactly or what to do with it, but I would always vote for "package the whole stuff and share it". If not now, maybe later somebody might want to have it, and there are enough people here who will just want to try it out of curiousity.
 
Last edited by a moderator:
Plan 9 kicks ass, but is not for the average user ^^.

How about porting it to ARM then? Is it reasonable?
I really don't know. The UI is radically different than what we know. In a user space is it reasonable. As a native port to Pandora, i think it will be useless.

Plan 9 kicks ass, but is not for the average user ^^.

Ok, so average users aside, what can you do with Plan 9 components that the standard GNU/linux components lack?


- Neelix
Nothing ^^. It's just a better UNIX, but it lacks many software, like a web browser :^).
 
It was another OS experiment with lots of neat ideas, but never went anywhere; it was never usable from a user perspective IMHO, since its got a small library and a very limited hardware support. (ie: It was designed for "X" set of components, and works on those; anythign else.. forget it :) Like Hurd -- lots of rgeat ideas, but still very small userbase.


Installed P9 a million years ago; it ate the disk -- I told it to use an enmpty partition, and it thought it woudl be cool to at the same time, destroy everything on the other partitions. It made me angry :)


jeff
 
It was another OS experiment with lots of neat ideas, but never went anywhere; it was never usable from a user perspective IMHO, since its got a small library and a very limited hardware support. (ie: It was designed for "X" set of components, and works on those; anythign else.. forget it :) Like Hurd -- lots of rgeat ideas, but still very small userbase.


Installed P9 a million years ago; it ate the disk -- I told it to use an enmpty partition, and it thought it woudl be cool to at the same time, destroy everything on the other partitions. It made me angry :)


jeff
Nope, it's not an experiment, it's the successor of UNIX, made by the creators of UNIX.


Indeed, it's not "usable" in the way casual user use an OS but it's pretty fast and strong. There's a Linux emulator in it, and there's also P9 resources sharing in Linux.
 
Eh, well...Yes, made by the creators of Unix, yes. Being a successor to Unix would sort of imply that it had actually succeeded Unix anywhere, apart from, like, an experimental site or two. Which it hasn't :D So I think that an experiment is quite the correct description. With a lot of good ideas, some of which carried over to things like BeOS, if I remember correctly. Which also somehow failed to make a very big impression, unfortunately.
 
I've never used Plan 9, only heard about it back in the day.. Personally I think anything that is ported to the Pandora is a good thing even if it doesn't have much use.
 
I hope it's OK to bump an old thread, but I figure it's better than making a new one.

I would like to say that I would love a native Plan 9 from Bell Labs port. I used it on the Raspberry Pi and liked it, and it's the only OS on my old IBM Thinkpad. It's nice, in a way. I do wish there were more apps for it, but there's something called Plan B that could be included.
 
[BUMP]
Hi all !

Wow, time really does fly...

I'm compiling a fresh build from github with @ptitSeb 's beta Code::Blocks :)

I'll package it ASAP !

Cheers, Magic Sam
[/BUMP]

EDIT: I followed the following steps:
Code:
cd /media/Pandora/dev
wget https://github.com/9fans/plan9port/archive/master.zip
mkdir -p install/plan9port-magicsam
sudo ln -s /media/Pandora/dev/install/plan9port-magicsam /mnt/utmp
unzip master.zip -d /mnt/utmp/plan9port-magicsam
cd /mnt/utmp/plan9port-magicsam/plan9port-master
./INSTALL
 
Last edited:
Hi all :)

I have just uploaded the first beta version of Plan 9 from User Space to the Repo !
Changelog

New in build #1

- Git version from April 11th 2016, compiled with @ptitSeb 's beta Code::Blocks
- Shortcut is in "Education" (XFCE)
- Manual is in Documentation / Plan9port Manual (XFCE)
- Thanks to @urjaman for his run.sh and init.sh scripts from Mosh :)

Please have a look in "/mnt/utmp/plan9port-magicsam/plan9port-master/bin" for a list of available commands.

N.B: if a command exists in both Linux and Plan 9, use the "9" command to use the one from Plan 9 explicitely, e.g: "9 ls".

EDIT:TODO list

- Make graphical applications work (fixed in build #2)
- Fix display glitches of the manual in Links (big black "stars" instead of dashes "-" ) (fixed with @notaz ' updated Links 2.13 package)
- Make "rc" the default shell in XFCE terminal 9term (fixed in build #2)
- Get rid of the intermediary XFCE terminal ? (fixed in build #3)

Cheers, Magic Sam
 
Last edited:
Hi all :)

I think I understand why graphical applications don't work: the INSTALL script just doesn't know where the X11 libs are.

#!/bin/sh

dobuild=true
doinstall=true

case "x$1" in
x)
;;
x-b)
dobuild=true
doinstall=false
;;
x-c)
dobuild=false
doinstall=true
;;
x-r)
shift
PLAN9_TARGET=$1 export PLAN9_TARGET
;;
*)
echo 'usage: INSTALL [-b | -c] [-r path]' 1>&2
exit 1
esac

PLAN9=`pwd` export PLAN9
PATH=/bin:/usr/bin:$PLAN9/bin:$PATH export PATH
case `uname` in
SunOS)
awk=nawk
;;
*)
awk=awk
;;
esac

echo "+ Mailing list: http://groups.google.com/group/plan9port-dev"
echo "+ Issue tracker: http://code.swtch.com/plan9port/issues/"
echo "+ Submitting changes: http://swtch.com/go/codereview"
echo " "
echo "* Resetting $PLAN9/config"
rm -f config

(
echo "* Compiler version:"
9c -v 2>&1 | grep -v 'Configured with:' | grep -i version | sed 's/^/ /'

if [ `uname` = FreeBSD ]; then
echo "* Running on FreeBSD, adjusting linker flags"
echo "LDFLAGS='-L/usr/local/lib'" >> $PLAN9/config
fi

if [ `uname` = DragonFly ]; then
echo "* Running on DragonFly BSD, adjusting linker flags"
echo "LDFLAGS='-L/usr/local/lib -pthread'" >> $PLAN9/config
echo "CFLAGS='-pthread'" >> $PLAN9/config
fi

if [ `uname` = OpenBSD ]; then
echo "* Running on OpenBSD, adjusting linker flags"
echo "LDFLAGS='-L/usr/X11R6/lib -pthread'" >> $PLAN9/config
fi

if [ `uname` = Linux ]; then
# On Linux, we use the kernel version to decide whether
# to use pthreads or not. On 2.6 versions that aren't
# linking with NPTL by default, pretend to be an older kernel.
echo "* Running on Linux: checking for NPTL..."
gcc lib/linux-isnptl.c -lpthread
if ./a.out >/dev/null
then
echo " NPTL found."
echo "SYSVERSION=2.6.x" >>$PLAN9/config
else
echo " NPTL not found."
echo "SYSVERSION=2.4.x" >>$PLAN9/config
fi
rm -f ./a.out
fi

if [ `uname` = SunOS ]; then
# On Solaris x86, uname -p cannot be trusted.
echo "* Running on Solaris: checking architecture..."
case "$(isainfo -n)" in
*amd64*)
echo " x86-64 found."
echo "OBJTYPE=x86_64" >>$PLAN9/config
echo "CC9=gcc" >>$PLAN9/config # defaults to gcc on Solaris/amd64
;;
*i386*)
echo " i386 found."
echo "OBJTYPE=386" >>$PLAN9/config
echo "CC9=gcc" >>$PLAN9/config # defaults to gcc on Solaris/i386
;;
*sparc*)
echo " Sparc found."
echo "OBJTYPE=sparc" >>$PLAN9/config
;;
esac
fi

if [ `uname` = Darwin ]; then
# On Darwin, uname -m -p cannot be trusted.
echo "* Running on Darwin: checking architecture..."
rm -f ./a.out
if ! gcc lib/darwin-main.c >/dev/null 2>&1; then
echo "Cannot find gcc. You may need to install the command-line tools using Xcode." >&2
echo "See http://swtch.com/go/xcodegcc for details." >&2
exit 1
fi
case "$(file ./a.out 2>/dev/null)" in
*x86_64*)
echo " x86-64 found."
echo "OBJTYPE=x86_64" >>$PLAN9/config
;;
*i386*)
echo " i386 found."
echo "OBJTYPE=386" >>$PLAN9/config
;;
*ppc*)
echo " power found."
echo "OBJTYPE=power" >>$PLAN9/config
;;
esac
rm -f ./a.out
fi

if [ `uname` != Darwin ]; then
# Determine whether fontsrv X11 files are available.
rm -f a.out
gcc -o a.out -c -Iinclude -I/usr/include -I/usr/local/include -I/usr/include/freetype2 -I/usr/local/include/freetype2 \
-I/usr/X11R6/include -I/usr/X11R6/include/freetype2 src/cmd/fontsrv/x11.c >/dev/null 2>&1
if [ -f a.out ]; then
echo " fontsrv dependencies found."
echo "FONTSRV=fontsrv" >>$PLAN9/config
else
echo " fontsrv dependencies not found."
echo "FONTSRV=" >>$PLAN9/config
rm -f bin/fontsrv
fi
rm -f a.out
fi

if [ -f LOCAL.config ]; then
echo Using LOCAL.config options:
sed 's/^/ /' LOCAL.config
cat LOCAL.config >>config
fi

It looks like I need to specify some correct LDFLAGS with the path to the X11 development libraries.

@ptitSeb : I'm really sorry to bother you again with this... but do you think echo "LDFLAGS='-L/mnt/utmp/codeblocks/usr/lib'" >> $PLAN9/config would work in that case ?

Cheers, Magic Sam
 
Last edited:
Back
Top