Home Page The Club Computers News Links Glossary EYAWTK
Before Amiga Background ICS OCS ECS AGA ??? PPC
U-Boot SLB Linux Amiga OS Dual Boot Motherboards Peripherals Other
Initialisation Installation Kernel Upgd About Linux Networking Printing MOL UAE
Debian Woody Debian Sarge Debian Packages SuSE Yellow Dog

AmigaOne - Linux - Debian Sarge Install

At this time there is no AmigaOne installation CD for Debian "Sarge", so this section covers how to upgrade from Woody to Sarge.
pdf

Assumptions

  1. You have successfully installed the Woody distribution of Debian on your machine, and you now want to upgrade to the Sarge distribution.
  2. You do not have an expert knowledge of all of the intricacies of Debian Linux and will be updating a relatively uncomplicated implementation.
  3. You will using CDs rather than interactively over the Internet. This means that you will need a set of the 14 CDs that comprise the Sarge distribution. They can be downloaded as ISO images (650 MB each approx) from ftp.au.debian.org/pub/debian-cd. Alternatively, library copies of the distro can be obtained from Amiga Auckland's Librarian and these can be freely copied.
If you consider yourself an advanced user and these assumptions do not apply to you, you may prefer to use the Official Release Notes for Debian/GNU Linux 3.1 ("sarge"), PowerPC to guide you instead.

Prerequisites

The following steps are necessary prerequisites before upgrading from Woody to Sarge:

  1. You must be in a Shell logged on as "root".

  2. The first step is to ensure that you have "aptitude" installed, using
        dpkg -l aptitude
    If the line of output does NOT begin with "i", you must install it from Woody CD-1, e.g.
        apt-get install aptitude

  3. If you have configured APT to install certain packages from a distribution other than stable (e.g. from testing), you may have to change your APT pinning configuration ("/etc/apt/preferences") to allow the upgrade of packages to the versions in the new stable release.

  4. It is recommended that you check the status of all packages first, and verify that all packages are in an upgradable state, using
        dpkg --audit
    Any packages which have a status of Half-Installed or Failed-Config need to be tidied up before progressing.

  5. It is desirable to remove any holds before upgrading. You can identify packages on hold for aptitude using
        aptitude search "~ahold" | grep "^.h"
    If you changed and recompiled a package locally, and didn't rename it or put an epoch in the version, you must put it on hold to prevent it from being upgraded using
        aptitude hold package_name
    The "hold" package state for aptitude can be changed using
        aptitude unhold package_name
    If there is anything you still need to fix, it is best to make sure /etc/apt/sources.list still refers to Woody.
Preparation
You will be using "apt" to perform the upgrade and it will consider all packages that can be found via any "deb" line, and install the package with the highest version number, giving priority to the first mentioned lines (that way, in case of multiple mirror locations, you'd typically first name a local harddisk, then CDROMs, and then HTTP/FTP mirrors). This documentation assumes you are upgrading entirely from CDROMS.

The following steps are required in preparation for upgrading from Woody to Sarge:

  1. You must be in a Shell logged on as "root".

  2. To ensure that you have the correct sources defined you need to edit the "etc/apt/sources.list" file using your preferred editor, and comment out all of the existing entries by inserting a "#" at the beginning of the each line. (Once the upgrade is complete, these lines can be deleted.) To update '/etc/apt/sources.list' the following example used:

        nano /etc/apt/sources.list

    As you can see, #'s (shown in green) have been inserted in front of the seven lines referencing the complete Woody distro - only the CDs that you have catalogued will show here, so a minimal install may only have one line to change. Use <Ctrl-o> to save the changes, <Enter> to confirm the filename, and <Ctrl-x> to exit.

  3. It is strongly recommended that you record a transcript of the upgrade session. Then if a problem occurs, you will have a log of what happened, and if needed, can provide exact information in a bug report. To start the recording, type:

        script -a ~/upgrade-to-sarge.typescript

    or similar. Do not put the typescript file in a temporary directory such as /tmp or /var/tmp (files in those directories may be deleted during the upgrade or during any restart).

    The typescript will also allow you to review information that has scrolled off-screen. Just switch to VT2 (using <alt-F2>) and, after logging in, use

        less ~root/upgrade-to-sarge.typescript

    to view the file.

    After you have completed the upgrade, you can stop "script" by typing exit at the prompt.

Installing Sarge
You are now ready to upgrade to Debian Sarge. For a basic system, you should expect the upgrade to take about 80-90mins with a minimum of 15 CD swaps.

TIP: - Should you find that your monitor has switched to standby mode during the install, use the left or right arrow keys to bring it back to life. Any other key may send the install process the wrong information.

  1. Update the APT database
    The first step is to update the APT database with the contents of the Sarge CDs by typing:

        apt-cdrom add

    It will ask you to insert a disc into the CDROM drive and press enter. Start with disk 1 of the Sarge distro and repeat the step until every disk has been processed. (Remember that you can use the up arrow key to redisplay the last command rather than having to re-type it each time.)

  2. Upgrade the Package List
    The first step is to fetch a list of all of the available packages by typing:

        apt-get update

  3. Upgrading aptitude
    Upgrade tests have shown that Sarge's version of aptitude is better at solving the complex dependencies during an upgrade than either apt-get or Woody's aptitude. It should therefore be upgraded first using:

        aptitude install aptitude

    You will be shown a list of the changes that will be made and asked you to confirm them. You should take a careful look at the proposed changes, especially packages that will be removed by the upgrade, before you confirm.

    In some cases if a large number of packages is listed for removal, you may be able to reduce this list by "pre-upgrading" selected other packages alongside aptitude. An example may clarify this. During upgrade tests for systems having KDE installed, we have seen that this step would cause removal of a large number of KDE packages and/or perl. The solution proved to be to "install aptitude perl" instead of "install aptitude".

    If you are running in a Shell started from KDE, then partway through you will get a message
          "Do you want to upgrade glic now? [Y/n]"
    If you read the text preceeding it, you will see the reason for the message.
    Type "y" and press <Enter> to continue.
    A short time later after glibc has been installed you will get another message
          "Do you wish to restart services? [Y/n]"
    Type "n" and press <Enter> to continue.

  4. Upgrading doc-base
    If you have doc-base installed, it must be upgraded before the rest of the system too, because it may fail if perl is upgraded at the same time. You can find out if it is installed using:

        dpkg -l doc-base

    If the line of output begins with "i" then it is installed and must be upgraded before continuing, by typing:

        aptitude install doc-base

  5. Upgrading the rest of the system
    You are now ready to continue with the main part of the upgrade, by typing:

        aptitude -f --with-recommends dist-upgrade

    This will perform a complete upgrade of the system, i.e. install the newest available versions of all packages, and resolve all possible dependency changes between packages in different releases. If necessary, it will install some new packages (usually new library versions, or renamed packages), and remove any conflicting obsoleted packages (such as console-tools-libs).

    When upgrading from a set of CD-ROMs, you will be asked to insert specific CDs at several points during the upgrade. You might have to insert the same CD multiple times; this is due to inter-related packages that have been spread out over the CDs. If you are upgrading from a basic Woody install, the order will be 1,3,1,2,4,1,3,2,5,1,9,6,3,1,2,8.

    New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version (displayed as "held back"). This can be resolved by either using aptitude to choose these packages for installation or by trying aptitude -f install package.

    The --fix-broken (or just -f) option causes apt to attempt to correct a system with broken dependencies in place. apt does not allow broken package dependencies to exist on a system.

  6. After a short burst, a screen Configuring Debconf asks
          "What interface should be used for configuring packages ?"
    and Dialog will be highlighted. Simply press <Enter> to accept it. It will then ask
          "See only questions that are of what priority and higher ?"
    and medium will be highlighted. Simply press <Enter> to accept it.

  7. Another screen Configuring Console-data then appears and asks
          "What policy do you want to apply regarding keymaps ?"
    and Don't touch keymap will be highlighted. Simply press <Enter> to accept it.

  8. An information screen Configuring Libusb-0.1.4 appears next and discusses 'libusb' and how '/proc/bus/usb' must be mounted before it can be used. 'libusb' uses a pseudo-filesystem known as 'usbdevfs' or 'usbfs' to access the USB devices. This filesystem must be mounted under '/proc/bus/usb' for libusb to work which involves adding an extra line in your /etc/fstab file. This is recommended and further instructions are in Post Installation. Press <Enter> to continue.

  9. Another information screen Configuring Libsensors3 appears next
    It states that libsensors3 is not functional because the kernel has not been compiled with sensors support, and that the sensors modules have not been installed.
    If you want to enable it, you can
    - Install the i2c-2.4-xx-x-xxx and lm-sensors-2.4-xx-x-xxx packages corresponding to you kernal if you are using a pre-built kernel;
    - Patch your kernel using the packages kernel-patch-2.4-i2c and kernel-patch-2.4-lm-sensors;
    - Build the modules yourself using i2c-source and lm-sensors-source.
    Press <Enter> to continue.

  10. The next screen Configuring Libpango1.0-common discusses pango fonts and asks
          "Do you want to entrust font management to defoma ?"

    The goal of the Pango project is to provide an open-source framework for the layout and rendering of internationalized text. Pango is an offshoot of the GTK+ and GNOME projects, and the initial focus is operation in those environments, however there is nothing fundamentally GTK+ or GNOME specific about Pango. Pango uses Unicode for all of its encoding, and will eventually support output in all the worlds major languages.

    'defoma' is the name given to the debian font manager which is basic component of Debian.

    If you select 'Yes' here, /etc/pango/pangox.aliases will be a symbolic link to /var/lib/defoma/pango.d/pango.aliases, which defoma actually manages. The file will be re-generated by defoma when you install/upgrade/remove defomized font packages. If you don't want to use defoma to manage pango fonts and you prefer to edit pangox.aliases manually, then you should select 'No'.

    We recommend that you select <Yes> and press <Enter>.

  11. The next screen Adduser discusses directory security and asks
          "Do you want system wide readable home directories?" Normally home directories can be viewed by all users on the system. If you want to increase the security/privacy on your system, you might want your home directories only readable by each user. If you are unsure, enable system wide readable home directories. This will only affect home directories of users added with the adduser program later.

    We recommend that you select <Yes> and press <Enter>.

  12. The next screen Configuring Flex discusses the effects of the flex enhancements and asks
          "Are you sure you want to upgrade flex ?"
    Flex is a tool for generating programs that recognize patterns in text, and could have an impact if you have installed packages which require POSIX lex behaviour or have been written in ANSI C mode. You can read the information contained on this screen and make your own decision.
    However, we recommend that you select <Yes> and press <Enter>.

  13. The next screen Configuring Cdrecord discusses SUID security for cdrecord and asks
          "Do you want the cdrecord binaries to be installed SUID root?"
    If you make cdrecord SUID, you can allow users in the "cdrom" group to burn CD-ROMs without needing any additional privileges. This could potentially allow cdrecord to be used during a security attack on your computer. If you decide later that you have made the wrong choice you can run "dpkg-reconfigure cdrecord" to change it.
    However, we recommend that you select <Yes> and press <Enter>.

  14. The next screen Configuring Libslpl discusses network traffic and IP multicast. The kernel supplied for the AmigaOne does not support IP multicast. OpenSLP will continue to work without multicast support in the kernel by using broadcasts, but hese are less efficient on the network. This shouldn't be a problem for most AmigaOne users.
    Press <Enter> to continue.

  15. The next screen Configuring Kpilot then discusses connecting Palm Pilots and asks
          "Which communication port to use with the Palm?"
    and None will be highlighted. If you wish to connect a Palm Pilot, select the appropriate port, otherwise press <Enter> to accept the default.

  16. The upgrade process will then run for a while, updating from the CD-ROM, until it stop with a message about security, listing various changes that are suggested to bring the previous Woody security in line with Sarge. It is highly recommended that you allow update-passwd make these changes (a backup of the modified files is made with the extension '.org' so you can always restore the current settings if necessary). For more documentation on the Debian account policies see '/usr/share/doc/base-passwd/README'.
    Type "y" and press <Enter> to continue.

  17. The next screen Configuring ssh discusses the environment options for ssh, warning that the environment options on keys have been deprecated. This is because this latest version of OpenSSH disables the environment option for public keys by default, in order to avoid certain security attacks. If you are using this option in an authorized_keys file, the keys in question will no longer work until the option is re-activated, which is done by setting "PermitUserEnvironment yes" in '.etc/ssh/sshd_config' after the upgrade is complete, taking note of the warning in the sshd_config 'man' page.
    Press <Enter> to continue.

  18. The next screen Configuring xdm discusses display managers and asks
          "Select the desired default display manager"
    kdm should be highlighted. Press <Enter> to continue.

  19. The next screen Configuring xprint-common discusses printer resolutions and requests you to enter the resolution of your printer. By default Xprint assumes a printer resolution of 600dpi, and this should be fine for most current printers. However, on certain 1200dpi printers, the image might appear squashed in the corner of the page, or on 300dpi printers the image might appear too large. If you experience this kind of printing problem after the upgrade, see '/usr/share/doc/xprint-common/README.printing-problems.gz for more details.
    Either accept the default or enter a new value and press <Enter> to continue.

  20. The next screen Configuring setserial discusses saving serial configurations and asks
          "Type of automatic serial port configuration to use?"
    Setserial has the following options:
    • autosave once - this saves your serial configuration the first time you select this option, using kernel information. From this point on this information is never changed automatically again. If you want the configuration to change you have to edit 'serial.conf' manually.
    • manual - control serial.conf yourself right from the start. Good for experts who have something to prove, but autosave-once is probably still better. option, using kernel information.
    • autosave always - this saves the serial configuration on every system shutdown, and reloads the saved state when you reboot. This is good if you change your serial configuration a lot, but DANGEROUS as rebooting a system with "errors" can result in the complete loss of your first serial configuration.
    • kernel - this blanks the serial configuration file and uses the kernel settings on bootup. This may be useful for standard situations or where setserial has become confused.

    The recommended value autosave once should be highlighted, but you can change it if you wish before you press <Enter>.

  21. The next screen Configuring cvs discusses software repositories and asks
          "Where are your repositories?"
    /var/lib/cvs should already be showing. Press <Enter> to accept it.
    It will then complain that the directories entered do not contain a CVSROOT subdirectory and it gives you several options. Because at this stage '/var/lib/cvs' will not exist, accept the default create and press <Enter>. Next it asks you
          "Should the CVS pserver be enabled?"
    This is not required and <No> should already be selected so press <Enter>.

  22. The next screen Configuring x-ttcidfont-conf discusses the fonts available for XFree86.
    XFree86 4.x has two backends to handle TrueType fonts - FreeType (which is a standard and simple backend) and X-TT (which has a mechanism of decorating TrueType fonts that can create bold and oblique faces from a single font. If you are unsure we suggest you accept the default of freetype and press <Enter>.

  23. The next screen Which paper size should be the system default? lists a number of paper sizes to choose from. Select a4 and press <Enter>.

  24. It then stops with a message about exim 3.x and 4.x. Press <Enter> to continue.
    Still more on configuring exim. Press <Enter> to continue.
    You must then choose from a list of options. Type "5" and press <Enter> to bypass mail configuration at this time. More information on configuring exim is in the eximdoc package and in /usr/share/doc/exim/spec.txt.

  25. The next screen Configuring man-db discusses the man and mandb programs and asks
          "Should man and mandb be installed 'setuid man'?"
    With the set-user-id bit set, they will run with the permissions of the 'man' user and this allows all users to benefit from the caching of preformatted manual pages ('cat pages'), which may aid performance on slower machines, but it only works on 80-column terminals, and can be a security risk so it is not enabled by default. <No> should already be selected so press <Enter>.
    It then tells us that the latest version of man-db is incompatible with the existing database of manual page descriptions and needs to be re-built, and that you can either do it now (it may take a while it warns) or leave it and do it later. <Yes> should already be selected so press <Enter>.

  26. It then stops with a message about Configuration file '/etc/pam.d/kscreensaver' and lists an number of options for the kscreensaver. Press <Enter> to accept the default which is to keep the existing version, or you could select one of the other options.

  27. It then stops with a message about Configuration file '/etc/sound/events/mailcheck.soundlist' and lists an number of options for the mailcheck.soundlist. Press <Enter> to accept the default which is to keep the current version, or you could select one of the other options.

  28. And then, after a series of 'Done' messages, you are returned to the prompt. The install of Sarge is complete.

  29. The final step is to type exit to terminate the script program.
Post Installation
Now's the time to check the logs and look for any mail messages that may have been output and perform any additional steps than may have been identified during the installation process.
  1. If not already there, the first step is to change to the root user's home directory

        cd /root

  2. There you should see the output file from the installation process 'upgrade-to-sarge.typescript', which you should keep for a while in case there are any issues that arise which may have come from the upgrade, and you need to check out what happened.

  3. Look for another file called 'dead.letter' which is the result of a failed mail request during the install. At least one email should be output concerning defoma as follows:

    The next step is to effect the changes listed in the email using your preferred text editor.

    To update '/etc/X11/XF86Config-4' the following example used:

        nano /etc/X11/XF86Config-4

    As you can see, the two new lines (shown in green) have been added at the end of the section. Use <Ctrl-o> to save the changes, <Enter> to confirm the filename, and <Ctrl-x> to exit.
    Do NOT type spaces before and after 'Fontpath' - you must use the <Tab> key instead, and remember that Linux is 'case-sensitive' so ensure that you type capitals where they are shown.

    To update '/etc/X11/fs/config' the following example used:

        nano /etc/X11/fs/config

    The 'catalogue = ' statement that you need to change here lists all of the 'Fontpath' values from the previous screen on a single line separated by commas, so the line is rather long, too long in fact to fit on the screen. To make the changes, you must use the right arrow key to scroll across the 'catalogue = ' line until you reach the end of the it - every so often the line will jump when you reach the edge of the screen to reveal more data. When you finally reach the end of the existing data, add the following:

        ,/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID/
        ,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/

    In the example above (shown in green), only the last Fontpath value and part of the previous one are visible - the rest of the line has scrolled off the screen to the left. After you have checked your changes use <Ctrl-o> to save the changes, <Enter> to confirm the filename, and <Ctrl-x> to exit.
    Remember that Linux is 'case-sensitive' so ensure that you type capitals where they are shown.

  4. In Step 8 of the installation process above, the information screen Configuring Libusb-0.1.4 discussed 'libusb' and how '/proc/bus/usb' must be mounted before it can be used. 'libusb' uses a pseudo-filesystem known as 'usbdevfs' or 'usbfs' to access the USB devices and this filesystem must be mounted under '/proc/bus/usb' for libusb to work which requires adding an extra line in your /etc/fstab file. You should effect the changes now using your preferred text editor. To update '/etc/fstab' the following example used:

        nano /etc/fstab

    As you can see, the new line (shown in green) has been added after the previous statements.
    Do NOT type spaces between the values - you must use the <Tab> key instead.

    While adding the above line to your /etc/fstab will mount the usbfs automatically at boot time, only root user will be able to access the USB devices with this setup. Several mount options are available that allow you to set the permissions on the files created under /proc/bus/usb so that non-root users can use libusb applications. See /usr/share/doc/libusb-0.1-4/README.Debian for more information.

  5. A number of people have commented how after installing Sarge, they no longer have the option to login as 'root' at the GDM or KDE login screens, and this combined with a number of security improvements has created a few issues. For discussion on enabling root login and some of these other issues see the Linux Miscellaneous Information page. More post-installation steps may be added as they are identified. If you identify any additional steps, please email the details to Amiga Auckland.

  6. The next step is to type "halt" at the prompt to shutdown the computer and reboot into Sarge.

Disclaimer: Amiga Auckland have prepared the above information for the use of its members based on our experiences and as such is subject to revision at any time. Amiga Auckland cannot guarantee any of the information and cannot be held accountable for any issues that may result from using it.


Copyright 2005 Amiga Auckland Inc. All rights reserved.
Revised: September 25, 2005.