Hi,
I was able to cross compile Plan9 from MacOS which is probably quite similarto cross compiling from Linux.
The first thing was to compile the plan9 C compilerson MacOS. I used https://code.google.com/p/ken-cc/ because this forkof the Plan9 C compilers are easier to compile on non-plan9 OSes.
Then I installed plan9port which contained a few utilities that are usedwhen compiling the plan9 kernel (/bin/rc, /bin/mk).
Then I setup a few symlinks at the root e.g.
/lib -> /home/pad/plan9/root/lib/386 -> /home/pad/plan9/root/386/sys -> /home/pad/plan9/sys
Finally I have a env.sh that I source that contains important environment variables:export KENCC=/home/pad/kencc# need to modify plan9/src/cmd/mk/shell.c and put rcshell as default shellexport PLAN9=/usr/local/plan9
export PATH=$PLAN9/bin:$KENCC/bin:$PATH
#for 8._cp to be found and calledPATH=$PATH:.
export objtype=386#export objtype=armexport cputype=386
Then I did a few modifications to plan9 Labs and was able to compile and run everythingunder qemu.
My forks:
On Jul 5, 2014, at 7:02 AM, Charles Forsyth <charles.forsyth@gmail.com>wrote:
On 5 July 2014 14:13, Aleksandar Kuktin <akuktin@gmail.com> wrote:
Are there any pointers or short instructions or a HOWTO or something
similar on the art of cross-compiling Plan 9 from Linux?
It would be easier to compile using 9vx under Linux, or a virtual plan 9 machine in qemu under Linux.It is possible to cross-compile directly, but I've only built and used that environment twice myself(once for Solaris, once for Linux), and it isn't any longer in any distributable shape. It might reappearas a side effect of some work on the compiler suite. It's similar to the way Inferno's kernel is crosscompiled using the Plan 9 compilers hosted by some other OS, but needs a few special twists todeal with the Plan 9 source tree.