From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <20110916010220.5e3adb54@kolari.ethans.dre.am> From: Jens Staal Date: Fri, 16 Sep 2011 05:46:31 +0200 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Subject: Re: [9fans] Nemo book Topicbox-Message-UUID: 22bc80ac-ead7-11e9-9d60-3106f5b1d025 2011/9/16 ron minnich : > On Thu, Sep 15, 2011 at 5:02 PM, Ethan Grammatikidis > wrote: >> On Wed, 14 Sep 2011 18:41:29 -0400 >> L N wrote: >> >>> The goal should be a Plan 9 "distro" that runs natively on AMD-64, and can >>> open a web-browser. >> >> That "goal" is a target moving at approximately the speed of light. Specifically, the "open a web browser" part of it is. >> >> A virtualizer running on Plan 9 would waste far less time than implementing enough Linux syscalls to run a Linux distro new enough to run any browser newer than Opera 9. > > That's a very interesting point. Implementing lguest on Plan 9 would > require something like 13 "system calls". Far easier than doing the > near-400 system calls of linux correctly. > > ron > > Just out of interest, has anyone made a cross compiler either for the 32-bit Plan9 or 64-bit Nix target? I have been looking a bit into the possibility of packaging the old GCC 3.0 as a cross compiler on Arch linux. At the moment my builds fail miserably since the build assumes that you build on a Plan9 host (hard links in the binutils build to i386-lucent-plan9-ar etc). A newer version (>4.6) would be cooler since it also supports the plan9 dialect of C. On the other hand, the cross compiler would just be a neat way to build legacy stuff without having to worry about having all the GNU tools on the target machine. Alternatively - would a newlib approach be a better bet to get binutils/gcc going? I have been trying to read up on it and to try to locate the syscall information I need from plan9 libc. If anyone got any pointers on how to do this, it would be appreciated :) I am a total nooob on this though (unfortunately with very little time, so my efforts are sporadic) Ps. I have an experimental PKGBUILD for nix on my machine. The basic idea I got with that one is: - static root at /opt/vx32/nix/root - changes at /opt/vx32/nix/changes - /usr/glenda moved to /home/glenda, user "glenda" added to system (directory /opt/vx32/nix/usr removed) - union mount /opt/nix/vx32/nix/root and /opt/nix/vx32/nix/changes at /mnt/nix - mount /home at /mnt/nix/usr It is not ready for public consumption yet however. - One thing I wonder there about 9vx is - can you add a command line argument to start a script in the plan9 that boots? Right now building/packaging nix requires manual intervention in the booted plan9 environment during packaging. Also, it would be nice to have a "firstrun" part in the startup script for a user so that the system executes /sys/lib/newuser. This in combination with a cross compiler would turn playing with Plan9 far easier and more fun :)