============================================= Installing Debian Linux on a RiscPC version 2 ============================================= Original: 7th September 2000 Updated: 12th September 2000 - Some Additions and corrections Updated: 24rd September 2000 - Completion of some missing sections and updates Updated: 20th January 2001 - Rewritten X section, some other updates Based upon "Installing Debian on a RiscPC". (c) 2000, 2001 Peter Naulls. May be reproduced or modified for any non-commercial purpose as long as credit to the original author remains. May not be reproduced commercially without permission. email: peter@erble.freeserve.co.uk Please note that this document is incomplete, and some minor points in it are not quite correct. However it is being continually updated. The latest version of this document can be fetched from: http://www.erble.freeserve.co.uk/ Foreword ======== The phrase "standing on the shoulders of giants" remains as true in the case of this document as at any other time. Debian Linux on ARM machines would not be possible without the work of Russell King (for ARM Linux itself), Jim Studt and Jim Pick (for significant parts of the Debian ARM effort) and the Debian boot floppies team, whose work upon much of this document rests (plus numerous others who invariably remain unnamed). Note: "disk" is how I spell it. I'm neither English nor American, but since this is aimed at UK readers, spellings are largely English. Introduction ============ The first version of this document described how to install Debian on a RiscPC using a Debian base image bootstrapped from RiscPC Redhat boot floppies, and then various hacky operations. This was how I installed Debian on 3 different machines, and it works, but is error prone and just plain fiddly. This document makes use of proper Debian boot floppies, which are designed to be used in a variety of situations, are far more flexible, and configure a number of items for you. This document is broken into 3 parts: - Preparing your machine for Debian Installation. - Running and Using Boot Floppies to install Debian - Configuring and getting a full Debian system up and running The third section may be of particular interest to those who've previously installed Debian using version 1 of this document as it addresses many common questions on newsgroups. If you're in this category, please note that installing this version from scratch will not gain you anything. This document is very much work in progress - I'm hoping it will become a full reference for running Debian Linux on Acorn and Acorn-based machines. If a question isn't answered, you can check back in a few days to see if it has - or if you see the answer, you could suggest I add it. WARNING: What follows is given in good faith. Nearly everything described here I have tried successfully on one or more occasions. I cannot, and will not,take responsibility for any loss of data as a result of following the information which follows. You should always make backups of your data, regardless of what you're doing. You have been warned. Debian ====== If you're still wondering what this is all about, allow me some futher explanation. Debian is a Linux distribution, not unlike Redhat, Corel, SuSe or numerous others. Debian ARM is not to be confused with ARM Linux; ARM Linux is the underlying operating system upon which Debian ARM sits (and also on which Redhat for ARM sits). So why Debian? The only other Linux distribution (currently) available for ARM machines is Redhat. In recent times, there has been only limited effort to compile packages, and futhermore, many programs are compiled using StrongARM half-word loads, which aren't supported by the RiscPC's I/O system. Redhat is also considered by many to be very PC-oriented, while Debian is much more multi-architecture oriented. Debian has thousands of packages, of which the ARM ones are (mostly) up to date, and work well on RiscPCs. For more information, this page may be informative: http://www.uk.debian.org/News/2000/20000815 Why Install ARM Linux? ---------------------- If you're still asking this question, then probably you don't want it. I'm not here to advocate Debian, Linux or ARM Linux; only to provide as simple a way of doing so if you choose to do so. If you think that large downloads and repartitioning your harddrive are way too much hassle, then thay may be enough reason to turn you away. On the other hand, if you've got a spare drive or space kicking about, and like to fiddle, then that may be all the reason you require. It's Big -------- If you're planning to download Debian (rather than install from CD), then note that the installation files are ~20Mb. A further 54Mb of files is required to give standard base Linux functionality. Even more is needed if you want X Windows, or other programs. This might be all very well if you have a cable modem like I do (or even better, a local Debian ARM mirror, which is 1.5Gb), but may not be a whole lot of fun on a dialup connection of any speed. Let's go. Preparing Your Machine ====================== You Will Need ------------- Processor: You will probably need a StrongARM RiscPC. Some aspects of Debian may not work on ARM610/710 machines. I don't have either of these, so can't comment on specifics, but see discussions on ARM Linux and Debian ARM mailing lists (end of document). It may work on ARM7500-based machines, but I do not have access to one of these either. At the time of writing, ARM Linux for RiscStations is not quite complete, but is being frantically worked upon. Owners of lesser machines should stick to current Redhat versions - see the ARM Linux pages. You'll almost certainly want some VRAM too. Memory: More is good, lots is better. X Windows will probably be a waste of time if you've not got at least 16Mb. A 50Mb machine will give good performance. Net Connection: A fast net connection will make your life oh so less painful if you wish to keep up with frequent Debian updates, and the initial install files aren't a small download either. ARM Linux works with most Acorn network cards - in particular, it works with Ether1, Ether3 and EtherH. Plenty of people using Debian make do with modems too, of course. It can incidentally use DHCP, as used by ntl (and others) for cable modem IP configuration. Hard Drive and Partitioning: Partitioning is perhaps the most crucial ascpect of any Unix install, and on a RiscPC this is no exception. If you haven't got one already, get a fast disk interface! It'll make your RISC OS experience better, and it'll almost certainly help performance in ARM Linux. ARM Linux works with ICS and APDL IDE interfaces, and most SCSI interfaces. It doesn't work with RapIDE unfortunately. ARM Linux can access various kinds of partition schemes, and also read from Filecore formatted drives - this means you can access your RISC OS files from Linux. At this time, it can't understand RISC OS 4 long filename formatted partitions, however. To sensibly install Debian and use basic facilities or just try it out, you'll need 500Mb of disk space. If you really want to use it though, you'll need 1Gb. It all depends upon what you install of course. Due to current limitations of Debian boot-floppies, Debian can only be installed using them onto ADFS (ARM Linux Paritioning) or DOS partitioned drives. This will change in the near future to support ICS/APDL. This is a limitation of boot floppies, not of ARM Linux, which understands all the major partitioning systems. It may be appropriate to devote an entire disk to Linux - this also reduces the chance of catastrophe with partitioning errors, and stops you having to make a backup of your existing RISC OS data. A portition (and indeed, a partition) of the space you use for ARM Linux will be swap space. The rule of thumb is slightly more than your memory, although sometimes twice may be pertinent. More is better than less. 50Mb of swap will be reasonable for a 32Mb machine. Due to miscalculation, mine has 250Mb, and this causes no ill-effects. Here are the actions you should take for various partitioning schemes. ADFS Partitioning: Even if you intend to devote an entire drive to ARM Linux, it may be wise to make a reasonable sized ADFS partition on it. 50Mb is good. Run HForm, and choose to format to less cylinders than the whole disc (a cylinder is 512K, so 100 cylinders for 50Mb). Once formatted, use !PartMan to add first Swap partitions and then Linux partitions to the remainder of the drive. You'll be given the option later to format these. DOS Partitioning: Don't do anything in RISC OS, wait until you get into boot floppies and use the partitioner it provides (which only understands DOS). It is possible if a drive has previosly been partioning under one scheme that trying to repartition it under another will confuse the formatter or partitioner for another scheme. In this case, the best course of action is to blank the boot sectors - I will be providing a utility for this in the future. Install Files: Despite the name, Debian boot floppies requires no floppy disks to install from (on a PC you require 5 floppies). The reasoning behind this is: (a) One floppy is required to boot any kind of OS on a PC and includes the Linux kernel, but ARM Linux is launched from RISC OS using a seperate boot loader. (b) The second floppy contains the root filing system (including the boot floppies programs). Even though there is a disk image for this, it is possible for this to live on a harddrive and be specified as the initial RAM disk. (c) The 3 remaining floppies contain drivers for the multitude of PC hardware. Since the range of Acorn hardware is more limited, I felt it sensible to simply compile (nearly) everything into the boot kernel. In addition to the boot image and kernel, you will also need the base image - this is not the same as the image used in version 1 of this document, so don't try and use it. This image lives at: ftp://ftp.arm.linux.org.uk/pub/armlinux/people/chocks/boot_images There are a number of ways to access this during install: Download it beforehand, and put it somewhere visible to the Linux install, such as non-RISC OS 4 filecore disk, an ATAPI Zip drive or another machine accessable over the network via HTTP or NFS. Access it via HTTP from URL above during install - note that boot floppies are not capable of direct FTP fetches, you'll have to go through an HTTP proxy. You'll also need a direct connection for this - boot floppies are not capable of dialling and connecting with a modem during the initial part of the install. Load the files base14-x onto floppies using !WriteDisc - you'll need 11 floppies though. (not available yet) The full list of files is: Linux boot loader: (45Kb) ftp://ftp.arm.linux.org.uk/pub/armlinux/arch/rpc/tools/linux.arc Partition manager: (50Kb) ftp://ftp.arm.linux.org.uk/pub/armlinux/arch/rpc/tools/partman.arc Kernel and Launching files: (1701K) ftp://ftp.arm.linux.org.uk/pub/armlinux/people/chocks/ROboot.zip Base Image: (15Mb) ftp://ftp.arm.linux.org.uk/pub/armlinux/people/chocks/boot_images/base2_2.tgz Drivers: (195Kb) ftp://ftp.arm.linux.org.uk/pub/armlinux/people/chocks/boot_images/drivers.tgz Rescue Image: (1440Kb) ftp://ftp.arm.linux.org.uk/pub/armlinux/people/chocks/boot_image/images-1.44/rescue.bin The boot loader and partition manager can go where you like. Unpack ROBoot.zip in the same place. Unless you know better (as a veteran of Debian installs), and wish to point the install at them, place the rest of the files on your non-RO4 filecore partition on your ARM Linux disk. You should have the follow structure: $. dists. potato. main. disks-arm. current. base2_2/tg(z) drivers/tg(z) images-1/4(4). rescue/bin The boot floppies are designed to deal with the 10 character truncation that occurs on pre RISC OS 4 formatted drives - the letters in brackets indicate letters which may get lost under this formatted. If you are using a DOS partitioning system, you'll need to make other arrangements. Time and Patience: Assuming quick access to install files, installation of a full Debian system takes myself around 20-30 minutes (much of which is spent waiting). However, I've installed it many, many times before. Give yourself 2-3 hours; it may take even longer than that if you take the time to understand what's happening at each stage. Assuming you've properly partitioned your drive, it's exceptionally difficult to make the install go wrong. It's also quite hard to put a running system into a state where it can't easily be fixed. Debian Concepts =============== This section explains some of the ideas about the way a Debian system works. It is crucial you understand the concepts in this section, at least in a broad sense at this point, to enable you to use Debian properly. Debian uses a packaging concept. All programs are installed from one or more packages. These packages may have "dependencies"; that is, they require other programs to be present for their functionality. For the current release of Debian, there are around 6000 of these packages. A few of these are installed by this installation system for core funnctionality, but most are left up to the user to install when they require. The packages themselves are compressed archives containing files belonging to a program or set of programs, and some control files. These are identified by a ".deb" extension. Packages are located in repository - usually an FTP or HTTP mirror, or on a CD. In the UK, there are three main Debian mirrors: ftp.uk.debian.org (UK Debian site), mirror.ac.uk (UK Mirror site, formerely Hensa) and sunsite.org.uk (UK Sunsite). On these sites, there are normally two versions of Debian - "stable" is the current release version, also known as "potato", and "unstable" is the current release version, also know as "woody". During release time there is a furthur version, "frozen", which becomes stable when it is released. This was the case with potato earlier this year when it was released. You also see references to slink, which was the previous version of Debian, and sid, which is provided for new architecture ports. The naming scheme derives from toy story characters. You can expect the stable version to stay the same, but the unstable version often has software added or updated nearly every day. At the time of writing, the i386 version has nearly 10000 packages available (ARM lags behind somewhat). There are 3 main tools for dealing with packages in Debian (although many more build upon their functionality). dpkg is the base tool for installing packages, and looking at package status. To install a package, the normal method is "dpkg -i ". Usually, however you wouldn't use this directly, but you would use apt-get to satisfy all the dependencies. Common usage is "apt-get install ". This command would not only download and install the package itself from a mirror, but also fetch any packages it was dependant on and install those. Installing a package using dpkg without first meeting the dependencies results in the package being unpackged, but remaining unconfigured. The third tool is dselect, which provides a menu-driven interface for selecting packages to install. dselect is notoriously difficult to use for beginners to Debian (whether seasoned Linux users or not), so I recommend not using it immediatly until you understand how packages interact. Once you do understand how dselect operates, it is very easy to use. There are some special packages that don't actaully contain any programs themselves, but depend on a set of other packages to perform a "task". For example the package task-x-window-system-core installs packages for basic functionality for X Windows. Further down in this document we'll use these tools to help setup our new system. Installing Debian ================= I hope you've got a printer - you'd best print out the following, as you'll need to refer to it. To begin, make sure you've saved anything important on your desktop, then run the DebianInstall obey file, choosing option 2 from the menu. All going well, Linux will boot to a Debian splash screen. If you've installed Debian on a PC, this section will be very familiar to you - just note that some sections are skipped, since they are not appropriate. After the banner, you're presented with the main install menu. I'll assume the reader is sufficiently capable to operate this, so will only describe the selections to be made. Note that you can reboot to RISC OS by pressing Ctrl, Alt and Delete together (like Windows), or choose the option from the menu. Keyboard selection - choose the RiscPC option unless you want to play "guess the keymappings" (and hence the reset above won't work). Other options are appropriate to the other main Debian ARM platform, NetWinders. If you're planning to use DOS partitioning, you'll now have an option to do that by choosing the partition a Hard Disk option, which will launch cfdisk. I won't explain it here, because it's quite simple, but one point to note is to ensure exactly one partition is set bootable. Initialize and Activiate Swap Partition - when you choose this, you should see a single partition to choose. Doing a bad block scan is probably not worthwhile. Initialize a Linux Partition - much the same, with the additional option to retain 2.0 compatibility. If you wish to be able to access your partition from RISC OS, you should choose to retain this. Otherwise, it doesn't matter. Install Operating System Kernel and Modules - if you've put files on your filecore partition, you should be able to select "harddisk" as the medium. If you want to install from network using HTTP or NFS, then I'll leave that up to you to work out. You'll get a list of your ADFS partition(s), one of which you put your directory structure on. The /instmnt setting is correct, unless you know better - press ok. At this point you'll get a number of options. If you do _not_ get a "default" option then that means the boot floppies could not find the install images. Go back to RISC OS and check you have set them up correctly. After some chugging, you'll be able to choose to Configure Device Drivers - this option is not very useful currently for RiscPCs - choose Exit to finish this immediately. Configure the network - if you have a network connection you'll be able to fill in your IP and so forth; otherwise, the options to fill in will be more limited. Install the base system - follow the same steps for installing OS and modules above. There will be a fair bit more chugging, because it's a large file. Configure the base system - The timezone you probably want is GB - this is in the right hand list. Make Linux Bootable - this is currently non-operative option - in future it may have some functionality; instead, choose to Reboot the system, and you should shortly be returned to RISC OS. Note that ARM Linux can confuse APDL IDE cards after rebooting. *podules shows "Simple type &C". You'll have to power-cycle your machine to get control back. Running Debian ============== Running for the first time -------------------------- Edit the Obey file DebianRun to point at your Linux root partition. /dev/hda4 may be correct, but it will depend upon exactly where you installed it. Use the obey file DebianRun to launch, and all being well, Linux will boot, and serveral programs run to configure final options. It will however, get stuck running the "Setting the system clock" program, which you can press Ctrl-C to get past. See later for how to disable this. This will also prevent a proper shutdown too unless you fix it. md5 and shadow passwords - defaults are fine, unless you know better. root password - choose something secure, obviously. User Account - make yourself an account now, with another secure (but different) password. Removing the pcmica package - this is bogus, press yes. PPP Connection to install the System - I have briefly tried this option. There appear to be a number of issues with, and I couldn't get it to work; you may try it if you dare. Apt configuration - You can configure this now if you like, and it's probably easier, since it configures this automatically. If you want to leave package configuration until later, you'll need to edit the file /etc/apt/sources.list. You can either do this directly with a text editor, or from within dselect (choose the first option). If you want to avoid this option, choose Cancel, and then Simple. [ Work in progress - Sorry ] There will be some more chugging, and some text, and finally a "Have fun" dialogue, followed by a Linux login prompt. Well done, Basic Debian configuration is complete. To do anything interesting, you'll need to install some packages though. Be sure to read the section on editors first. But to start with, you probaly want to remove the offending file that caused the boot to pause (and shutdown will not complete). Once you've logged in as root: mv /etc/init.d/hwclock.sh /root Using an Editor --------------- The basic Debian install comes with two editors - ae and vi. vi, all told, is exceptionally bad for beginners, but you should probably familiarise yourself with it at some point anyway, if only so you know how to quit from it (escape, !w). ae is very simple, but will get you started if you need to edit anything (and you probably will). Most people use either vi or (x)emacs in Linux. You should certainly install emacs or xemacs at your first chance. Debian also has many other editors packaged. Normal Users and Root User -------------------------- For normal usage, it is common Unix wisdom to not use the root account except for administration purposes (some would say unless you can really help it). Most of what follows falls into this administrative category. How to Connect to the Internet ------------------------------ If you've got an ethernet connection, you should have already configured your connection and have no problems. However, if you've got a modem, then you'll need to download (from another OS/Machine obviously) some bits. The first required package is ppp - this is installed along with boot floppies - if you've got an ethernet connection, you may even care to remove this. The second is a dialler - I strongly reccommend wvdial, since it's very easy to configure: http://ftp.uk.debian.org/debian/dists/potato/main/binary-arm/comm/wvdial_1.41.deb You'll need to put this on something ARM Linux can read - a floppy will suffice, or a Filecore disk. Once in Linux, you will perform something like the follwing sequence (as root) mount /floppy dpkg -i /floppy/wvdial_1.41.deb (possibly truncated) Then follow onscreen instructions - it's reasonably simple. Type "man wvdial" if you get stuck. X-Windows ========= You'll need to install a number of packages to get X up and running. The easiest way is to install the package task-x-window-system-core and a window manager (the task package installs twm, which is very simplistic). Although there are plenty of more sophisticated window mangers for X which you can install later, I suggest beginners install the fvwm package. When xserver-fbdev installs, answer yes to it becoming the default X server. The normal method of configuring X Windows on a PC is to use the XF86Config program which deals with the multitude of PC hardware. On an Acorn, there's a much more limited range of hardware, and the XF86Config probably won't work. It is merely sufficient to place the following file in the dir /etc/X11/ ftp://ftp.arm.linux.org.uk/pub/armlinux/people/chocks/XF86Config Mouse ----- The mouse must be correct for X to work. If it isn't, X will crash in short measure. The Debian install doesn't create a mouse device. RiscPCs use a bus mouse, similar to that on Sun machines. As root, do: mknod /dev/sunmouse c 10 6 It is customary to create a soft link /dev/mouse point to the current mouse device. Since this is referred to from the X configuration file, you will also need this: ln -s /dev/sunmonse /dev/mouse It is also possible to use serial mice too. You'll need to alter XF86Config to do this. At the time of writing, I use a Logitech serial mouse. Additonally, I know of one report of a problem with mice on PS/2 adapters whereby X spuriously crashes. Controlling the Resolution -------------------------- Unfortunately, X suffers several bugs on Acorn machines - these have fixes in the pipeline, but have not yet made it to Debian packages. Firstly, the frame buffer X server that Acorns use will crash if it can't find a matching resolution the XF86Config file. Since the console on which X runs (7) is initially set to 640x480 it will need to be changed (as root): open -c 7 fbset 1024x768-75 You can switch to console 7 with Alt-F7 to check - you should be able to just see a smaller cursor. If you've installed fvwm, then you should make an .fvwm directory first (logged in as yourself): mkdir .fvwm Then you should be able to start X: startx X Still Not Working? -------------------- Some things will prevent X from working properly: gpm - gpm is a mouse driver for X consoles - it allows you to copy and paste text. While you can certainly make gpm and X work together, in some cases it will confuse X, and its access to the mouse. In the first instance, you should remove it if you're having problems: dpkg -r gpm xdm - X Display manager. This provides a passworded login display for X. Unfortunately, it doesn't currently work on ARM and will crash if you try to run it. If you'd like a login manager, gdm is good choice. It's part of the Gnome X Windows layer, but will work by itself. X won't restart - you'll need to rerun the command above to set the resolution, unless you're using a login manager such as gdm. Running X --------- "X has started. Now what?" Try the mouse buttons to bring up various menus. The first thing to try is to open an xterm from the menu option. "There's no menu option for a terminal (xterm)/The terminal won't open" Make sure you install the xterm package. You might like to also try gnome-term and rxvt. "Help, Backspace doesn't work!" Try this command: xmodmap -e "keycode 60 = BackSpace" "I really don't like that chequerboard backdrop" Try this command: xsetroot -solid darkblue "If I type in a command in an xterm like xclock, I don't get control back" Add an '&' after your commands. e.g.: xclock & "How do I exit X?" You window manager will probably provide an exit option. You may also use Ctrl-Shift-Backspace; careful though, this has the immediate effect of killing off your entire X session. "How do I run programs when X starts?" You can edit Window manager-specific scripts (see the man page for details). Alternatively, you can create a .xinitrc file in your home directory. If you're using a login manager, it will be called .xsession instead. You may care to symlink one to the other: ln -s .xinitrc .xsession "What's a good editor for X?" You can use any editor you can use on a console. Emacs and XEmacs also provide GUI versions of themselves when they are run. I suggest XEmacs, but it may be heavy duty for some tasks. Some versions of vi are geared towards X too. "I've used 'su' in X to become root, but I can't run X programs as that user." Try: xhost localhost "I want display X programs running on another machine on my RiscPC's X display". From RiscPC: xhost remotemachine From 'remotemachine' export DISPLAY=myriscpc:0.0 xclock & Similary for running on your RiscPC and displaying in RISC OS and Windows X Servers. Accessing Debian Files ====================== To read RISC OS files you can mount filecore partitions, for example: mount -t adfs /dev/hda1 /mnt By itself, this will only make the files visible to root. To make it visible to other users, use something like this instead: mount t adfs /dev/hda1 /mnt -o ownmark=744,othmask=774 See the man page for mout for details of these options. I've added an extra option to the ADFS filesystem handling in Linux (comma), which adds an ,xxx for the filetype onto filenames - this is useful over an NFS or Samba mount to RISC OS. This should appear in future versions of ARM Linux. If you wish to make this mount permanent, add it to the file /etc/fstab. e.g.: /dev/hda1 /adfs adfs ownmask=774,othmask=774,comma 0 0 To read Linux files from RISC OS, you can use IcsaFS: http://inkvine.fluff.org/%7Eforrey/linux-arm.html This gives you read-only access to an ext2 partition. Note that this sometimes fails on large drives, and only supports the ARM Linux partitioning scheme. To serve files to Windows or RISC OS networked machines then you'll probably want to install either an NFS or Samba server. With NFS, you'll probably want the pcnfs program too for authentication. For serving files from RISC OS, the best option may be SmbServer: http://www.merddin.demon.co.uk/riscos.html And accessing this with the Linux samba client. Windows shares can be accessed in the same manner. You can of course use traditional TCP/IP methods such as FTP or HTTP too. Debian on CD ------------ Aleph1 provide Debian ARM Linux on CD. You may even been reading this document off that CD: http://www.aleph1.co.uk/ There are some minor iconsistencies between various pieces of the install. For this reason, you should try and use either all my files for the install, or all theirs for the initial part of the install (that is, up to the point where you reboot). Otherwise these instructions are largely relevant to both, and if you 've first installed using my files, then there will be no problem installing packages off the Aleph1 CD (or any other ARM Debian CD). Quick FAQ --------- Q. How do I add/create accounts? A. Use the adduser command. For finer handling, use the vipw command to edit the /etc/passwd file. This will use vi as an editor, unless you set the environment variable EDITOR. Q. Help, I broke my setup, I can't log in/start up properly/whatever. A. If you haven't shutdown properly, fsck may be complaining - follow the instructions to fix the problem, and then reboot. If you've really broken your set up, then use the boot floppies as you would to install, then you'll be able to mount your partition, and use ae to fix the problem from within a shell. Q. I accidentally deleted a file, what should I do? A. Sorry, ext2 like Filecore, doesn't do undelete. You should always keep regular backups. Q. How do I access my CD-ROM drive? A. If you've got an IDE drive, it'll be named hdX, where X is a, b, c... SCSI drives will have slightly different names. It is customary to create a softlink to this, for example: ln -s /dev/hda /dev/cdrom You should then be able to type "mount /cdrom" (given a properly set up /etc/fstab). "umount /cdrom" to unmount the drive. Q. How do I access my floppy drive? A. See above question on CD-ROMS. The floppy is normally a link "/dev/floppy" to "/dev/fd0". Q. Why do I have a huge vertical virtual resolution in X? A. There's a interaction problem between XFree and the ARM Linux frame buffer, related to the way hardware scrolling is handled. This is currently being looked at. Nicholas Clark has a fix which works for him - you may care to contact him. Q. Why does apt-get crash? A. This is a known GCC bug. Work arounds are (a) invoke it from dselect, (b) recompile it without optimisation (c) locate an older version. Q. Why does fsck crash? A. There's an apparent compiler bug affecting the kernel and provoked by this program. This is being invesitagted. Thw work around is to boot the Debian install system, and manually mount and run fsck from that. Q. Why doesn't Kaffe work? A. Someone's bodged the trampolining for unknown reasons. Remove the crowbarring on line 34 of config/arm/trampolines.c Q. Kaffe still doesn't work? A. "Illegal Instruction" - someone's broken something in 1.0.6. 1.0.5 seems to work ok. Q. How do I compile my own kernel? A. See the FAQ on the ARM Linux pages. Q. Can I cross-compile programs on my Linux PC? A. Yes, search the ARM Linux mailing list/web for instructions on how to create a cross-compiler. Q. I found a bug in a Debian package, who do I report it to? A. Look at the bug report instructions on the Debian pages. You may care to install the "bug" package. Q. I found a bug in ARM Linux, who do I report it to? A. The ARM Linux mailing list. Q. I found a bug in Debian boot floppies, who do I report it to? A. In the first instance myself. Or, if you think it more appropriate, you can post it to the debian-boot mailing list. I can pass problems onto this too. Q. Packages seem to be missing from my favourite mirror site? A. Sometimes it seems that not all the files get mirrored properly - try again the next day. Other times, the maintainer has forgotten to upload the appropriate packages (or versions of those packages). Additionally, some ARM packages rely on packages which no one has bothered to compile and upload yet. If there's an ongoing problem, you should file a bug against the offending package. Q. Can I use Linux 2.4 on my Debian RiscPC? A. Yes, my machine currently runs 2.4.0-test5. Q. Can I use my machine as a masquerading gateway? A. Yes, for Linux 2.2, see the masquerading HOWTO, for 2.4, see the NAT HOWTO. Q. How can I share files with my other PC/RiscPC machine over a network? A. From Linux to other - NFS or Samba Server, from other to Linux - Samba Client. Q. Can I run Helix Gnome on my machine? A. Yes, Debian contains reasonably new Gnome packages. Q. Can I run KDE/Elightenment on my machine? A. Possibly - I don't know if anyone's compiled packages for these. You'll have to compile these yourself. Don't blame me if your machine runs slowly, either. Q. I've got some binary programs from a Redhat ARM system, but they don't seem to work. What's wrong? A. They may have been compiled with half-word instructions. The latest JDK for ARM, for example. Q. How do I do XYZ in Linux? A. Search the web for it - in particular there's probably a HOWTO on it. Q. Why did you do this? A. I have no idea; please tell me. Finish ====== Congratulations, you've installed Debian on a RiscPC. Don't forget to send me a nice thank-you note, gift, etc., for spending a Sunday writing these instructions. You will probably also want to subscribe to the debian-arm mailing list, see: http://www.uk.debian.org/MailingLists/subscribe And the ARM Linux mailing list: http://www.arm.linux.org.uk/armlinux/mailinglists.shtml There's a list especially for beginners to ARM Linux. If you've got a simple question which you think sounds too simplistic for the general ARM Linux list, then this is the place for it. Myself and others will be happy to give you help there, as long as it's not already answered in this document (at which point you'll be told to RTFM). When asking questions on here please try to be as clear as possible in your explanations if you're not sure on terminology - err on the side of verbosity. http://www.armlinux.org/cgi-bin/mailman/listinfo/armlinux-newbie There are also more ARM Linux lists for more technical issues. The Toolchain mailing list: http://www.armlinux.org/cgi-bin/mailman/listinfo/armlinux-toolchain The ARM Linux kernel and annouce mailing lists are also on the URL mentioned above: http://www.uk.debian.org/MailingLists/subscribe Do not cross-post between any of these unless you have a really good reason. Suggestions ----------- Did you find any aspects of this install document confusing? Could any parts have been more verbose, or written differently? Remember that I'm hoping this document will be the definitive guide to installing Debian on Acorn machines, so please send me your comments. Also please do not email me with extensive questions on either ARM Linux or Debian unless they relate to this document, or unless you're willing to pay for my time. Brief questions I will do my best with, although expect to be directed at appropriate mailing lists if I think they aren't relevant to this document. I'm additionally willing to help or perform Debian installations in person given close locality, and a charge you think appropriate. Peter Naulls, 2000-2001