navigation, content, portlets

Ultima Linux 8.4

Ultima Linux 8.4 (codenamed “we’d call it Machine Head, but Deep Purple would sue”) is the latest Ultima release, succeeding the previous version 8.3. Beta 1 was released for x86 on July 22, 2008, and for AMD64 five days later. Beta 2 was released for both architectures on September 6, 2008. The final release was announced on September 25, 2008.

Contents

New Features

Desktop

Development/Codebase

  • More open development process; current code is available on the FTP server.
  • Entirely new codebase built from GCC 4.3.0, GNU C Library 2.7; completely re-compiled from source.
  • Replacement of old Slackware-derived code and build scripts with more flexible ultima-scripts.
  • ultima-artwork files split and moved into respective source packages (i.e. Firefox configuration moved to Firefox package).
  • Better integration with the Ultima Linux package repository, including replacement of legacy ulupdate system with slapt-get

Hardware Support

  • Improved hardware support, particularly graphics cards and wireless networking
  • Preliminary support for the ASUS Eee PC (x86 only; some additional configuration required)

Live Editions

  • All-new LiveCD code allows for greater user customization, including creation of custom LiveCD’s.
  • New support for LZMA-compressed SquashFS greatly reduces LiveCD “module” size.
  • Support for booting from USB provides greater speed, flexibility, storage capacity.
    • Also supports “jump-starting” LiveUSB from CD-ROM, on systems lacking direct USB boot support.
    • Supports writeback to USB media using a loopback filesystem (wb.img).
    • LiveUSB also functions as a normal flash drive.
  • Supports creation of LiveDVD media, including dual-architecture x86/AMD64 discs.
  • Easier support for frugal installation with frugal-ready linuxrc script.

Server

  • Easier to configure common server applications (for example, mail servers); common configuration options now enabled by default.

Miscellaneous

  • Faster x86 performance with i686-optimized kernel, glibc, and other low-level code
  • Almost completely “pure” AMD64 edition; all packages except Flash are native 64-bit
  • Better support for logical volume management
  • New support for disk encryption
  • New support for SGI’s XFS and IBM’s JFS filesystems
  • Easier installation of SCSI-enabled kernel (no manual copying required).

Fixed Bugs

Desktop

  • “Device was successfully unmounted, but could not be ejected” errors should no longer occur when unmounting removable media in KDE.
  • Problems involving Java and X11 applications (including Java applets in Web browsers) have been fixed.
  • The login screen now displays the correct Ultima Linux release (Ultima Linux 8.3 incorrectly reports itself as 8.2).

Development

  • AMD64: Problems with libtool and various shared object libraries (expat, etc.) linking in /usr/lib have been corrected.
  • AMD64: The AMD64 version of Ultima Linux now uses a 64-bit Java.

Installation

Miscellaneous

  • Incorrect file permissions/ownerships, filesystem heirarchy errors (i.e. documentation in /usr/share/doc or /usr/share/man, etc.) in certain packages have been corrected.

Upgrade Notes

NOTE The fastest and safest way to upgrade to a new major release is simply to reformat and reinstall, when possible. Some new features may require a system reinstall to fully utilize.

Filesytems and Disk Encryption

Support for JFS and XFS filesystems, and/or disk encryption through cryptsetup, will require re-formatting your system’s hard disk.

GCC 4.3.0

Ultima Linux 8.4 uses the GCC 4.3.0 compiler by default, as this was the latest release at the start of development. Most programs should build without problems on the new compiler, but in case there are incompatibilities the GCC 4.1.2 and 3.4.6 compilers have also been provided (as gcc-4.1.2 and gcc-3.4.6, respectively).

The older compilers are built as “compatibility packages” that peacefully coexist with 4.3.0 (and in fact, require it to be installed). There are some limitations: Only C and C++ are supported with the compatibility packages, and native language support is not supported (debugging output is in U.S. English only). The 4.1.2 compiler is not backwards-compatible with the package in Ultima Linux 8.3.

You can usually choose a previous compiler with the CC and CXX environment variables, or by using the compiler keyword in mkbuildscript.

GNU C Library

If upgrading from a previous version of Ultima Linux, you must be careful to use installpkg, not upgradepkg, on the GNU C Library (any package starting with glibc). Failure to do so will result in an unbootable system, as existing programs will not be correctly adjusted to use the new library version.

The safest way to upgrade is to trick upgradepkg into thinking there is no glibc package installed:

root@aqualung:~/ultimalinux-8.3/x86# rm -fv /var/log/packages/glibc-*

Then install new packages using upgradepkg like so:

root@aqualung:~/ultimalinux-8.3/x86# upgradepkg --install-new */*.tgz


NOTE Many other distributions suggest switching into single-user mode (telinit 1) before upgrading glibc. In our experience this is usually not necessary, but it may not be a bad idea to be safe.

Note that the new C library requires a 2.6.24 or newer kernel. Compatibility with previous kernel releases has been removed for speed (glibc runs fastest when optimized for a specific kernel version) and security (2.6.24 fixes a major root-access exploit found in previous kernel versions).

Init Scripts

The system init scripts for Ultima Linux 8.4 are now in a separate ultima-init-scripts package; they are no longer packaged with the sysvinit program.

Ultima Linux 8.4’s init scripts have been completely rewritten to provide numerous new features, including faster startup time, numerous bugfixes, and easier integration for third-party programs. To fully take advantage of the new scripts, you will need to overwrite your existing ones, like so:

root@aqualung:~/ultimalinux-8.4/x86# ( cd /etc/rc.d ; rename .new  * )

The rc.hotplug script, which activates the legacy hotplug system used by the Linux 2.4 kernel, has been deactivated by default, as this functionality is largely implemented by udev. The hotplug system has been retained, however, in case some devices (such as sound cards) are not correctly configured by udev.

The rc.portmap script, which starts the RPC portmapper needed to use NFS, has been renamed to rc.rpc.

Shadow Login Suite

The new version of the shadow package, which provides support for secure, encrypted login passwords, has made several changes to its configuration file format. To prevent login errors, run the following command after upgrading the shadow package:

root@aqualung:~/ultimalinux-8.4/x86# ( cd /etc ; mv login.defs.new login.defs )

User Accounts

Ultima Linux 8.4 makes greater use of user accounts and privilege separation than Ultima Linux 8.3 and previous releases. Among other changes:

  • Important daemons such as HAL, D-Bus, and Apache now run under separate user accounts rather than as the generic nobody.
  • Access to removable media is now controlled through group membership. Most hardware can be accessed by adding your account to the cdrom, floppy, audio, video, and plugdev groups. (The last group includes most “hot-pluggable” devices, including USB storage.)

The new user and group accounts will be automatically added to your system configuration if you upgrade from a previous release. For more information on user accounts, see User Account Management.