How to install Ubuntu on low memory systems (Pentium III and earlier machines, with 32-192 MB RAM). /!\ This documentation should be reviewed for Ubuntu 9.10 and 8.04.<
> /!\ See proposed blueprint: https://blueprints.launchpad.net/ubuntu/+spec/low-memory-install
- 1 Requirements
- 2 Install an Ubuntu command-line system
- 3 Preparing for Graphical Environment
- 4 Adding a Window Manager
- 5 Adding Functionality
- 6 Install an entire lightweight system
- 7 Low Configuration Option
- 8 External Links
Installing Ubuntu on any system requires at least 32 MB of memory: The text-based installer included with the alternate (install) CDs needs that much space to run reliably. Smaller memory configurations run into problems, and while not impossible, it can be very difficult to complete an installation with less than the minimum RAM requirement. Depending on the hardware requirements, you can expect a sparse Ubuntu system to boot to a graphical desktop on anywhere from 19 MB to 54 MB. That requirement will fluctuate with the system demands, and increase while the system is active. Swap space is crucial to low-memory machines, so don't be stingy when setting up your system.
There is no practical speed requirement, although a slower processor will take more time to finish installing. Some Pentium machines will take hours to complete, simply because the CPU takes longer to finish. As a general benchmark, a 75 MHz machine finishes a command-line installation of Ubuntu 7.04 in about four hours, and a 120 MHz machine finishes in perhaps three. 200 MHz and faster machines will see a further improvement. If you do decide to install Ubuntu on a legacy machine, be patient. There will come times when you think the machine has stopped or is hung, when in fact it's still moving, albeit at a very slow rate.
Disk Space Requirements
Disk space on an absolutely minimal installation can be reduced to as little as 600 MB. A fresh and clean command-line system of Ubuntu 8.04 generally takes only 450 MB, although there will be minor variations on account of hardware differences. If you have only 64 MB of memory, you will need to reserve more disk space for swap.
Other Hardware Considerations
These instructions assume you will have a working Internet connection and access to the universe and multiverse repositories. Configuring your hardware is not included on this page. If you do not have an internet connection, have a look at the wonderful package APTonCD to prepare your offline installation.
Install an Ubuntu command-line system
If you have a fast computer available, you may want to test the install in a virtual machine before to run the real install. It is the right thing to do in case the other computer does not have internet access. Have a look at VirtualBox or VMware for running a VM: configure the VM with same hardware as the target machine. If the target PC has no internet access, you may want to prepare an AptOnCD iso before to continue.
The command-line version of Ubuntu is a sparse system, without any graphical elements. It's a text-only version of what lies underneath all the advanced graphical elements. It's also the starting point for a minimal installation. To install a base system, boot from any Alternate CD and choose "Install a command-line system." It is exactly the same command-line system on Kubuntu/Xubuntu/Ubuntu Alternate CDs. Follow the on-screen instructions to complete installation. Note: the Server Install CD provides a simple command line system, but it is not the same as "install a command-line system"
- only on the "server install":
linux-serverkernel and modules
- only on the "command-line install":
linux-generickernel, modules and restricted modules +
The recommended install for low memory system is the command-line system. Tips and tricks
- see bug #202959 for Ubuntu 8.04 LTS on systems with low memory (64 MB)
- after installation you may want to blacklist some restricted modules: (if you want to save some memory)<
DISABLED_MODULES="ath_hal fc fglrx fwlanusb ltm nv"
- if you do not use hibernation, comment or delete
sudo update-initramfs -u
- if you do not have a laptop, you may consider removing
sudo aptitude remove acpi acpid
- if you do not need extra languages you may consider removing
Once the server install is complete, you will probably want to edit your sources.list file.
sudo nano /etc/apt/sources.list
Uncomment all official repositories by removing # at the beginning of the line. Do not uncomment the narrative portions of that file; in other words, where you see a double hash mark (##) leave those lines alone.
If you prepared a CD-ROM with additional packages (APTonCD):
sudo apt-cdromin a console
- put the CD-ROM in the disc tray
Update and Upgrade Your System
Now you should update your system. Return to the command line and type:
sudo aptitude update
It's probably also a good idea to upgrade your system at this point. Use this command to upgrade your system:
sudo aptitude upgrade (or, for Gutsy:
sudo aptitude safe-upgrade)
Now you should be ready to install a window manager and some programs.
Ideas of packages
localepurge: to purge unneeded translations
readahead: to accelerate boot sequence
- some command line utilities:
Preparing for Graphical Environment
The absolute minimum for any graphical environment is X.org
On Ubuntu Edgy (6.10), Feisty (7.04), and Gutsy (7.10), use the command:
sudo aptitude install xorg
On Ubuntu Dapper (6.06), use the command:
sudo aptitude install x-window-system-core
This package gives you the framework for an X session, complete with a variety of drivers and configuration files. Installing xorg (or x-window-system-core) also triggers the self-configuration sequence, so when it finishes, your hardware should be ready to use, barring any errors or incompatibilities.
It's important to note that installing xorg or x-window-system-core really doesn't leave you with much. You can start X at this point with this command:
but without a window manager and some software, you probably won't get much done.
Adding a Window Manager
A window manager controls the placement and appearance of windows within a graphical user interface. There are many lightweight window managers that will give you better access to your system through the X layer. Each one has its own way of managing the desktop, and its own way of configuring themes and menus.
Openbox is one of the lightest, fastest window managers available, but can take some time to configure and set up. It has its origins in Blackbox, but newer versions are complete rewrites of the Blackbox code.
Install Openbox with this command:
sudo aptitude install openbox obconf openbox-themes
These packages and their dependencies will allow you to build and configure an Openbox system, along with a choice of themes and some configuration options.
Note: Edgy (Ubuntu 6.10) users should note a small discrepancy in obconf that might prevent it from running. You can correct that with these commands ...
cd /usr/lib sudo ln libobparser.so.0.4.0 libobparser.so.1 sudo ln libobrender.so.0.4.0 libobrender.so.1 sudo ldconfig -X
Entering obconf in an X terminal window should now trigger the obconf dialogue.
IceWM has a very strong following as a good, clean, fast window manager that resembles a conventional "desktop" in many ways. Among many of its perks are themes that resemble the Windows XP desktop theme -- which may be appealing to you.
Install IceWM with this command:
sudo aptitude install icewm iceconf icepref iceme icewm-themes
When finished, you will have a number of configuration and menu options. You can start IceWM with the startx command.
Fluxbox is a beautiful, highly configurable desktop system that is easy on system resources without compromising on graphical appeal. Fluxbox is the default window manager for a number of Linux distributions, probably most notable among them being Damn Small Linux.
Install Fluxbox with this command:
sudo aptitude install fluxbox fluxconf
Once installed, you can start Fluxbox with the startx command. Remember, if you enjoy working with Fluxbox, you should consider Fluxbuntu as an option.
FVWM-Crystal is a complete set of configuration scripts which sit atop of FVWM. FVWM-Crystal has support for integrated access to music players, terminal emulators and system monitors. It boasts some of the finest eye candy available to low-end machines, and is a snap to install. For more information about building an FVWM-Crystal desktop, check out the FVWM-Crystal page.
XFCE is heavier than any of the systems mentioned so far, but has some added functions as a result. You can try XFCE alone if you like, but if you're keen on an XFCE installation, look into Xubuntu as an option.
Install XFCE alone, without Xubuntu, with this command:
sudo aptitude install xfce4
It's worth noting that some Edgy users have difficulty starting XFCE from a minimal install. The normal start command for XFCE -- startxfce4 -- doesn't seem to be properly configured in Edgy.
If you want the entire Xubuntu package, which includes a full suite of software and a lot of improvements, try this command:
sudo aptitude install xubuntu-desktop
That will download quite a large amount of packages; you may want to consider installing Xubuntu fresh, from the installation ISO.
Note: Xubuntu will use more system resources and may not be optimal for a low memory system with limited disk space, but it is lighter than a standard Ubuntu system.
Now that the graphical window manager is set up, it's time to add some necessary and recommended packages. These will add additional functionality and make using the system easier. Additionally, adding a graphical package manager will provide an easy method to manage installed applications and packages.
Login managers will assist in choosing a graphical environment and will not require the user to start x.org to get into the window manager. It's important to note that it's not necessary to use a login manager. If you're willing to log in at the command line and start X manually, you can save yourself a lot of system resources -- and the time it takes to load them. That can be a more appealing option on older machines.
GDM is the Ubuntu default for a login manager. However, GDM has a reputation of being a heavyweight, and on a system that needs as little bulk as possible, you might find it to be a burden. If you've got a decent system, install it using:
sudo aptitude install gdm
KDM is another manager, but has the same heavy reputation as GDM.
sudo aptitude install kdm
XDM is the login manager for straight X, and while less beautiful than GDM or KDM, it can perform in the same role without fuss.
sudo aptitude install xdm
SLiM is a simple login manager. It just works as expected.
sudo aptitude install slim
If the LANG environment variable is not correctly set, see bug #234474.
Now that your system is up and running, it would be a good idea to add an internet browser to surf the web and get some use out of the machine!
Web browsers come in many flavors, and the most prevalent -- Firefox -- can be laggy on low-memory or slow systems. Even the GNU version of Firefox, Iceweasel can be a bit heavy on older machines. If you've got at least 128 MB of memory, Firefox should work just fine.
sudo aptitude install firefox
While not nearly as full-featured as Firefox, Dillo has the advantages of a very small footprint and few resource requirements.
sudo aptitude install dillo
sudo aptitude install epiphany-webkit
Many lightweight desktop systems use iDesk as a way of including customized, clickable icons directly on the desktop. iDesk is maintained in the Ubuntu repositories, and is installable from the command line with:
sudo aptitude install idesk
Consult the iDesk wiki for instructions on how to configure and use iDesk. For icon sets, you may wish to search the repositories, or download them from third-party customization sites, such as Gnome-Look.org and similar locations.
Lightweight systems have a number of options available for graphical file management. Thunar is the default file manager in Xubuntu and many XFCE-based systems; it is installable alone with this command:
sudo aptitude install thunar
XFE is an even lighter file manager, intended to mimic the Windows Explorer interface. It has very few dependencies and is very fast.
sudo aptitude install xfe
ROX-Filer is another file management program, which makes extensive use of drag-and-drop principles. It does appear to have a large number of dependencies however, which means installing it may entail more external packages than you wish. Install ROX-Filer with this command:
sudo aptitude install rox-filer
Nautilus is the default file manager for Ubuntu. It requires some more resources, but it has a lot of useful features. It can manage your desktop, show a wallpaper and desktop icons, which are automatically created for new devices (e.g. USB flash drives). Install Nautilus using this command:
sudo apt-get install nautilus
To use it together with a window manager, execute the following command or add it to your autostart script. For example, use $HOME/.icewm/startup for IceWM.
nautilus --no-default-window &
Some other popular file managers include
- Midnight Commander, Tux Commander and Gnome Commander (which all resemble the old Norton Commander interface);
- and Dolphin, which is a file manager aimed at KDE and Kubuntu.
There are many others. Some are available through the repositories; others will require you to download and install them through another source. Experiment with different file managers to see which ones appeal to you.
Add a graphical package manager to install, remove and upgrade software packages and to add repositories without using the command line. Synaptic package manager is the standard and can be installed with this command:
sudo aptitude install synaptic
Another good package manager, which uses ncurses, is Aptitude. It is light and fast, with lots of features:
You can use the package manager to add a word processor, such as Abiword, and other productivity software.
Install an entire lightweight system
Building on the ideas above, here are some complete graphical systems, installable through a single command line. Feel free to mix and match between these options. Remember: If you are using Dapper or earlier, replace "xorg" with "x-window-system-core"
- IceWM as a window manager, plus GDM, Firefox, Abiword and the Synaptic package manager:
sudo aptitude install gdm xorg xterm icewm menu mozilla-firefox abiword synaptic
- XFCE and Firefox, with Synaptic package manager and KDM as the login manager:
sudo aptitude install kdm xorg xfce4 firefox synaptic
- Fluxbox with Dillo, and XDM as a login manager:
sudo aptitude install fluxbox xorg xdm dillo
- Openbox with no login manager, XFE as the file manager and xfce4-terminal as an X terminal, as well as Openbox themes and the Tango icon set:
sudo aptitude install openbox obconf openbox-themes xfe xfce4-terminal tango-icon-theme-extras xorg
Remember to check the repositories for more ideas on software and applications!
Low Configuration Option
For a minimalistic system that does not require as much configuration, you can install the alternate window managers after installing a full K/X/Ubuntu system, thus preinstalling much of the required software but keeping the speed. However, installing a full system does require more system resources.
- Ubuntu-Desktop-Minimal, a project to create a slim install based on GNOME/GDM. Not necessarily the lightest install, but probably the most user-friendly. Also automatically installs the user's choice of browser, IM client, media player, e-mail client, and office suite.
- ubuntu minimal desktop installation
- FluxBuntu: An Ubuntu variant with Fluxbox as the default window manager. An excellent place to start for a Fluxbox-based system.
- U-Lite: A project to build a stripped-down version of Ubuntu aimed at low-end machines.
- Cubuntu is not a graphical system; Cubuntu is a full-featured command line system, suitable for computers that can't handle any of the above options -- such as early Pentium or perhaps even 486-grade machines with as little as 16 MB RAM. And don't be skeptical: Even without a graphic environment, a computer can perform a lot more tasks than you would expect. B)
- Enlightenment is another window manager, but it is still in development and requires additional steps to install. However, it is very lightweight and functional.
- gOS is an operating system based on Ubuntu, uses a customized version of Enlightenment as its window manager, and is able to run on some older systems.