Subject: Getting working distributions

From: Jonathan Foster Kliegman <[email-masked]>
Date: Mon, 4 Jan 1999 17:06:49 -0500 (EST)

Where do people get there distributions to run arm-linux from?  I've
been having a lot of difficulty getting one running and have tried the
distributions both on Russel's page and on the netwinder pages and
neither have worked.  I got invalid memory accesses when running them. 
With a recently built distribution using the RPMs from Russel's page I
get the following error from bash (and other programs):
bash: memory violation at pc=0x00029cd8, lr=0x2000d060 (bad
address=0x00000000, code 3)                                         

I get similar errors (though at different addresses) using different
distributions.  Is there something I'm missing when building my
distribution?  I'm building the distribution on an Intel linux box and
NFS exporting it to an EBSA-285 running linux 2.1.131.  Could it be a
glitch in my kernel that I need to fix?  Any help would be appreciated -
I'm at a loss here...

Thanks,
Jon 
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Hwa-Jin Bae <[email-masked]>
Date: Tue, 5 Jan 1999 10:03:36 -0800 (PST)

I just wanted to confirm that see the same problem now and then.
It sure would be nice to have a tar image of the "working system" tree
full of binary files from the creators.

Hwa-Jin Bae         
PSO Systems, Inc. 
http://www.pso.com
mailto:[email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Tue, 5 Jan 1999 23:20:30 +0000 (GMT)

Jonathan Foster Kliegman writes:
> Where do people get there distributions to run arm-linux from?

Mostly from the FTP site.

> I've been having a lot of difficulty getting one running and have tried
> the distributions both on Russell's page and on the Netwinder pages and
> neither have worked.

Hmm, sounds worrying.  I believe that both are in a working state.

> I got invalid memory accesses when running them.
> With a recently built distribution using the RPMs from Russell's page I
> bash: memory violation at pc=0x00029cd8, lr=0x2000d060 (bad address=0x00000000, code 3)

Could you try running the same kernel, except with the data cache off?
Look in arch/arm/kernel/head-armv.S, and make the following change in
.Larmv4_flush_early, from:
                orr     r0, r0, #0x003d                         @ I...S..DPWC.M
to:
                orr     r0, r0, #0x0039                         @ I...S..DPWC.M

This will reduce the performance of the StrongARM significantly, but it would
give an indication as to what the problem is.  Let us know how you get on.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Jonathan Foster Kliegman <[email-masked]>
Date: Wed, 6 Jan 1999 12:38:14 -0500 (EST)

Excerpts from linux-arm: 5-Jan-99 Re: Getting working distrib.. by
Russell A. L. Admin@arm. 
> Mostly from the FTP site.

I've picked up the distribution from
ftp://ftp.arm.linux.org.uk/pub/armlinux/RedHat/RPMS/ but those appear to
be older versions using libc.4.  My understanding is that I need at
least libc.6 to use a 2.1.xxx kernel.
  
> .Larmv4_flush_early, from:

I made the changes and am still getting the same problems.  Right now
init (the init found in SysVinit-2.74-2.armv4.rpm on the netwinder site)
gives me the following error:

init: memory violation at pc=0x01780020, lr=0x00000000 (bad
address=0x01780020, code 3)

I get the same error with and without the data cache being enabled.  

Also - I get an error, "Warning: unable to open an initial console."
which I've been ignoring - is this indicative of something majorly wrong?

Finally - if anyone has a working distribution for a 2.1.xxx kernel they
wouldn't mind tarring up and ftp'ing somewhere I'd be extremely grateful.

-Jon

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Wed, 6 Jan 1999 19:51:19 +0000 (GMT)

> full of binary files from the creators.

It would be nice to have a lot of things (eg, a fast connection), but
alas, I can't afford one, so this is not possible.

However, the RPM format is quite secure when installing - either it does
or it doesn't.  You can get rpm to verify an installation afterwards -
rpm -V package-name.  It will list out the files which have been modifed
since installation in table format, each letter:

       5      MD5 sum	(contents of file)
       S      File size
       L      Symlink
       T      Mtime
       D      Device
       U      User
       G      Group
       M      Mode (includes permissions and file type)

If you see a 'c' following the table, then that is a configuration file.
   _____

---

From: Peter Teichmann <[email-masked]>
Date: Fri, 08 Jan 1999 00:57:01 +0000

> alas, I can't afford one, so this is not possible.

If it is only this:

If you could find a way to modify the ArmLinux partition manager for RiscOS
machines so that it can coexist with the NetBSD partition manager, you could
get a login for a Strongarm RiscPC with 32MB Ram, about 2 GB harddisk space
and a fast internet connection (800kBytes/sec max., 150kBytes/sec to
ftp.arm.uk.linux.org).

There you could remotely compile them and upload them where you want. You
could also instruct me how to do it, but all only if that partition manager
thing will work ...

-- 
Peter Teichmann

----------------------------------------------------------------------------
Email: [email-masked]  WWW: rcswww.urz.tu-dresden.de/~teich-p

---

From: Philip Blundell <[email-masked]>
Date: Fri, 08 Jan 1999 13:04:22 +0100

>least libc.6 to use a 2.1.xxx kernel.

Not quite.  You need a ELF compiler to *build* a 2.1 kernel, and in some 
cases you need libc-6 to take full advantage of the new features in 2.1, but 
old userland stuff will carry on working indefinitely so long as you compile 
in a.out support.

>which I've been ignoring - is this indicative of something majorly wrong?

Check your /dev/console.

p.

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Fri, 8 Jan 1999 14:16:25 +0000 (GMT)

> least libc.6 to use a 2.1.xxx kernel.

libc.4 will work with 2.1.xxx kernels.

> address=0x01780020, code 3)

This looks like a libc.4 executable, but it should work nevertheless.

> which I've been ignoring - is this indicative of something majorly wrong?

Quite possibly - check that you have /dev/console present, and it is
the right major/minor device numbers.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Hwa-Jin Bae <[email-masked]>
Date: Fri, 08 Jan 1999 22:17:44 -0800

I have the same problem as Jonathan in my ARM Linux installation.
The memory violation error happens occasionally -- not always.
The systems runs well enough to do a lot of useful work,but
eventually it dies under stress test.  Programs like sed and
portmap seem to always have memory violation during init.

I have been thinking this either has to do with glibc ld-linux.so or
kernel level caching problem.  Upgrading glibc to 2.0.106 was something
I have been trying to do for a long time.  My build of 2.0.106 glibc
builds fine, but then at run time the dynamic linker always gives out
IO_2_1_stdin not found error.  Very wierd.  Turning cache completely off
in the kernel doesn't remedy the situation either.

Some people apparently have a solidly working 2.1.X kernel.  Can anyone
elaborate on the version of the toolchain they use to create kernel,
glibc stuff, and other binaries?  Can anyone upload a working tree image
somewhere?  

It would also help to hear from people (other than Russell and Philip)
what their experiences are with 2.1.X kernels.

Sorry to have so many requests, but I am a little desperate here.
Thanks.
-- 
Hwa-Jin Bae		
PSO Systems Inc	
mailto:[email-masked]
http://www.pso.com
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Sun, 10 Jan 1999 13:22:25 +0100

>eventually it dies under stress test. 

What sort of stress test are you doing?

For a long time I've been seeing processes dying at random under heavy 
swapping (with both 2.0 and 2.1 kernels if I remember right).  I posted 
either here or on the NetWinder devel list about it a month or so ago.  
Russell never seemed particularly interested in this though and I haven't had 
a chance to debug it any further.

p.

---

From: Russell King <[email-masked]>
Date: Mon, 11 Jan 1999 12:03:06 +0000 (GMT)

> a chance to debug it any further.

Not at all - it's just that I don't see it often enough to debug it.

BTW, my Netwinder is (hopefully) compiling most of gnome now (thanks to
someone who helped me debug Corel's r10 disk image, details later).  It's
been on since last night running 2.2.0-pre6.

I've just dialed home, and unfortunately the compilation still has aborted
due to more environment problems. ;(  However, there have been no segmentation
problems.

r10 disk image changes:
-----------------------

To build gnome, you must have:

- gettext 0.10.35
- autoconf 2.12
- automake 1.3
- libtool 1.2b

You also need to remove /all/ gnome header files in
/usr/lib/gcc-lib/*/*/include

--
Russell King ([email-masked])

---

From: Philip Blundell <[email-masked]>
Date: Mon, 11 Jan 1999 13:36:32 +0100

>Not at all - it's just that I don't see it often enough to debug it.

I think I can furnish you with a way to reproduce it fairly reliably.  I'll 
check later.

p.

---

From: Hwa-Jin Bae <[email-masked]>
Date: Mon, 11 Jan 1999 10:17:50 -0800 (PST)

By "stress testing" I mean that I have the target machine running Linux
while banging on it from other machines over the network via NFS, Samba,
ping, telnet session doing find / -print, etc.

My port never seems to survive more than a couple of hours.

Hwa-Jin Bae         
PSO Systems, Inc. 
http://www.pso.com
mailto:[email-masked]

---

From: Hwa-Jin Bae <[email-masked]>
Date: Mon, 11 Jan 1999 16:22:58 -0800

The "processes dying at random under heavy swapping" is the same problem
as the one described earlier.  If you have CONFIG_DEBUG_USER defined,
the code in arch/arm/mm/fault-armv.c will print messages similar to the
one about "memory violation" when this happens.

When the system is under light usage, there is no problem.  This problem
only seems to happen when you have a lot of network and disk I/O going
on in parallel for a long time (30 min to 1 hour).

This is very reproducible problem in 2.1.X kernel running on EBSA285
based HW we have here.

I will ask again, are there people out there running 2.1.132 ARM Linux
on EBSA285 out there ?  If so, how reliable are they running?

THanks.