Subject: Linux-Activists Digest #69
From: Digestifier <[email-masked]>
To: [email-masked]
Date: Tue, 14 Apr 92 20:00:15 EDT

Linux-Activists Digest #69, Volume #2            Tue, 14 Apr 92 20:00:15 EDT

Contents:
  Re: GCC2.1 (Wonderful !) (Karl R. Buck)
  Can't get Linux to boot (william.j.bitner)
  Can't get Linux to boot (william.j.bitner)
  Re: tar files on floppy. (LCDR Michael E. Dobson)
  GCC2.1 (Wonderful !) (Michael K. Johnson)
  Re: Questions and suggestions (Drew Eckhardt)
  Texinfo (Michael K. Johnson)
  Re: what does linux rhyme with? (Juergen Henke)
  Re: tar files on floppy. (David Engel)
  Re: Problems compiling df and system utils under gcc 2.1 (David Engel)
  Problems compiling df and system utils under gcc 2.1 (Daniel A. Martin)
  Re: Problems compiling df and system utils under gcc 2.1 (Jim Winstead Jr.)

----------------------------------------------------------------------------

From: [email-masked] (Karl R. Buck)
Subject: Re: GCC2.1 (Wonderful !)
Date: 14 Apr 1992 14:59:57 -0500

[email-masked] (Hongjiu Lu -- Graduate Student) writes:

>It seems that gcc 2.1 can run with 2MB RAM. I think it's the time we
>retire gcc 1.40. Lots of problems about kernel and gcc 2.1 are related
>to the old gcc 1.40. With gcc 2.1, we can use the shared libs as the
>standard. So we can squeeze more stuffs into rootimage. I really miss
>bash. I had to copy it from 0.12 rootimage.

>What do you guys think?

Well, since you ask:-)
Some of you may remember my whining and complaining a while back about
not being able to get 2.1 to work. It ended up being a bogus copy of
tar from the 95a distribution. After fixing this I've no trouble at
all compiling .95c+ and other applications. If anyone is looking for
votes I think going with 2.1 is a great idea. I'm really looking
forward to converting my stuff to shared libs.

To the people (person) working on 2.1: Thanks, and good work!
-- 
Karl Buck, [email-masked]     :)

------------------------------

Crossposted-To: alt.os.linux
From: [email-masked] (william.j.bitner)
Subject: Can't get Linux to boot
Date: Tue, 14 Apr 1992 19:50:55 GMT

I ftp'd the boot/root/rawrite.c/FAQ/REL images down (remembering to 
use binary mode with ftp), uncompressed them and used kermit
to bring them down to my DOS machine.  FTP site was tsx-11.mit.edu
and version of Linux was 0.95a.  Uncompressed, the bootimage
was 190980 bytes.  I ran sum on the compressed images and the
first number agreed but the block count was different (different
size blocks on my machine).  I tried both kermit and umodem to
get the uncompressed files down to my machine with no differences.
I formatted a 5.25 floppy and verified it really had 1.2M of
space available.  I performed the rawrite using my bootable
drive "A" (the 5.25) and attempted to boot.   The normal configuration
table comes up (from BIOS) and then Floppy drive spins.  I get
two "graphics" chars. a newline and then Lo.  Nothing further and
the keyboard is locked (IE type 16 keystrokes and it beeps).  A
soft reset (Ctrl-Alt-DEL) will get me back to DOS if I remove the
floppy.  I tried altering the machines configuration by disabling
cache, video BIOS copy , and BIOS copy (into ram).  This made
no difference at all.  I ftp'd the bootimage only (if the boot 
works, there'll be time to get the rest) from banjo.concert.net
version 0.95c+ (new could be better, right??) and got the same
results except it printed Loa instead of "Lo ".  What to do???

Machine.  386/25 with 64K cache OPTI chipset with AMI BIOS
        4 MB. Ram
        387 FPU
        Floppy A 5.25 1.2M
        Floppy B 3.5  1.44M
        Hard Drive C: IDE Western Digital 202 MB (Master)
        Hard Drive D: IDE Seagate ST-157a-0 44 MB (Slave)
        Trident SVGA (1 MB)
        4 Serial Ports
        2 Parallel Ports
        SoundBlaster Board

                                        Help is needed!
                                        Thanks,
                                        Bill Bitner
                                        [email-masked]
                                        708-879-0401

------------------------------

Crossposted-To: alt.os.linux
From: [email-masked] (william.j.bitner)
Subject: Can't get Linux to boot
Date: Tue, 14 Apr 1992 19:50:55 GMT

I ftp'd the boot/root/rawrite.c/FAQ/REL images down (remembering to 
use binary mode with ftp), uncompressed them and used kermit
to bring them down to my DOS machine.  FTP site was tsx-11.mit.edu
and version of Linux was 0.95a.  Uncompressed, the bootimage
was 190980 bytes.  I ran sum on the compressed images and the
first number agreed but the block count was different (different
size blocks on my machine).  I tried both kermit and umodem to
get the uncompressed files down to my machine with no differences.
I formatted a 5.25 floppy and verified it really had 1.2M of
space available.  I performed the rawrite using my bootable
drive "A" (the 5.25) and attempted to boot.   The normal configuration
table comes up (from BIOS) and then Floppy drive spins.  I get
two "graphics" chars. a newline and then Lo.  Nothing further and
the keyboard is locked (IE type 16 keystrokes and it beeps).  A
soft reset (Ctrl-Alt-DEL) will get me back to DOS if I remove the
floppy.  I tried altering the machines configuration by disabling
cache, video BIOS copy , and BIOS copy (into ram).  This made
no difference at all.  I ftp'd the bootimage only (if the boot 
works, there'll be time to get the rest) from banjo.concert.net
version 0.95c+ (new could be better, right??) and got the same
results except it printed Loa instead of "Lo ".  What to do???

Machine.  386/25 with 64K cache OPTI chipset with AMI BIOS
        4 MB. Ram
        387 FPU
        Floppy A 5.25 1.2M
        Floppy B 3.5  1.44M
        Hard Drive C: IDE Western Digital 202 MB (Master)
        Hard Drive D: IDE Seagate ST-157a-0 44 MB (Slave)
        Trident SVGA (1 MB)
        4 Serial Ports
        2 Parallel Ports
        SoundBlaster Board

                                        Help is needed!
                                        Thanks,
                                        Bill Bitner
                                        [email-masked]
                                        708-879-0401

------------------------------

From: [email-masked] (LCDR Michael E. Dobson)
Subject: Re: tar files on floppy.
Date: 14 Apr 92 20:00:59 GMT

In article <[email-masked]> [email-masked] (Juergen Henke) writes:
>In article <[email-masked]> [email-masked] (Drew Eckhardt) writes:
>
>   When you rawrite to a floppy, you write to the raw device.  The file size,
>   etc are lost, and are not encoded in a compressed file as they 
>   are with a .tar file.  Solutions to this problem are to  :
>
>[...]
>
>I've done this now several times, with GNU-tar (the normal linux tar) it's no
>problem to read a rawritten (:-)) compressed tar from a floppy, just use 
>(for example)
>
>               tar xvZf /dev/PS0
>                      ^
>                      |
>           compress/uncompress option
>
I also just successfully installed a complete 0.95c+/gcc2.1 system via this
method but I used the command line:

        tar xvpz </dev/PS0

I am just about finished with linking everything in 2.1shared-A.tar.Z with
shared libs and symlinking into /usr/bin.  A word of caution, DON'T use
shared libs or symlinks on anything in /bin or /etc if / and /usr are on
different partitions.  They won't work until /usr is mounted.  Keep a good
bootimage floppy and root floppy handy just in case.

-- 
LCDR Mike Dobson, Sys Admin for | Internet: [email-masked]
nmrdc1.nmrdc.nnmc.navy.mil      | UUCP:   ...uunet!mimsy!nmrdc1!rdc30
AT&T 3B2/600G Sys V R 3.2.3     | BITNET:   dobson@usuhsb or nrd0mxd@vmnmdsc
WIN/TCP for 3B2  R3.2           | MCI-Mail: 377-2719 or [email-masked]

------------------------------

From: [email-masked] (Michael K. Johnson)
Subject: GCC2.1 (Wonderful !)
Reply-To: [email-masked] (Michael K. Johnson)
Date: Tue, 14 Apr 1992 21:42:25 GMT

From: [email-masked] (Hongjiu Lu -- Graduate Student)

   It seems that gcc 2.1 can run with 2MB RAM. I think it's the time we
   retire gcc 1.40. Lots of problems about kernel and gcc 2.1 are related
   to the old gcc 1.40. With gcc 2.1, we can use the shared libs as the
   standard. So we can squeeze more stuffs into rootimage. I really miss
   bash. I had to copy it from 0.12 rootimage.

Please, don't consider 1.40 retired -- It is smaller -- Not all the
features, and I am _very_ glad that 2.x is out, and I am sure that I
will switch some day.  But right now I want something small, and I
simply don't yet need 2.x's features.  I don't think that I am
alone...

When there is a _reason_ to switch (like there is a feature of 2.x
that will help kernel development, or something like that) then let's
"retire" 1.40

My $.01 cent worth.  Ok, my $005 cent worth ;-)

michaelkjohnson
[email-masked]

------------------------------

From: [email-masked] (Drew Eckhardt)
Subject: Re: Questions and suggestions
Date: Tue, 14 Apr 1992 21:13:14 GMT

In article <[email-masked]> [email-masked] (Adrian Wallaschek) writes:
>Hi everybody!
>
>I've got some questions:
>
>       - under DOS there is a package called FDREAD which makes it possible to
>         write 1.44 MB on 5.25"-floppies without problems. I think it should be
>         possible to modify the floppy driver that way, it could handle those
>         disks. (Perhaps you'd like some extra 240k on your distribution disk)
>         Is there a nearer description on the floppy-devices, esp. the minor
>         device-numbers ?

It definately is possible, it's just a question of finding someone to do it.

>       - how soon can we expect a pre^n-release of the new filesystem? (We
>         are working with three users on a 386/33 and even though we have
>         fast SCSI (Adaptec) the system actually pauses every user if we
>         e.g. untar a file of 300k!)
>

That's not a file system problem, it's a SCSI driver thing

Only the kernel is scheduled when Linux is in the strategy routine
of a device driver.  

With the SCSI drivers, there are two possible interfaces between
the midlevel driver and the lowlevel host specific driver.  One 
provides a generic interupt driven interface, and expects that a 
completion function will be called when the SCSI host is done doing
its thing, and that the command function will return immediately,
allowing the strategy routine in sd.c to exit immediately,
and other tasks to be scheduled.  With this interface, 
you won't have that problem.

The other interface is mostly there to ease development,
and to support brain dead hardware that 
can't cope with interrupts well.  It
calls a command function that doesn't exit until
command completion.  

Since the command() is called 
from scsi_do_cmnd(), which is called from the strategy routine
of the sd driver, when this interface to the SCSI drivers is used,
the strategy routine doesn't exit until the command completes,
and user tasks aren't scheduled until exit.

On the Adaptec drivers, code is there supporting the queue_command()
interface, but there are bugs in the {compiler, kernel, adaptec low level driver
, midlevel SCSI driver, gcc} that keep it from working correctly.  

The Seagate adapters have severe hardware restrictions that 
led to me to use the command() interface.  

I think 
the current Ultrastor driver used this approach for ease 
of development, and in anticipation of the new interface 
designed to work with multiple outstanding commands, 
out there because of multiple devices and disconnect / reconnect,
the support for multiple outstanding commands for a single LUN
under SCSI2, and inteligent host adapters that queue commands 
internally and send them out in an optimal order.

So - no one has done much work with the queue_command() interface,
and since there are no other implementations other than
the one in the Adaptec driver, I can't tell if the bug
is there, in my code, the reset of the kernel, etc.

This situation will be rectified permanantly when 
1.  Some one else takes care of it.

2.  Some one donates / loans me a better SCSI host more friendly 
        to this interface,  like an Adaptec, with
        full technical documentation. 

3.  I get time to implement a hack to deal with the seagate 
        hardware in this mode, which means either 
        disconnecting and reconnecting on an interrupt
        (which can only be triggered by a device on
        the BUS asserting SEL),
        and personally starting to use queue_command(), 
        or doing something more bletcherous.

A temporary fix may be to call schedule() from 
within the wait loop in the low level driver, but 
I haven't looked at the side effects this will have.

Linus?

------------------------------

From: [email-masked] (Michael K. Johnson)
Subject: Texinfo
Reply-To: [email-masked] (Michael K. Johnson)
Date: Tue, 14 Apr 1992 22:08:48 GMT

From: [email-masked] (Joseph Knapka [MSAI])

   Thanks for the tex-info^2. Two more questions:

   1) Can texinfo documents (if that's the word) be created using LaTeX, of
   is raw TeX necessary? 2) I assume Texinfo has been ported to Linux; where
   is it?

Neither is needed -- All texinfo is done with fairly simply
@-commands, with the exception of a
/input texinfo.tex
at the beginning of the texinfo file to bootstrap tex to understand
the @-commands.  It is _much_ _much_ easier, in my opinion, to use
texinfo than TeX/LaTeX, and I have use LaTeX to create answer keys
math classes, etc.  It was hellish -- Not that TeX was bad, but that
there is just so much to learn, and I can't afford either Knuth's or
Lamport's books right now.  Texinfo has a free manual (written in
texinfo, of course :-) and is quite easy to use, especially if you are
used to @commands and/or "intentional formatting."

It _is_ possible to include raw TeX code if you _really_ want to, but
there doesn't generally seem to be a lot of call for that, as in I
have not seen a reason to do it yet.

The manual and all necessary things, including an info browser
(program to display info files, the on-line versions of texinfo files)
written in c, are available from ftp.gnu.ai.mit.edu in /pub/gnu.  Look
under texinfo*.

If you want to print off the documentation, I can give a few hints --
The first of which is that it is about 150 pages, as I recall.  It is
also possible to order it from the FSF for $10-15, I think.

michaelkjohnson
[email-masked]

------------------------------

From: [email-masked] (Juergen Henke)
Subject: Re: what does linux rhyme with?
Date: Tue, 14 Apr 1992 22:41:03 GMT

In article <[email-masked]> [email-masked] (Stephen Hathorne) writes:

   Yes Linus- This should be in the FAQ us silly americans think that people
   might even be vain enough to include their own name in a product!

   Sorry about that!

   Stephen Hathorne
   ******************************************************
   Computing Systems Administrator
   Department of Statistics
   Carnegie Mellon 
   [email-masked]                                  

   /* comments are all mine */
   ******************************************************

And we silly europeans learnt from this that some americans are vain enough to put
their job into a signature... :-) :-) :-)

Juergen

--
_________________________________________________________________________
Juergen Henke, e-mail [email-masked], PSI-mail PSI%4505016002::JUH_IPA
Fraunhofer-Institut f. Produktionstechnik u. Automatisierung
Nobelstrasse 12, D-7000 Stuttgart 80

------------------------------

From: [email-masked] (David Engel)
Subject: Re: tar files on floppy.
Date: Tue, 14 Apr 1992 22:13:09 GMT

[email-masked] (LCDR Michael E. Dobson) writes:
: I am just about finished with linking everything in 2.1shared-A.tar.Z with
: shared libs and symlinking into /usr/bin.  A word of caution, DON'T use
: shared libs or symlinks on anything in /bin or /etc if / and /usr are on
: different partitions.  They won't work until /usr is mounted.  Keep a good
: bootimage floppy and root floppy handy just in case.

If you copy the shared lib to /lib instead of symlinking it (done by the 
install script) you can use shared binaries in /bin and /etc.  You can also 
safely remove /usr/shared the next time you upgrade libraries.  It's still 
a good idea to have "emergency" boot and root floppies handy however.

David
-- 
David Engel                        Optical Data Systems, Inc.
[email-masked]                      1101 E. Arapaho Road
(214) 234-6400                     Richardson, TX  75081

------------------------------

From: [email-masked] (David Engel)
Subject: Re: Problems compiling df and system utils under gcc 2.1
Date: Tue, 14 Apr 1992 23:14:15 GMT

[email-masked] (Daniel A. Martin) writes:
: I got a few errors while compiling df as well as chsh and mkswap from the
: system-0.95a.tar.Z file...BTW shouldn't df be in this file too?
: 
: df compiled ok before I installed gcc 2.1 so SUPER_MAGIC was probably
: defined in one of the old include files...what is it supposed to be?
: 
: gcc -O3 df.c -o df
: df.c: In function `do_df':
: df.c:92: `SUPER_MAGIC' undeclared (first use this function)
: df.c:92: (Each undeclared identifier is reported only once
: df.c:92: for each function it appears in.)

A lot of the file-system code is changing because of VFS.  For the time
being, you need to #inlcude <linux/minix_fs.h> and use MINIX_SUPER_MAGIC.

: gcc -O3 chsh.c -o chsh
: chsh.c: In function `main':
: chsh.c:120: `LOCK_FILE' undeclared (first use this function)
: chsh.c:120: (Each undeclared identifier is reported only once
: chsh.c:120: for each function it appears in.)

LOCK_FILE should be PASSWD_LOCK.  There is also a bug in chsh/passwd.
Chsh/passwd makes it's changes in /etc/passwd~, then copies the changes
back to /etc/passwd.  If the new version is shorter than the old version,
garbage is left at the end.  The fix is to truncate /etc/passwd after
writing it.  Unfortunately, we don't have an ftruncate syscall yet.

: I have a link in /usr/include to /usr/src/linux/include/linux to deal
: with most of the programs that need kernel header files...I included
: kernel.h (from 0.95c+) since it was so short...will someone better
: versed in C than me tell me what's wrong...
: 
: gcc -O3 mkswap.c -o mkswap
: In file included from /usr/include/linux/mm.h:7, from mkswap.c:26:
: /usr/include/linux/kernel.h:11: parse error before `('

The kernel headers and GCC 2.1 headers don't mix very well yet.  Hopefully
Linus and H.J. can straighten this out (soon, please!).  Until then, you
can compile mkswap by NOT #inluding <linux/mm.h> and simply #defining 
PAGE_SIZE as 4096.

David
-- 
David Engel                        Optical Data Systems, Inc.
[email-masked]                      1101 E. Arapaho Road
(214) 234-6400                     Richardson, TX  75081

------------------------------

From: [email-masked] (Daniel A. Martin)
Subject: Problems compiling df and system utils under gcc 2.1
Date: 14 Apr 92 22:42:28 GMT

I got a few errors while compiling df as well as chsh and mkswap from the
system-0.95a.tar.Z file...BTW shouldn't df be in this file too?

df compiled ok before I installed gcc 2.1 so SUPER_MAGIC was probably
defined in one of the old include files...what is it supposed to be?

gcc -O3 df.c -o df
df.c: In function `do_df':
df.c:92: `SUPER_MAGIC' undeclared (first use this function)
df.c:92: (Each undeclared identifier is reported only once
df.c:92: for each function it appears in.)

gcc -O3 chsh.c -o chsh
chsh.c: In function `main':
chsh.c:120: `LOCK_FILE' undeclared (first use this function)
chsh.c:120: (Each undeclared identifier is reported only once
chsh.c:120: for each function it appears in.)

I have a link in /usr/include to /usr/src/linux/include/linux to deal
with most of the programs that need kernel header files...I included
kernel.h (from 0.95c+) since it was so short...will someone better
versed in C than me tell me what's wrong...

gcc -O3 mkswap.c -o mkswap
In file included from /usr/include/linux/mm.h:7, from mkswap.c:26:
/usr/include/linux/kernel.h:11: parse error before `('

================beginning of kernel.h==============
/*
 * 'kernel.h' contains some often-used function prototypes etc
 */
void verify_area(void * addr,int count);
volatile void panic(const char * str);
volatile void do_exit(long error_code);
int printf(const char * fmt, ...);
int printk(const char * fmt, ...);
void console_print(const char * str);
int tty_write(unsigned ch,char * buf,int count);
void * malloc(unsigned int size);
void free_s(void * obj, int size);

#define free(x) free_s((x), 0)

/*
 * This is defined as a macro, but at some point this might become a
 * real subroutine that sets a flag if it returns true (to do
 * BSD-style accounting where the process is flagged if it uses root
 * privs).  The implication of this is that you should do normal
 * permissions checks first, and check suser() last.
 */
#define suser() (current->euid == 0)
=====================end of kernel.h===============

thanks for any help...

-- 
Danny Martin : [email-masked]

------------------------------

From: [email-masked] (Jim Winstead Jr.)
Subject: Re: Problems compiling df and system utils under gcc 2.1
Date: 14 Apr 92 23:14:08 GMT

In article <[email-masked]> [email-masked] (Daniel A. Martin) writes:
>I got a few errors while compiling df as well as chsh and mkswap from the
>system-0.95a.tar.Z file...BTW shouldn't df be in this file too?
>
>gcc -O3 chsh.c -o chsh
>chsh.c: In function `main':
>chsh.c:120: `LOCK_FILE' undeclared (first use this function)
>chsh.c:120: (Each undeclared identifier is reported only once
>chsh.c:120: for each function it appears in.)

This is a mistake on my part - I changed LOCK_FILE to PASSWD_LOCK, and
forgot to make sure I changed it everywhere.  The fix is to change
LOCK_FILE to PASSWD_LOCK in that line.

>gcc -O3 mkswap.c -o mkswap
>In file included from /usr/include/linux/mm.h:7, from mkswap.c:26:
>/usr/include/linux/kernel.h:11: parse error before `('

I don't know what's causing this....
-- 
Jim Winstead Jr. (CSci '95)    | "Catch a fish!"
Harvey Mudd College            |  -Geddy Lee,
[email-masked] |   San Diego Sports Arena
Disclaimer: Mine, not theirs!  |   January 20, 1992

------------------------------

** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [email-masked]

You can send mail to the entire list (and comp.os.linux) via:

    Internet: [email-masked]

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    tupac-amaru.informatik.rwth-aachen.de	pub/msdos/replace

The current version of Linux is 0.95a released on March 17, 1992

End of Linux-Activists Digest
******************************