Re: vesta newcomer... and a few questions

From: Andrew Valencia <vandys_at_nospam.org>
Date: Mon Nov 07 1994 - 08:28:20 PST

[Basile STARYNKEVITCH <basile@soleil.serma.cea.fr> writes:]

>0) i can't afford having a PC devoted to VSTa. My PC is mostly a Linux
>box, and will remain mostly Linux. Most of my disk partitions are for
>Linux. I reserved 50Mb for VSTa (and have space for 90Mb more). Since
>i like the Linux environment i use it to cross-develop (source is
>Linux, target is Vsta). I might buy another disk in a few months if needed.

50 megs is fine for developing. I still have a 386sx laptop with 32 megs of
disk and 4 megs of RAM.

>2) printf and syslog(LOG_INFO, ..) didn't work. I suppose that my cons
>is the first server, and can't printf or syslog since no server can
>recieve it (i guess that both of them send messages to a server,
>probably cons). How can i debug the cons server? How can i display
>IsoLatin1 chars? (ie eacute, etc).

Right, the console *is* the destination of syslog messages; sending to
yourself is circular and won't give you much joy. But since you're within
the console server why not just call write_string() directly?

>3) How can i use the dbg debugger?

Kernel or process debugger?

>5) i didn't succeed in creating a user for me -i'm logging in as
>vandys. How do i create a user basile having nearly superuser power?

Could you include your entry and explain how it "didn't succeed"?

>6) i think somebody wrote a VSTA fileserver for the Linux ext2
>filesystem? Is this thing out?

I've never received a copy.

>7) what exactly is a mount under VSTa? (and what is the /env filesystem?).

The "mount table" from UNIX is simply a data structure within the C library
under VSTa. So when you call open() he simply refers to his array of
mounts, figures out which server he wants, and asks that server to open a
certain path. The kernel knows nothing of pathnames or mount points.

/env is the server for environment variables. Your environment path is
specified in /vsta/etc/passwd. For purposes of an example, assume it's
/users/programmers/basile. When you getenv("FOO") the file:

        /users/programmers/basile/FOO

is open()'ed. The /env filesystem will try the whole path. If it doesn't
find it, it then tries /users/programmers/FOO, then /users/FOO, then /FOO.
So you can create a global value for the environment variable FOO, or a
groupwide one, or a per-user one.

Actually, you can create a per-process one, too, but perhaps you didn't
want this much detail. I think I described it on the list before, anyway.

>8) what is a file under vsta, and a directory? Can a file be both an
>ordinary file (a la Posix, ie a stream of bytes) and a directory? I
>might write a filesystem whose files have forks (a la
>Macintosh). Basically, each file (or inode) would be a dictionnary (ie
>like a directory): keys would be IsoLatin1 strings, and values would
>be either byte blocks or pointer to another inode. Is this doable?

A file is a convention shared between a client (usually via the C library)
and a server. Usually files do not permit the FS_OPEN operation. Usually,
FS_READ operations on directories return the directory entries within the
directory. A server could deviate from this easily.

>9) how do I add swap space to VSTa? Preferably, i would either swap to
>a partition (thus sharing a swap partition with Linux) or to a file
>(eg in a DOS or Bfs or VestaFS filesystem). How can i find out the remaining
>free (or used) memory (either physical or virtual) ?

I wouldn't mess around with swap just yet. We've found some bugs and are
working on them.

>10) what are the VestaFS specifics. How do i find the remaining
>available place on a VestaFS filesystem (i succeeded in creating one,
>and mounting it thru etc/fstab). How do i run the vestafs fsck?

I'm not sure what you mean by "specifics"? I guess I need to add max and
current space to stat.c; it's only announced during filesystem startup now.
You run fsck on the device holding the filesystem. If you had it on, say,
a VSTa BFS-type partition, you might have to mount it into your namespace
first:

mount disk/wd /dev/wd
fsck /dev/wd/wd0_bfs0

                                                Andy
Received on Mon Nov 7 08:07:43 1994

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:10 PDT