Subject: ANNOUNCE: FAQ
To: None <port-arm32@NetBSD.ORG>
From: Mark Brinicombe <amb@physig4.ph.kcl.ac.uk>
List: port-arm32
Date: 08/06/1996 22:15:57
Ok there are still one or two questions that need updated and I still have a
few to add but it has been a long time since I posted a FAQ so here it is.
BTW. The FAQ can be found in the docs directory on the FTP site.
RiscBSD FAQ
===========
This FAQ is copyright (c) Mark Brinicombe 1995-1996, all rights reserved.
Permission is granted to copy this document as a whole or in part provided
that this copyright message is included in all copies.
RiscBSD X Window FAQ
====================
Sections 11 and 12 of the RiscBSD FAQ make up the RiscBSD X Window FAQ.
This FAQ is copyright (c) Rob Black 1995-1996, all rights reserved.
Permission is granted to copy this document as a whole or in part provided
that this copyright message is included in all copies.
Questions 8.6, 9.2, 10.2 copyright (c) 1996 Markus Baeurle
The authors of this document provides no warranty, express or implied, as
to the accuracy of the information contained here although all the
information is supplied in good faith.
$Id: FAQ.txt,v 1.10 1996/08/06 21:07:14 mark Exp $
------------------------------------------------------------------------------
Contents:
1. Basics of RiscBSD
Q 1.1: What is RiscBSD
Q 1.2: What type of machine is supported
Q 1.3: What are the hardware requirements
Q 1.4: What is the state of the A7000 port
2. Availability and Information
Q 2.1: When is the 1.2 release going to be available
Q 2.2: How is RiscBSD available
Q 2.3: Is there an FTP site for RiscBSD
Q 2.4: Are there any FTP mirrors
Q 2.5: How much does the CDROM cost
Q 2.6: Where can I get more information on RiscBSD
Q 2.7: Are there any mailing lists
Q 2.8: How do I contact the kernel team?
Q 2.9: Where do I get the sources
3. The RiscBSD distribution
Q 3.1: I have the Alpha-2 release: will I need to reinstall everything?
Q 3.2: What packages are currently available?
Q 3.3: What sizes are the current packages
4. Kernel matters
Q 4.1: Why is floating point so slow?
Q 4.2: How big is the kernel
Q 4.3: What processors does the kernel support
Q 4.4: How do I configure a custom kernel ?
Q 4.5: What are known kernel-related bugs in RiscBSD?
5. Device drivers
Q 5.1: What device drivers are available for standard RPC hardware
Q 5.2: What SCSI cards are supported
Q 5.3: What ethernet cards are supported
Q 5.4: Will there be 16bit sound support?
Q 5.5: Are there any other drivers under development/planned
Q 5.6: Are there any cards which are unlikely to be supported in the near
future?
Q 5.7: What about ATAPI CDROM support ?
6. Multiprocessor card (Simtec Hydra)
Q 6.1: What is the current status of multiprocessor card support?
Q 6.2: Will the card be used for running custom accelerators or full MP?
Q 6.3: Will it be possible to run RiscBSD on a slave processor in a RiscOS
window?
Q 6.4: Can the 486 card be used from within RiscBSD?
Q 6.5: What is the long term multiprocessor goal
7. Ported Software
Q 7.1: What software is available?
Q 7.2: Can I compile C++ under RiscBSD?
Q 7.3: What networking software is available?
Q 7.4: Is MudOS available?
8. Bugs and Errors
Q 8.1: Who do I report bugs to?
Q 8.2: savecore reports an error during multiuser startup.
Q 8.3: What does proc size mismatch error mean ?
Q 8.4: Global constructors in c++ code are not working
Q 8.5: What does "Possible process deadlock due to shortage of L1 page
tables." mean ?
Q 8.6: I have plenty of memory, but gcc complains about "virtual memory
exhausted" when it tries to compile a large source file.
9. How do I ....
Q 9.1: How do I add users the my system ?
Q 9.2: How can I use my ATAPI CDROM under RiscBSD ?
10. Performance matters
Q 10.1: How good is GCC compared to Norcroft C
Q 10.2: Why is my SCSI harddisk so slow?
11. The X Window System
Q 11.1: What is the minimum specification of machine to run X?
Q 11.2: What is the current state of X?
Q 11.3: Who do I report bugs to?
Q 11.4: What are the known problems and features of X under RiscBSD?
Q 11.5: Where is libXpm / xpm.h ?
Q 11.6: Is Motif available?
Q 11.7: Are programs compiled with Motif available?
Q 11.8: How do I set up xdm?
12. Troubleshooting X
Q 12.1: I get error messages about missing devices.
Q 12.2: Everything works if I'm root, but not otherwise.
Q 12.3: X is really slow to start up and so are some X apps.
Q 12.4: I get error messages about invalid keycodes.
Subject: 1. Basics of RiscBSD
Q 1.1: What is RiscBSD
A: RiscBSD is a port of NetBSD to the ARM6+ family of processors running in
32bit data, 32bit address mode. The official NetBSD port name is
NetBSD/arm32. RiscBSD is not just NetBSD/arm32 but builds on it adding
packages like X11R6 and hosts of other software to form a much more complete
system.
Q 1.2: What type of machine is supported
A: A Acorn RiscPC 600/700 or A7000 or a VLSI RC7500 motherboard.
Q 1.3: What are the hardware requirements
A: The latest release of RiscBSD including X11R6 requires a ARM6+ processor
with a minimum of 8MB DRAM and 300MB of disk space.
This answer is rather short and not very informative. I will extend it
shortly.
Q 1.4: What is the state of the A7000 port
A: RiscBSD is almost ready to run on a A7000. The only part of the kernel
that does not support the A7000 is the video memory and VIDC code. The
kernel bootstrap needs to be extended (half done already) to reserve
a chunk of DRAM for video memory on non-VRAM machines. In these cases
the VIDC20 must be programmed slightly differently to deal with DRAM
instead of VRAM.
A new PS2 style mouse driver has now been written for the ARM7500.
Subject: 2. Availability
Q 2.1: When is the 1.2 release going to be available
A: Soon. A 1.2-beta release is on the ftp site. This is based of the
NetBSD 1.2 beta release and is available for bug testing. As soon as the
NetBSD 1.2 release is available all the RiscBSD sets will be rebuilt for 1.2
and a RiscBSD 1.2 release will be made available.
Current estimates put that at within the month.
Q 2.2: How is RiscBSD available?
A: Currently RiscBSD is available in binary form by FTP. Some source code
may also be found on the ftp site but the core binary and kernel source code
can be found on any NetBSD mirror site. In addition a CDROM release is
RiscBSD is also being prepared.
Q 2.3: Is there an FTP site for RiscBSD
A: The official release site for RiscBSD is ftp.ph.kcl.ac.uk:/pub/acorn/RiscBSD
This site will contain the latest release of RiscBSD along with user
contributed software and various upgrades.
Q 2.4: Are there any FTP mirrors
A: The official mirror sites for RiscBSD are:
ftp.uni-stuttgart.de:/pub/systems/acorn/riscbsd/
and a side effect of the stuttgart mirror
src.doc.ic.ac.uk:/computing/systems/archimedes/collections/uni-stuttgart/riscbsd/
NOTE: The FTP site mortimer.cc.ic.ac.uk:/pub/riscbsd/ is closed
Q 2.5: How much does the CDROM cost?
A: It costs 25UKP + VAT on CDROM from Plingboot (no credit cards). Check
the documents directory on the ftp site for an order form. Orders should
be sent to :
PlingBoot,
50 Fordhook Avenue,
Ealing.
London
W5 3LP
Tel: 0181 993 2394
Fax: 0181 992 6735
Q 2.6: Where can I get more information on RiscBSD
A: Information on RiscBSD can be obtained from the official RiscBSD WWW site
http://www.ph.kcl.ac.uk/~amb/riscbsd/
Q 2.7: Are there any mailing lists
A: Yes. Currently there is a mailing list of RiscBSD users.
To subscribe to the mailing list, send an email message to
majordomo@netbsd.org
with the message body
subscribe port-arm32
Notification will be returned when you are subscribed.
To post messages to the mailing you should send mail to
port-arm32@netbsd.org
Q 2.8: How do I contact the kernel team?
A: The kernel team can be contacted either individually by email or by
sending an email to the kernel team mailing list core-riscbsd@tools.de
Alternatively there are email forms on the WWW pages.
Q 2.9: Where do I get the sources
A: The sources to the kernel and the core binaries can be obtained from any
NetBSD mirror site. Failing that they can be obtained from the master NetBSD
FTP site at ftp.netbsd.org. Mirrors of this site can be found at
ftp.demon.co.uk and src.doc.ic.ac.uk
Other sources may be found on the RiscBSD FTP site in the directory
/pub/acorn/RiscBSD/sources
Certain patches may be require to the standard NetBSD source tree and these
can be obtained from the directory /pub/acorn/RiscBSD/sources/patches on
the RiscBSD FTP site.
We would like to hold all the sources on the RiscBSD FTP site but are
restricted by lack of disk space.
Subject: 3. The RiscBSD distribution
Q 3.1: I have the Alpha-2 release: will I need to reinstall everything?
A: Yes, but not necessarily in one go. One of the main changes was
the execution address of binaries due to moving the start of user processes
address space from 4MB to 4KB. Current kernels support binaries compiled for
both address but in the future support will be dropped for binaries running
at 4MB. There are no changes to partition structures (as there were with the
alpha -> alpha2 upgrade) so re-partitioning etc. is not required.
Also the major numbers of a lot of devices were changed between the alpha2
and beta releases. The upgrade filesystem should update all the device
special files in /dev. You find find it necessary to run MAKEDEV manually.
Q 3.2: What packages are currently available?
A: The list of available sets for RiscBSD changes frequently as new sets are
added. The current list is as follows:
as252 OPT Binutils 2.5.2 as and ld
base REQ base distribution set
bash REC bash shell. (sh with added features e.g. line editing)
bison OPT GNU bison set
cc263 OPT GCC 2.6.3
cc272 OPT GCC 2.7.2
cdtools OPT CDROM tools
comp OPT compiler related distribution set
config REC Configuration scripts and set installer.
cvs OPT Concurrent versions system (source code management)
dip OPT Dialup Internet Protocol distribution set
etc REQ /etc distribution set
g++upgrade OPT G++ upgrade set for cc272
games OPT text console based games
gmake OPT GNU make 3.74 set
gs262 OPT GNU Ghostscript 2.6.2, postscript previewer set
gs262fonts OPT GNU Ghostscript 2.6.2 extra fonts set
gs353 OPT Aladdin Ghostscript 3.5.3, postscript previewer set
httpd OPT NCSA HTTPD 1.4.2 set
joe OPT joe 2.2 text editor set
jpeg OPT JPEG library and convertion tools
kern4049 REQ kernel revision 4049
kern4120 REQ kernel revision 4120
kern4121 REQ kernel revision 4121
kern4130 REQ kernel revision 4130
local REC local binaries and scripts
man OPT manual pages set
misc REQ miscellaneous distribution set
nfspatch OPT replacement NFS binaries for NFS V3
patch1 REC patch set for base upgrades.
perl OPT Practical Extraction and Report Language
shells OPT Extra shells set (tcsh, bash, zsh) (superceeded)
ssh OPT Secure shell
sup OPT Software Upgrade Protocol set
tcl OPT Tcl
tcsh REC tcsh shell. (csh with added features e.g. line editing)
text OPT text distribution set
tk OPT Tk
wuftpd OPT Enhanced ftp daemon
zsh OPT zsh shell.
x11r6 OPT X11R6 base distribution
x11r6man OPT X11R6 manual distribution
x11r6upgrade OPT X11R6 upgrade distribution (requires xarm16)
xarm15 OPT Xarm 8bpp Xserver release 15
xarm15m OPT Xarm 1bpp Xserver release 15
xarm16 OPT Xarm 8bpp Xserver release 16
xarm16m OPT Xarm 1bpp Xserver release 16
xarchie OPT X11 interface to archie
xaw3d OPT 3D version of the Xaw library.
xcontrib OPT X11 contrib programs
xdm OPT XDM config files
xfig OPT XFig, X11R6 drawing package
xftp OPT X11 front end to ftp
xmosaic OPT Mosaic WWW brower for X
xpaint OPT X11 paint package
xpixmap OPT Xpm editor
xpm OPT Xpm library for X11
xrn OPT X11 news reader
xutils OPT X utilities (xosview ..)
xv OPT XV 3.10 image viewer
axe OPT X11 text editor
axe3d OPT X11 text editor (with 3D widgit set)
chimera OPT X11 WWW browser
ctwm OPT CTWM window manager for X11R6
gview OPT Ghostview, X11 postscript previwer
fvwm OPT FVWM window manager for X11R6
knews OPT X11 Threaded news reader
The following sets have not yet been upgraded to a beta state
texbin OPT TeX binaries
texlib OPT TeX library stuff
xemacs OPT XEmacs
REQ - Required set
OPT - Optional set
REC - Recommended set
Note: The shell set has been superceeded by three separate sets bash, tcsh
and zsh.
Q 3.3: What sizes are the current packages
A: The list of available sets for RiscBSD changes frequently as new sets are
added. The current list is as follows:
Package Compresses size Uncompressed size
as252 226702 552960
axe 1413988 3215360
axe3d 1420020 3225600
base 20264305 46151680
bash 307598 788480
bison 123182 368640
cc263 2139990 5253120
cc272 2248013 5509120
cdtools 77026 ~112640
chimera 607375 1474560
comp 3110998 11335680
config 13407 ~92160
ctwm 600653 1925120
cvs 349075 849920
dip 112828 276480
etc 66160 348160
fvwm 1966783 4464640
g++upgrade 338183 N/A
games 4758402 10803200
gmake 234442 665600
gs262 786962 1925120
gs262fonts 1714119 3409920
gs353 1197290 3164160
gview 536189 1198080
httpd 382791 1075200
joe 204146 501760
jpeg 298992 716800
kern4049 544127 1167360
kern4120 568122 1259520
kern4121 569079 1259520
kern4130 574510 1269760
knews 545926 1218560
local 220187 512000
man 849382 3379200
misc 1776314 6021120
nfspatch 124099 276480
patch1 733362 1812480
perl 1534665 4904960
shells 802260 1945600
ssh 788971 1761280
sup 307490 675840
tcl 394703 1648640
tcsh 274719 655360
text 1277940 3952640
tk 1317293 4341760
wuftpd 231758 522240
x11r6 18800176 50964480
x11r6man 715160 1300480
x11r6upgrade 13768507 33331200
xarchie 601578 1392640
xarm15 829711 2170880
xarm15m 781669 2048000
xarm16 830602 2201600
xarm16m 781218 2037760
xaw3d 223506 829440
xcontrib 4039780 9123840
xdm 2778 20480
xfig 855736 1945600
xftp 666350 1628160
xmosaic 1264388 N/A
xpaint 679972 1679360
xpixmap 582800 1351680
xpm 401812 911360
xrn 583446 1310720
xutils 207884 N/A
xv 973846 2344960
zsh 223979 532480
Total ~104908382 ~265113600
xemacs 10613054 38768640 ** Alpha2 set **
NOTE: The uncompresses size is the size for the uncompressed binaries and
data files. It does not include filesystem overheads and block rounding.
Subject: 4. Kernel matters
Q 4.1: Why is floating point so slow?
A: Because all floating point instructions are emulated. RiscBSD uses a
floating point emulator from ARM Ltd and has the some core as the RiscOS
FPE.
Q 4.2: How big is the kernel
A: Typical RiscBSD kernels are somewhere around 1MB. The kernel running on
the machine this FAQ is being written on is 1.1MB This has all the basic
drivers, SCSI support, full TCPIP and NFS (PHARM & VOYAGER configurations).
If networking is not required kernels as small as 600K can be built. So far
the largest kernel that has been built was 1450K (GENERIC configuration)
Q 4.3: What processors does the kernel support
A: Currently the kernel supports ARM610, ARM700 & ARM710.
The ARM7500 processor core is supported but currently VIDC20 with no DRAM is
not.
The StrongARM is not yet supported yet. Work has started on added support
but this will not progress very far until a SA-110 is made available to the
kernel team.
Q 4.4: How do I configure a custom kernel ?
A: A kernel configuration guide (config_guide.txt) can be found in the docs
directory on the RiscBSD ftp site or one of its mirrors. This explains the
proceedure for installing the kernel sources, patching them as require,
creating your own kernel configuration file and compiling the kernel.
Q 4.5: What are known kernel-related bugs in RiscBSD?
A: There are still several bugs in the RiscBSD kernel.
The known bugs in bsd-4444 :
* Writing to DOS floppies often results in files which give disk errors
when reading them afterwards. Sometimes you can get readable files if you
don't mount the floppy but use the mtools.
* Due to timing problems, SLIP connections often suffer from silo and ibuf
overflows. The former seem to have reduced in favour of ibuf overflows.
This only reduces the performance of your serial connections.
* Occasionally, one of the indirect block address fields in an inode would
get trashed, which would result in the loss of the corresponding file.
The trashing is now prevented, but the bug causing the wrong value still
exists. This happens if you see a message saying: "ffs_update: bad
indirect addr on entry...", so you can ignore it.
* There are problems with printing running bsd-4444. They often result in
a complete crash of the kernel.
* There are still bugs in the console code due to ineffective resource
locking. This can cause a kernel panic (usually a data abort) on
console switching (This is a rare bug).
* The console vt100 and vt220 emulation is buggy.
* It is possible to crash the console code by running top and holding
down CTRL-L which forces screen redraws. For some reason a circular
list in the console code gets trashed.
Subject: 5. Device drivers
Q 5.1: What device drivers are available for standard RPC hardware
A: Device drivers have been written for the following devices. floppy, ide,
serial, parallel, keyboard, quadmouse, virtual consoles, simple beep (non
16 bit sound machines)
A ATAPI CDROM driver is planned for shortly.
Q 5.2: What SCSI cards are supported
A: Currently there are alpha stage polling drivers for Cumana SCSI II and
Powertec SCSI II cards. An alpha Oak SCSI I driver has been be completed.
A new Acorn SCSI I driver has now been written (04/03/96) that replaces
the existing alpha stage driver. This new driver is a low more reliable and
also supports interrupts. Other SCSI drivers planned (but not limited to)
are Morley, VTI and Yellowstone
Q 5.3: What ethernet cards are supported
A: Currently there are drivers for ether1, ether3/5, etherB and etherH
interfaces. Support for etherM interfaces is being looked into.
A driver for the 91C9X ethernet controller on RC7500 motherboards is also
supported.
Q 5.4: Will there be 16bit sound support?
A: Very soon. A driver is under development at the moment. Note machines
with 16 bit sound do not support the simple beep device as the beep device
uses 8 bit log sound which requires software emulation on the 16bit
hardware.
Q 5.5: Are there any other drivers under development/planned
A: Yes. Drivers for the simtec multiprocessor card, and vidcaudio are under
development.
Drivers are planned or under development for a number of SCSI and ethernet
cards (see 5.2 and 5.3). Drivers are also planned for the ISAadapter,
486 coproc, dual serial cards and several image digitisers.
A driver for the Yellowstone RapIDE podule is planned and work is expected
to commence shortly. Initial the driver will be written without using any
NDA material so will not achieve the maximum possible performance, but the
expected performance should significantly better than internal IDE driver.
In the future when LKM's are supported a high performance version of the
driver may be made available as an object file.
Q 5.6: Are there any cards which are unlikely to be supported in the near
future?
A: No specific cards. However unless the kernel team has access to a podule
or can get one on loan a driver is unlikely to be written for a podule.
Q 5.7: What about ATAPI CDROM support ?
A: Kernels have been built using the ATAPI code under development for
NetBSD. These kernels are still being tested an ATAPI kernel hopefully
will be available shortly.
Subject: 6. Multiprocessor card (Simtec Hydra)
Q 6.1: What is the current status of multiprocessor card support?
A: There are some hardware problems with the first prototype multiprocessor
card. We have a syscall which loads user code onto a slave processor and
runs it but the code eventually crashes (believed to be hardware related).
02/08/96 - I now have the latest revision of the multiprocessor board so
the code is being updated for the changes to the interrupts.
Q 6.2: Will the card be used for running custom accelerators or full MP?
A: We plan to have full multiprocessing capabilities within RiscBSD
(probably by the time that Simtec start selling the cards). An accelerated MP
FPE will probably be written for internal testing purposes but this is
unlikely to appear in a released kernel. Other interesting custom accelerators
would involve nearly as much work as making RiscBSD fully MP so there is no
intention to implement them at present.
Q 6.3: Will it be possible to run RiscBSD on a slave processor in a RiscOS
window?
A: We (the core team) have enough on our plate for the moment so we will not
be implementing it within the next six months. There has been a lot of
interest in it so I would guess that it will get done eventually (someone
has even volunteered to write bits of it, but he will need to wait until
the multiprocessor board is on sale). Another point to note is that it is
likely to run *very* slowly.
Q 6.4: Can the 486 card be used from within RiscBSD?
A: No. 3rd parties are welcome to try. There may be a driver written in the
future to aid communication with the 486 co-proc. Currently the information
on ARM<->486 communications is NDA thus making it difficult for 3rd parties.
Q 6.5: What is the long term multiprocessor goal
A: The eventual aim is to be able to thread user processes onto all the
processors on the multiprocessor board. This is a fairly major piece of work
and is likely to take a long time to complete. There is some SMP work
proceeding for the the Sparc 20 port of NetBSD and we hope that we may be
able to join forces with some of that development in order to speed the
development up.
Subject: 7. Ported Software
Q 7.1: What software is available?
A: Lots. A list of some of the more interesting (??) software currently
ported is: top, X11R6, fvwm, joe, xemacs, aXe, TeX, LaTeX, xdvi, xv,
xpaint, xanim, mpeg_play, knews, chimera, Mosaic, ghostscript .
See Q3.2 for a list of sets available for installation.
Q 7.2: Can I compile C++ under RiscBSD?
A: The cc272 set contains both a c and c++ compiler.
There were problems compiling c++ code with the older gcc 2.6.3 release and
with the original RiscBSD 1.1 comp set. These problems were fixed with 2.7.2
and the latest comp set.
Q 7.3: What networking software is available?
A: Most of the standard UNIX networking: telnet, nfs, news, www, ftp,
email, SLIP, PLIP, etc. RiscBSD can act as client, server or both in most
cases.
Q 7.4: Is MudOS available?
A: The MudOS source triggered a bug in the gcc 2.6.3 ARM-610 back-end.
This causes the code to either fail to compile or compile incorrectly
leading to strange errors when it runs.
Now that GCC 2.7.2 is available for RiscBSD the bug needs to be tested.
At moment the author (of this FAQ) does not know if this problem has been
fixed.
Subject: 8. Bugs and Errors
Q 8.1: Who do I report bugs to?
A: There are a number of places to report bugs to :
1. The mailing list. Reporting bugs to the mailing will bring them to the
attention of the kernel team and other users who may have encountered the
problem or who may encounter it.
2. The WWW bug report form. The bug report form should also be used to
report bugs. Reports sent via the form are sent to the kernel team member
responcible for that particular part of the kernel.
3. The core team. Bug reports can be sent to the core kernel team's mailing
list but normally the two above methods should be used.
4. Use send-pr (see the man page for more details). Problems with RiscBSD
or NetBSD/arm32 should use the port-arm32 category.
Q 8.2: savecore reports an error during multiuser startup.
A: This error can occur if the kernel you booted RiscBSD from is not the
same as the kernel /netbsd. NetBSD uses the kernel image in the file /netbsd
to lookup symbols names in order to read kernel variables via /dev/kmem. If
the /netbsd does not match the booted kernel then variables can be read from
the wrong locations. The first indication is normally savecore which makes
use of /netbsd to lookup the major and minor of the dump device.
Q 8.3: What does proc size mismatch error mean ?
A: There are two possible causes of this error. Q8.2 explains one possible
reason. The other is that that the proc structure in the kernel has changed
and this effects libkvm. Any binaries that use libkvm (ps, top vmstat etc.)
will need to be updated. If changes are made to the proc structure that will
effect libkvm then a kvm upgrade set/patch will be made available.
Q 8.4: Global constructors in c++ code are not working
A: A bug in the beta cc263 set meant that the gcc collect2 binary was
not installed. This binary is required by the the current linker (GNU
binutils 2.5.2) to handle global constructors and destructors in c++ code
As of 01/02/96 the beta cc263 set has been fixed to cure this problem.
If you are running a version of cc263 installed prior to 01/02/96 you should
re-install the set.
Q 8.5: What does "Possible process deadlock due to shortage of L1 page
tables." mean ?
A: The MMU required a level 1 page table for each process. Due to the design
of the ARM MMU, these page tables must be a 16KB physically continuous block
of physical memory on a 16KB physical boundry. Since the kernel VM system
cannot not dynamically allocate such block of memory, memory for the L1 page
tables has to be reserved at boot time. The "max processes" field in the
boot loader specifies the number of L1 page tables to allocate at boot. If
more than this number of processes are created then a shortage occurs. The
new processes are put to sleep until L1 page tables become available. This
will happen when an existing process terminates. During the sleeping period
system deadlocks can sometimes occur if none of the existing processes
terminate. The system will appear to freeze as none of the existing
processes can exit until the new processes start etc. Sometimes CTRL-C
can be used to terminate a processes running in the foreground.
As yet a solution to this problem has not for found that is satisfactory.
Q 8.6: I have plenty of memory, but gcc complains about "virtual memory
exhausted" when it tries to compile a large source file.
A: There are limits in NetBSD to keep programs from using too much of the
machine's resources. They can be viewed with "limit" ("sysctl -a | more"
gives more information kept by the kernel).
Type "limit datasize unlimited" or "unlimit" (this will remove all limits)
to allow gcc to grab more than 16 MB. You can also put this in your
shell's startup file, eg. ~/.cshrc.
Subject: 9. How do I ...
Q 9.1: How do I add users to my system ?
A: There are a number of ways of adding users to your system. They are :
1) Edit the master.passwd file adding an entry for a new user. Then
run pwd_mkdb master.passwd to rebuild the passwd database.
2) Use the command vipw. This allows you to edit the passwd file in vi
and will automatically rebuild the passwd database when you exit
3) Install the config set (Any version after 29/01/96).
Run the command /usr/local/sbin/rcm to invoke the RiscBSD configuration
Manager. There will be a menu option to add users. After selecting
this you will be prompted for details about the account you want to
create. The user will be added to the passwd file and the passwd database
will automatically be rebuilt.
Q 9.2: How can I use my ATAPI CDROM under RiscBSD ?
A: First make sure you have a kernel that supports ATAPI drives.
During device probing the kernel will report any ATAPI devices found if
it supports ATAPI drives.
Secondly you have to ensure that the device files in /dev are present:
Log on as root, then:
cd /dev
mknod acd0a b 20 0
mknod acd0c b 20 2
mknod racd0a c 20 0
mknod racd0c c 20 2
>From RiscBSD 1.2 onwards /dev/MAKEDEV will support makeing the acd devices
so you can use
cd /dev
/MAKEDEV acd0
You should then be able to mount a CD with:
mount -r -t cd9660 /dev/acd0a /mnt
Please note that ATAPI support is still in its beta stage.
Subject: 10. Performance matters
Q 10.1: How good is GCC compared to Norcroft C
A: So far the only performance tests conducted have been dhrystone
measurements. The results are shown below.
Dhrystones benchmarks
Processor: 30MHz ARM610
1000000 iterations -DHZ=100 -DTIME
GCC 2.7.2 options us/dhrystone dhrystones/sec
71.0 14085
-O 38.0 26316
-O1 37.0 27027
-O2 37.0 27027
-O3 36.0 27777
1000000 iterations -DHZ=100 -DTIME -DREG=register
GCC 2.7.2 options us/dhrystone dhrystones/sec
63.0 15873
-O 37.0 27027
-O1 37.0 27027
-O2 37.0 27027
-O3 36.0 27778
1000000 iterations -DHZ=100 -DTIME
GCC 2.7.2 options us/dhrystone dhrystones/sec
-O -fomit-frame-pointer 32.0 31250
-O1 -fomit-frame-pointer 32.0 31250
-O2 -fomit-frame-pointer 32.0 31250
-O3 -fomit-frame-pointer 31.0 32258
1000000 iterations -DHZ=100 -DMSC_TIME
us/dhrystone dhrystones/sec
Norcroft C V4 32.0 31250
Norcroft C V5 25.6 39093
Summary
Results indicate with optimisation greater than -O the use of the
register keyword does not aid performance.
Results indicate that there is very little (if any) performance gain
between the optimisation levels -O, -O1 and -O2. -O provides a significant
performance increase over no optimisation. -O3 does provide a small
increase over -O2. Further improvements can be obtained using the
-fomit-frame-pointer option.
NOTE: Omitting frame pointers means that a binary cannot be debugged or
traced so any program crashes etc. cannot be traced. -fomit-frame-pointer
should not be used in conjuction with -g.
GCC 2.7.2 can produce code as efficiently as Norcroft C V4 but Norcroft C V5
produces much better results.
Q 10.2: Why is my SCSI harddisk so slow?
A: This is due to the fact that the drivers for the Cumana and PowerTec
cards are polling only at the moment. There were problems with interrupt
handling which are almost fixed now, so these drivers should become interrupt
driven soon.
Subject: 11. The X Window System
Q 11.1: What is the minimum specification of machine to run X?
A: In addition to the minimum specifications to run RiscBSD, X requires quite
a bit of memory. It is recommended that you have at least 12Mb of RAM and at
least 24Mb of swap. You will also need over 60Mb of disk space to install X.
Q 11.2: What is the current state of X?
A: X for RiscBSD is version 11, release 6 of the MIT X Window System. All the
libraries of the base distribution have been ported and an X-server (the bit
which controls the display hardware) is in the process of being written.
Snapshots of the current X-server are released periodically. The X-server is
usually referred to as Xarm-<snapshot number>. If you upgrade to a new X-server
it should be installed as /usr/X11R6/bin/Xarm. The only way to find out the
version number of an installed Xarm is to run it. It prints out its version
on the text console as it starts up.
Q 11.3: Who do I report bugs to?
A: Bugs should be reported to r.black@ic.ac.uk and the RiscBSD mailing list
(port-arm32@netbsd.org). Alternatively the bug report form on the WWW site
can be used.
Q 11.4: What are the known problems and features of X under RiscBSD?
A: Here is a list of features of Xarm extra to RiscBSD:
* Numeric keypad acts as a mouse
* Virtual terminal switching - X is on ALT-F9
* xpm displayed on startup (/usr/X11R6/include/X11/pixmaps/Xserver.xpm)
this must use numeric respresentation for colours. xv usually produces
suitable pixmaps.
Here is a list of features not supported fully by Xarm:
* Autorepeat is fixed rate and cannot be switched off.
* No screensaver.
* Mouse acceleration is not configurable.
* Only 8bpp modes are supported by the standard Xarm. A specific mono Xarm
is available on request but it doesn't work with most kernels.
* The only working lock key is Caps Lock.
The following are known bugs:
* Autorepeat sometimes inserts three characters instead of one.
* Virtual terminal switching does not work properly on many combinations of
Xarm and RiscBSD kernel versions. The workaround is to waggle the mouse after
attempting to switch back into X with ALT-F9. Then press ALT again and release
it so that X gets a key-up event.
* ALT key can appear to be stuck if the console is switched. Pressing the
ALT keys after switching in X will cure the problem.
Q 11.5: Where is libXpm / xpm.h ?
A: libXpm is not part of the standard X11R6 distribution. It is a separate
package so you need to download it separately.
Q 11.6: Is Motif available?
A: No. Motif is a commercial package and we can't afford a source license to
port it. At some time in the future Lesstif will be used instead but for the
moment Lesstif does not support much of the functionality required. You are
likely to be able to compile things 'out of the box' using Lesstif instead of
Motif by Q4 1996.
Q 11.7: Are programs compiled with Motif available?
A: There are no license problems with distributing binaries which are
statically linked using the Motif runtime executive provided that the
person who linked them has either a Motif source or library license
(in practice this means a source license).
Q 11.8: How do I set up xdm?
A: You need to do a lot of reading of the manual pages. At some time in the
future I will stick together some sample configuration scripts. The samples
supplied with X11R6 as standard do not work properly with RiscBSD.
Subject: 12. Troubleshooting X
Q 12.1: I get error messages about missing devices.
A: This means that either Xarm is incompatible with your kernel or you are
missing some files from the /dev directory. To create device files cd to /dev
and type './MAKEDEV all' (as root).
Q 12.2: Everything works if I'm root, but not otherwise.
A: This means that the permissions on Xarm are wrong. Type the following:
'cd /usr/X11R6/bin; chown root Xarm; chmod u+sx Xarm'
Q 12.3: X is really slow to start up and so are some X apps.
A: The floating point emulator under RiscBSD is less than optimal. Font
handling uses a lot of floating point maths. The fonts are converted into
bitmaps when various applications start up.
Q 12.4: I get error messages about invalid keycodes.
A: You are using a pre-beta Xarm with an beta kernel. Upgrade Xarm to #14
--------------------------------------------------------------------------
$Log: FAQ.txt,v $
Revision 1.10 1996/08/06 21:07:14 mark
Updated questions 1.2, 1.3, 2.1, 2.4, 2.7, 4.1, 7.2, 11.1, 11.3 and 11.4
Removed questions 3.4 and 4.2
Added questions 4.5, 8.6, 9.2 and 10.2
Various other miscellaneous changes.
--
Mark Brinicombe amb@physig.ph.kcl.ac.uk
Research Associate http://www.ph.kcl.ac.uk/~amb/
Department of Physics tel: 0171 873 2894
King's College London fax: 0171 873 2716