The X11 iso image predates the fossil filesystem and unfortunately has some hard coded references to the kfs filesystem in its installation package; however once installed it is filesystem independant. The following will allow this package to be installed on a fossil filesystem.
download the iso and uncompress it.
hget http://plan9.bell-labs.com/sources/extra/X11.iso.bz2 | bunzip2 > /tmp/X11.iso
start the iso9660 filesystem server
9660srv
disable the 9fs command by binding echo over it
bind /386/bin/echo /rc/bin/9fs
mount a pseudo /n/kfs pointing to the root of your fossil filesystem
mount /srv/boot /n/kfs
mount the iso
mount /srv/9660 /n/dist /tmp/X11.iso
initialise the replica logs
/n/dist/X11.setup
do the pull
replica/pull /n/dist/X11
Next, you need to actually build X11. Close this rio window and open a new one. This will remove the bind on /rc/bin/9fs.
There is a problem with one file that prevents X11 from building with current systems. Type
9fs sources cp /n/sources/contrib/pietro/shape.c /sys/src/X11/programs/Xserver/Xext/shape.cto fix the bug.
NOTE: If you get this error when buidling X11:
/sys/include/ape/u.h:4[stdin:7038] not a function /sys/include/ape/u.h:4[stdin:7038] syntax error, last name: headerit is due to the fact that the preprocessor constant _PLAN9_SOURCE is not defined. The easiest way is to:
cp /sys/include/ape/u.h /tmp/u.hmodify /tmp/u.h as follows:
#ifndef __U_H #define __U_H #ifndef _PLAN9_SOURCE + #ifndef BRAZIL This header file is an extension to ANSI/POSIX + #endif #endifand bind the modified version over the original:
bind /tmp/u.h /sys/include/ape/u.hand restart the build.
Finally, to build and install, type
cd /sys/src/X11 ape/psh makew make install make clean
It is a good idea to turn on scrolling for both rio windows so you could do something else while building (makew is a lengthy process).
Equis is an X11 server for Plan 9 created by Federico G. Benavento (fgb). It may be installed using the contrib system:
contrib/install fgb/X11
or by copying the necessary files directly from his contrib directory:
mkdir /386/bin/X11 /386/lib/ape/X11 9fs sources dircp /n/sources/contrib/fgb/root/386/bin/X11 /386/bin/X11 dircp /n/sources/contrib/fgb/root/386/lib/ape/X11 /386/lib/ape/X11