1070 lines
36 KiB
Plaintext
1070 lines
36 KiB
Plaintext
4mb Laptop HOWTO
|
||
Bruce Richardson <brichardson@lineone.net>
|
||
|
||
25 March 2000
|
||
|
||
How to put a "grown-up" Linux on a small-spec (4mb RAM, <=200mb hard
|
||
disk) laptop.
|
||
|
||
______________________________________________________________________
|
||
|
||
Table of Contents
|
||
|
||
|
||
|
||
1. Introduction
|
||
|
||
1.1 Why this document was written.
|
||
1.2 What use is a small laptop?
|
||
1.3 Why not just upgrade the laptop?
|
||
1.4 What about 4mb desktop machines?
|
||
1.5 What this document doesn't do.
|
||
1.6 Where to find this document.
|
||
1.7 Copyright
|
||
|
||
2. The Laptops
|
||
|
||
2.1 Basic Specifications
|
||
2.1.1 Compaq Contura Aero
|
||
2.1.2 Toshiba T1910
|
||
2.2 The Problem
|
||
2.3 The Solution
|
||
|
||
3. Choices Made
|
||
|
||
3.1 What to use to create the initial root partition?
|
||
3.2 The Distribution
|
||
3.2..1 But I don't like Slackware!
|
||
3.3 Which installation method to use?
|
||
3.4 Partition Layout
|
||
3.4.1 Basic Requirement
|
||
3.4.2 How complex a layout?
|
||
3.5 Which components to install?
|
||
|
||
4. The Pre-installation Procedure
|
||
|
||
4.1 muLinux Preparation
|
||
4.2 Prepare the installation root files.
|
||
4.3 Create the partitions.
|
||
4.3.1 Mini-Linuces and ext2 file-systems - an important note.
|
||
4.3.2 Procedure
|
||
|
||
5. The Installation
|
||
|
||
5.1 Boot the machine
|
||
5.2 Floppy/Parport CD-ROM Install
|
||
5.3 Network/PCMCIA Install
|
||
5.3.1 PCMCIA install on the Aero
|
||
5.4 Set-up
|
||
5.4.1 AddSwap
|
||
5.4.2 Target
|
||
5.4.3 Select
|
||
5.4.4 Install
|
||
5.4.5 Configure
|
||
5.4.6 Exit
|
||
5.5 Pre-reboot Configuration
|
||
5.6 Post-reboot Configuration.
|
||
5.6.1 Re-use the temporary root.
|
||
5.6.2 Other configuration tweaks.
|
||
|
||
6. Conclusion
|
||
|
||
7. Appendix A:
|
||
|
||
7.1 A - Base Linux System
|
||
7.1..1 Packages considered for omission:
|
||
7.1..2 Packages installed:
|
||
7.2 AP - Non-X Applications
|
||
7.2..1 Packages considered for inclusion:
|
||
7.2..2 Packages installed:
|
||
7.3 D - Development Tools
|
||
7.3..1 Packages installed:
|
||
7.4 E - Emacs
|
||
7.4..1 Packages installed:
|
||
7.5 F - FAQs and HOWTOs
|
||
7.5..1 Packages installed:
|
||
7.6 K - Kernel Source
|
||
7.6..1 Packages Installed:
|
||
7.7 N - Networking Tools and Apps
|
||
7.7..1 Packages installed:
|
||
7.8 Tetex
|
||
7.8..1 Packages installed:
|
||
7.9 Y - BSD Games Collection
|
||
7.9..1 Packages installed:
|
||
7.10 End result
|
||
|
||
8. Appendix B: Resources relevant to this HOWTO
|
||
|
||
|
||
|
||
______________________________________________________________________
|
||
|
||
1. Introduction
|
||
|
||
1.1. Why this document was written.
|
||
|
||
I got my hands on two elderly laptops, both with just 4mb RAM and
|
||
small (<=200mb) hard drives. I wanted to install Linux on them. The
|
||
documentation for this kind of laptop all recommends installing either
|
||
a mini-Linux or an old (and therefor compact) version of one of the
|
||
professional distributions. I wanted to install an up-to-date
|
||
professional distribution.
|
||
|
||
1.2. What use is a small laptop?
|
||
|
||
Plenty. It isn't going to run X or be a development box (see ``Which
|
||
components to install?'') but if you are happy at the console you have
|
||
a machine that can do e-mail, networking, writing etc. Laptops also
|
||
make excellent diagnostic/repair tools and the utilities for that will
|
||
easily fit onto small laptops.
|
||
|
||
1.3. Why not just upgrade the laptop?
|
||
|
||
Upgrading old laptops is not much cheaper than upgrading new ones.
|
||
That's a lot to spend on an old machine, especially considering that
|
||
the manufacturer isn't supporting it any more and spare parts are hard
|
||
to find.
|
||
|
||
1.4. What about 4mb desktop machines?
|
||
|
||
The procedure described in this document will work perfectly well on a
|
||
desktop PC. On the other hand, upgrading a desktop machine is far
|
||
easier and cheaper than upgrading a laptop. Even if you don't upgrade
|
||
it, there are still simpler options. You could take out the hard disk,
|
||
put it in a more powerful machine, install Linux, trim it to fit and
|
||
then put the disk back in the old machine.
|
||
|
||
1.5. What this document doesn't do.
|
||
|
||
This document is not a general HOWTO about installing Linux on laptops
|
||
or even a specific HOWTO for either of the two machines mentioned
|
||
here. It simply describes a way of squeezing a large Linux into a very
|
||
small space, citing two specific machines as examples.
|
||
|
||
|
||
|
||
1.6. Where to find this document.
|
||
|
||
The latest copy of this document can be found in several formats at
|
||
http://website.lineone.net/~brichardson/linux/4mb_laptops/.
|
||
|
||
1.7. Copyright
|
||
|
||
This document is copyright (c) Bruce Richardson 2000. It may be
|
||
distributed under the terms set forth in the LDP license at
|
||
sunsite.unc.edu/LDP/COPYRIGHT.html.
|
||
|
||
This HOWTO is free documentation; you can redistribute it and/or
|
||
modify it under the terms of the LDP license. This document is
|
||
distributed in the hope that it will be useful, but without any
|
||
warranty; without even the implied warranty of merchantability or
|
||
fitness for a particular purpose. See the LDP license for more
|
||
details.
|
||
|
||
Toshiba and T1910 are trademarks of Toshiba Corporation. Compaq and
|
||
Contura Aero are trademarks of Compaq Computer Corporation.
|
||
|
||
2. The Laptops
|
||
|
||
This section describes the laptops that I have used this procedure on,
|
||
the problems faced when installing Linux on them and the solutions to
|
||
those problems (in outline).
|
||
|
||
2.1. Basic Specifications
|
||
|
||
2.1.1. Compaq Contura Aero
|
||
|
||
|
||
<20> 25MHz 486SX CPU
|
||
|
||
<20> 4mb RAM
|
||
|
||
<20> 170mb Hard Disk
|
||
|
||
<20> 1 PCMCIA Type II slot
|
||
|
||
<20> External PCMCIA 3.5" Floppy drive (-- The PCMCIA floppy drive has
|
||
a proprietary interface which is partly handled by the Aero's
|
||
unique BIOS. The Linux PCMCIA drivers can't work with it. According
|
||
to the PCMCIA-HOWTO, if the drive is connected when the laptop
|
||
boots it will work as a standard drive and Card Services will
|
||
ignore the socket but it is not hot-swappable. However, I found
|
||
that the drive becomes inaccessible as soon as Card Services start
|
||
unless there is a mounted disk in the drive. This has implications
|
||
for the installation process - these are covered at the relevant
|
||
points. --)
|
||
|
||
|
||
2.1.2. Toshiba T1910
|
||
|
||
|
||
<20> 33MHz 486SX CPU
|
||
|
||
<20> 4mb RAM
|
||
|
||
<20> 200 mb Hard Disk
|
||
|
||
<20> Internal 3.5" Floppy drive
|
||
|
||
<20> 1 PCMCIA Type II/III slot
|
||
|
||
|
||
2.2. The Problem
|
||
|
||
The small hard disks and the lack of an internal floppy on the Aero
|
||
make the installation more tricky than normal but the real problem is
|
||
the RAM. None of the current distributions has an installation disk
|
||
that will boot in 4mb, not even if the whole hard disk is a swap
|
||
partition.
|
||
|
||
The standard installation uses a boot disk to uncompress a root-
|
||
partition image (either from a second floppy or from CD-ROM) into a
|
||
ram-disk. The root-image is around 4mb in size. That's all the RAM
|
||
available in this scenario. Try it and it freezes while unpacking the
|
||
root-image.
|
||
|
||
2.3. The Solution
|
||
|
||
The answer is to eliminate the ram-disk. If you can mount root on a
|
||
physical partition you will have enough memory to do the install.
|
||
Since the uncompressed ram-disk is too big to fit on a floppy, the
|
||
only place left is on the hard disk of the laptop. The steps are:
|
||
|
||
|
||
1. Find something that will boot in 4mb ram and which can also create
|
||
ext2 partitions.
|
||
|
||
2. Use it to create a swap partition and a small ext2 partition on the
|
||
laptop's hard disk.
|
||
|
||
3. Uncompress the installation root-image and copy it onto the ext2
|
||
partition.
|
||
|
||
4. Boot the laptop from the installation boot-disk, pointing it at the
|
||
ext2 partition on the hard disk.
|
||
|
||
5. The installation should go more or less as normal from here.
|
||
|
||
The only question was whether a distribution that wouldn't install
|
||
(under normal circumstances) on the laptops would run on them. The
|
||
short answer is "Yes".
|
||
|
||
If you're an old Linux hand then that's all you need to know. If not,
|
||
read on - some of the steps listed above aren't as simple as they
|
||
look.
|
||
|
||
3. Choices Made
|
||
|
||
This section describes the choices available, which options are
|
||
practical, which ones I decided on and why.
|
||
|
||
3.1. What to use to create the initial root partition?
|
||
|
||
The best tool for this is a mini-Linux. There's a wide selection of
|
||
small Linuces available on the net, but most of them won't boot in 4mb
|
||
RAM. I found two that will:
|
||
|
||
|
||
SmallLinux http://smalllinux.netpedia.net/
|
||
SmallLinux will boot in as little as 2mb RAM but its root disk
|
||
can't be taken out of the drive, which is a shame since
|
||
otherwise it has everything we need (i.e. fdisk, mkswap and
|
||
mkfs.ext2). SmallLinux can create the needed partitions but
|
||
can't be used to copy the root partition.
|
||
|
||
muLinux http://sunsite.auc.dk/mulinux/
|
||
muLinux will boot in 4mb but only in a limited single-user mode.
|
||
In this mode fdisk and mkswap are available but mkfs.ext2 and
|
||
the libraries needed to run it are on the /usr partition which
|
||
is not available in maintenance mode. To use muLinux to do the
|
||
whole pre-installation procedure the files needed to create ext2
|
||
file-systems must be extracted from the usr disk image and
|
||
copied onto a floppy.
|
||
|
||
This gives the option of either using SmallLinux to create the
|
||
partitions and muLinux to copy the root partition or using muLinux to
|
||
do the whole job. Since I had two laptops I tried both.
|
||
|
||
3.2. The Distribution
|
||
|
||
It didn't take much time to choose Slackware. Apart from the fact that
|
||
I like it but haven't used it much and want to learn more, I
|
||
considered the following points:
|
||
|
||
|
||
<20> Slackware has possibly the most low-tech DIY install of all the
|
||
major distributions. It is also one of the most flexible, coming
|
||
with a wide range of boot-disk kernels to suit many different
|
||
machines. This makes it well suited to the kind of hacking about
|
||
required in this scenario.
|
||
|
||
<20> Slackware supports all the methods listed in ``Which Installation
|
||
method to use?''.
|
||
|
||
<20> Slackware is a distribution designed by one person. I'm sure
|
||
Patrick Volkerding won't object if I say this means its
|
||
configuration tools are simpler and more streamlined. In my opinion
|
||
this makes the job of trimming the installation to fit cramped
|
||
conditions easier.
|
||
|
||
Version 7.0 was the latest version when I tried this so that's what I
|
||
used.
|
||
|
||
3.2.0.1. But I don't like Slackware!
|
||
|
||
You don't have to use it. I can't answer for all the distributions but
|
||
I know that Debian, Red Hat and SuSE offer a range of installation
|
||
methods and have an "expert" installation procedure (-- Does Debian
|
||
do any other kind? --)
|
||
|
||
which can be used here. Most of the steps in this document would apply
|
||
to any of the distributions without change.
|
||
|
||
If you haven't used the expert method with your preferred distribution
|
||
before, do a trial run on a simple desktop machine to get the feel of
|
||
it and to explore the options it offers.
|
||
|
||
3.3. Which installation method to use?
|
||
|
||
|
||
Floppy Install
|
||
This means churning out 15 floppies - which only gives you an
|
||
absolute minimal install and requires a second stage to get the
|
||
apps you want on. It's also very slow on such low-spec machines.
|
||
This is a last resort if you can't make the others work.
|
||
|
||
Parallel-port Install
|
||
Where the parallel port has an IDE device, parallel cable or
|
||
pocket ethernet adaptor (-- A pocket lan adaptor installation
|
||
onto these machines will be very slow. --)
|
||
|
||
attached. This would be a good choice for the Aero, leaving the
|
||
PCMCIA slot free to run the floppy drive.
|
||
|
||
PCMCIA Install
|
||
As above, this could be a CD-ROM or network install. This would
|
||
be the best method for the T1910 - on the Aero it's a bit more
|
||
awkward.
|
||
|
||
ISA/PCI Ethernet Install
|
||
Not an option for the laptops, obviously, but included in case
|
||
your target machine is a desktop PC.
|
||
|
||
|
||
The tools I had to hand dictated a PCMCIA network install. I
|
||
will point out where steps differ for the other methods.
|
||
Whichever method you choose, you need to have a higher-spec
|
||
machine available - even if only to create the disks for a
|
||
floppy install.
|
||
|
||
|
||
3.4. Partition Layout
|
||
|
||
3.4.1. Basic Requirement
|
||
|
||
This procedure requires at least two Linux Native partitions in
|
||
addition to a Swap partition. Since one of the ext2 partitions will be
|
||
in use as temporary root during the installation it will not be
|
||
available as a target partition and so should be small - though no
|
||
smaller than 5mb. It makes sense to create for this a partition that
|
||
you will re-use as /home after installation is complete. Another
|
||
option would be to re-create it as a DOS partition to give you a dual
|
||
boot laptop.
|
||
|
||
3.4.2. How complex a layout?
|
||
|
||
There isn't room to get too clever here. There is an argument for
|
||
having a single ext2 partition and using a swap file to avoid wasting
|
||
space but I would strongly urge creating a separate partition for
|
||
/usr. If you have only one partition and something goes wrong with it
|
||
you may well be faced with a complete re-installation. Separating /usr
|
||
and having a small partition for / makes disaster recovery a more
|
||
likely prospect. On both machines I created 4 partitions in total:
|
||
|
||
|
||
1. A swap partition -- 16mb on the T1910, 20 on the Aero (I'm more
|
||
likely to upgrade the memory on the Aero).
|
||
|
||
2. /home (temporary root during installation) -- 10mb
|
||
|
||
3. / -- 40mb on the T1910, 30mb on the Aero.
|
||
|
||
4. /usr -- All the remainder.
|
||
|
||
In addition, the Aero uses hda3 for a 2mb DOS partition containing
|
||
configuration utilities. See the Aero FAQs for details.
|
||
|
||
3.5. Which components to install?
|
||
|
||
The full glibc libraries alone would nearly fill the hard disks so
|
||
there's no question of building a development machine. It looks as if
|
||
a minimal X installation can be squeezed in but I'm sure it would
|
||
crawl and I don't want it anyway. I decide to install the following
|
||
(for a full listing see ``Appendix A''):
|
||
|
||
|
||
<20> The core Linux utilities
|
||
|
||
<20> Assorted text apps from the ap1 file set:
|
||
|
||
<20> Info/FAQ/HOWTO documentation
|
||
|
||
<20> Basic networking utilities
|
||
|
||
<20> The BSD games
|
||
|
||
This selection matches the kind of machine described in ``What use is
|
||
a small laptop?''.
|
||
|
||
4. The Pre-installation Procedure
|
||
|
||
This section covers creating a swap partition and a temporary root
|
||
partition on the laptop's hard disk. Nothing here is Slackware-
|
||
specific.
|
||
|
||
4.1. muLinux Preparation
|
||
|
||
If you are going to use only muLinux to for this procedure then you
|
||
need to prepare a disk with mkfs.ext2 and supporting libraries on it.
|
||
From the muLinux setup files uncompress USR.bz2 and mount it as a loop
|
||
file-system. If you are in the same directory as the USR file and you
|
||
want to mount it as /tmpusr then the sequence for this is:
|
||
|
||
|
||
______________________________________________________________________
|
||
losetup /dev/loop0 USR
|
||
mount -t ext2 /dev/loop0 /tmpusr
|
||
|
||
______________________________________________________________________
|
||
|
||
|
||
|
||
>From there copy mkfs.ext2, libext2fs.so.2, libcomerr.so.2 and
|
||
libuuid.so.1 onto a floppy.
|
||
|
||
4.2. Prepare the installation root files.
|
||
|
||
Select the root disk you want - I used the color one with no problems
|
||
but the text one would be slightly faster in these low memory
|
||
conditions. Uncompress the image and mount it as a loop device. The
|
||
procedure is the same as in the above section but the root disk image
|
||
is a minix file-system.
|
||
|
||
Next you need 3 1722 floppies or 4 1440 floppies with ext2 file-
|
||
systems - it's better with 1722 disks as you don't need to split the
|
||
/lib directory. Give one floppy twice the default number of inodes so
|
||
it can take the /dev directory. That's 432 nodes for a 1722 disk or
|
||
368 for a 1440. If you specify /dev/fd0H1722 or /dev/fd0H1440 then you
|
||
don't have to give any other parameters so for a 1722 disk do
|
||
|
||
|
||
______________________________________________________________________
|
||
mke2fs -N 432 /dev/fd0H1722
|
||
|
||
______________________________________________________________________
|
||
|
||
|
||
|
||
If you have mounted the root image as /tmproot and the destination
|
||
floppy as /floppy then cd to /tmproot. To copy the dev directory the
|
||
command is
|
||
|
||
|
||
|
||
______________________________________________________________________
|
||
cp -dpPR dev/* /floppy/
|
||
|
||
______________________________________________________________________
|
||
|
||
|
||
|
||
For the other directories with files in (bin, etc, lib, mnt, sbin,
|
||
usr, var) it's
|
||
|
||
|
||
______________________________________________________________________
|
||
cp -dpPr directoryname/* /floppy/
|
||
|
||
______________________________________________________________________
|
||
|
||
|
||
|
||
Don't bother with the empty ones (floppy, proc, root, tag, tmp)
|
||
because you can simply create them on the laptop. boot and cdrom are
|
||
soft links pointing to /mnt/boot and /var/log/mount respectively - you
|
||
can also create them on the laptop.
|
||
|
||
4.3. Create the partitions.
|
||
|
||
4.3.1. Mini-Linuces and ext2 file-systems - an important note.
|
||
|
||
To save space, small-Linux designers sometimes use older libc5
|
||
librariesand where they do use up-to-date libc6 they leave out may of
|
||
the options compiled into full distributions, including some optional
|
||
features of the ext2 file-system. This has two consequences:
|
||
|
||
|
||
<20> Trying to mount ext2 disks formatted using a modern Linux system
|
||
can generate error messages if you mount them read-write. Be sure
|
||
to use the -r option when mounting floppies on the laptops.
|
||
|
||
<20> It is not wise to use the mkfs.ext2 that comes with the mini-Linux
|
||
to create file-systems on the partitions into which SlackWare will
|
||
be installed. It should only be used to create the file-system on
|
||
the temporary root partition. Once installation is complete this
|
||
partition can be reformatted and re-used.
|
||
|
||
4.3.2. Procedure
|
||
|
||
If installing on an Aero, make sure the floppy drive is inserted
|
||
before switching on and do not remove it.
|
||
|
||
|
||
1. Boot from the mini-Linux (-- With muLinux, wait until the boot-
|
||
process complains about the small memory space and offers the
|
||
option of dropping into a shell - take that option and work in the
|
||
limited single-user mode it gives you. --)
|
||
|
||
|
||
|
||
2. Use fdisk to create the partitions.
|
||
|
||
3. Reboot on leaving fdisk (with muLinux you may simply have to turn
|
||
off and on again at this point).
|
||
|
||
4. Use mkswap on the swap partition and then activate it (this will
|
||
make muLinux much happier).
|
||
|
||
5. If using muLinux then mount the extra floppy created in ``muLinux
|
||
Preparation'', copy mkfs.ext2 into /bin and the libraries into
|
||
/lib.
|
||
|
||
6. Use mkfs.ext2 to create the file-system on the temporary root
|
||
partition.
|
||
|
||
7. If you have been using SmallLinux, shut down and reboot using
|
||
muLinux. Don't forget to activate the swap partition again.
|
||
|
||
8. muLinux will have mounted the boot floppy on /startup - unmount it
|
||
to free the floppy drive.
|
||
|
||
9. Now mount the temporary root partition and copy onto it the
|
||
contents of the disks you created in ``Prepare the installation
|
||
root files''. Do not be alarmed by the error messages: if, for
|
||
example, you copy usr from the floppy to the temporary root
|
||
partition by typing "cp -dpPr usr/* /tmproot/" then you'll get the
|
||
error message "cp: sr: no such file or directory". Ignore this,
|
||
nothing is wrong.
|
||
|
||
10.
|
||
cd to the temporary root partition and create the empty folders
|
||
(floppy, proc, root, tag, tmp) and the soft links boot (pointing to
|
||
mnt/boot) and cdrom (to var/log/mount).
|
||
|
||
11.
|
||
Unmount the temporary root partition - this syncs the disk.
|
||
|
||
12.
|
||
You can simply turn off the machine now.
|
||
|
||
5. The Installation
|
||
|
||
This section does not give much detail on the Slackware installation
|
||
process. In fact, it assumes you are familiar with it. Instead, this
|
||
section concentrates on those areas where special care or unusual
|
||
steps are required.
|
||
|
||
5.1. Boot the machine
|
||
|
||
Make a boot-disk from one of the images. I recommend you use bareapm.i
|
||
on a laptop and bare.i on a desktop - unless you have a parallel-port
|
||
IDE device (pportide.i). Boot the laptop from it. When the boot:
|
||
prompt appears, type "mount root=/dev/hdax" where x is the temporary
|
||
root partition. Log in as root. Then activate the swap partition.
|
||
|
||
5.2. Floppy/Parport CD-ROM Install
|
||
|
||
In both these cases, no extra work should be necessary to access the
|
||
installation media. Simply run setup.
|
||
|
||
5.3. Network/PCMCIA Install
|
||
|
||
Slackware has supplementary disks with tools for these and
|
||
instructions for their use greet you when you log in. Use the network
|
||
disk on a desktop PC with ethernet card or a laptop with pocket
|
||
ethernet adaptor. Use the PCMCIA disk for PCMCIA install. Once your
|
||
network adapter/PCMCIA socket has been identified, run setup.
|
||
|
||
5.3.1. PCMCIA install on the Aero
|
||
|
||
The Slackware installation process runs the PCMCIA drivers from the
|
||
supplementary floppy. Because the Aero has a PCMCIA floppy drive, this
|
||
means you can't remove the floppy drive to insert the PCMCIA CD-
|
||
ROM/ethernet card. The solution is simple: the Slackware PCMCIA setup
|
||
routine creates /pcmcia and mounts the supplementary disk there, so
|
||
|
||
1. Create the /pcmcia directory yourself
|
||
|
||
2. Mount the supplementary disk to /mnt. Be sure to specify the type
|
||
as vfat - if you don't, it'll be incorrectly identified as UMSDOS
|
||
and long filenames will be mis-copied.
|
||
|
||
3. cd /mnt;cp -dpPr ./* /pcmcia/
|
||
|
||
4. Unmount the floppy.
|
||
|
||
5. Run pcmcia. When the script complains that there is no disk in the
|
||
drive simply hit Enter: Card Sevices will start. Connect your
|
||
PCMCIA device and hit Enter.
|
||
|
||
6. Run setup
|
||
|
||
5.4. Set-up
|
||
|
||
The Slackware set-up program is straightforward. Start with the Keymap
|
||
section and it'll take you forward step by step.
|
||
|
||
5.4.1. AddSwap
|
||
|
||
You do need to do this step so it can put the correct entry in fstab
|
||
but make sure it doesn't run mkswap - you're already using the
|
||
partition.
|
||
|
||
5.4.2. Target
|
||
|
||
In this section Slackware asks which partitions will be mounted as
|
||
what and then formats them if you want.
|
||
|
||
The safest bet here is to leave your temporary root partition out
|
||
altogether and just edit fstab later once you know you don't need it
|
||
for it's temporary purpose anymore. If you're going to reuse it as
|
||
/home then it is OK to designate it as /home - obviously, don't format
|
||
it now! If you intend to re-use it as a part of the directory
|
||
structure that will have files placed in it during installation (/var,
|
||
for example) then you absolutely must ignore it in this step: after
|
||
the installation is complete you can move the files across.
|
||
|
||
5.4.3. Select
|
||
|
||
Here you choose which general categories of software to install. I
|
||
chose as follows:
|
||
|
||
|
||
<20> A - Base Linux System
|
||
|
||
<20> AP -Non-X applications
|
||
|
||
<20> F - FAQs and HOWTOs
|
||
|
||
<20> N - Networking tools and apps
|
||
|
||
<20> Y - BSD games collection
|
||
|
||
I wouldn't recommend adding to this - if anything, prune it back to A,
|
||
AP and N. That gives you a core Linux setup to which you can add
|
||
according to your needs.
|
||
|
||
5.4.4. Install
|
||
|
||
Choose the Expert installation method. This allows you to
|
||
select/reject for installation individual packages from the categories
|
||
you chose in the Selection step. ``Appendix A'' goes through the
|
||
precise choices I made .
|
||
|
||
This part takes about 3 hours for a PCMCIA network install. You are
|
||
prompted to select individual packages before the installation of each
|
||
category, so you can't just walk away and leave it to run through.
|
||
|
||
5.4.5. Configure
|
||
|
||
Once the packages are all installed, you are prompted to do final
|
||
configuration for your machine. This covers areas like networking,
|
||
Lilo, selecting a kernel etc. Some points to look out for:
|
||
|
||
|
||
<20> If you did a PCMCIA install, don't accept the offer to configure
|
||
your network with netconfig. This will ruin your pcmcia networking.
|
||
Wait until you've rebooted and then edit /etc/pcmcia/network.opts
|
||
|
||
<20> This is the point where you should install a kernel. For a laptop
|
||
the bareapm kernel is best, for a desktop simply the bare one.
|
||
|
||
5.4.6. Exit
|
||
|
||
The set-up process is finished but you are not. Do not reboot yet!
|
||
There is another vital step to complete.
|
||
|
||
5.5. Pre-reboot Configuration
|
||
|
||
On a normal machine you would simply reboot once the installation is
|
||
complete. If you do that here you may have to wait 6 or 8 hours for a
|
||
login prompt to appear and another half hour to get to the command
|
||
prompt. Before rebooting you need to change or remove the elements
|
||
that cause this slowdown. This involves editing config files so you
|
||
need to be familiar with vi, ed or sed.
|
||
|
||
At this stage your future root partition is still mounted as /mnt so
|
||
remember to at that to the paths given here.
|
||
|
||
|
||
/etc/passwd
|
||
Edit this to change root's login shell to ash. ash really is the
|
||
only practical login shell for 4mb RAM.
|
||
|
||
/etc/rc.d/rc.modules
|
||
Comment out the line 'depmod -a'. You only need to update module
|
||
dependencies if you have changed your module configuration
|
||
(recompiled or added new ones, for example). On a standard
|
||
system it only takes a second or two and so it doesn't matter
|
||
that it's needlessly performed each time. On a 4mb laptop it can
|
||
take as much as 8 hours. When you do change your module set-up
|
||
you can simply uncomment this line and reboot. Alternatively,
|
||
change this part of the script so that it will only run if you
|
||
pass a parameter at the boot-prompt. For example:
|
||
|
||
________________________________________________________________
|
||
if [ "NEWMODULES" == "1" ] ; then
|
||
depmod -a
|
||
fi
|
||
|
||
________________________________________________________________
|
||
|
||
|
||
|
||
/etc/rc.d/rc.inet2
|
||
This script starts network services like nfs. You probably
|
||
don't need these and certainly not at start-up. Rename this
|
||
script to something like RC.inet2 - that will stop it from being
|
||
run at boot and you can run it manually when you need it.
|
||
|
||
/etc/rc.d/rc.pcmcia
|
||
On the Aero you should also rename this script, otherwise you'll
|
||
lose the use of your floppy drive on start-up. It's worth
|
||
considering for any other small laptop as well - you can always
|
||
run it manually before inserting a card.
|
||
|
||
Once these changes have been made, you are ready to reboot.
|
||
|
||
5.6. Post-reboot Configuration.
|
||
|
||
If you made the changes recommended in section ``Pre-reboot
|
||
configuration'' then the boot process will only take a few minutes, as
|
||
opposed to several hours. Login as root and check that everything is
|
||
functioning properly.
|
||
|
||
5.6.1. Re-use the temporary root.
|
||
|
||
Once you are sure the installation is solid you can reclaim the
|
||
partition you used as the temporary root. Don't just delete the
|
||
contents, reformat the filesystem. Remember, the mke2fs that came with
|
||
the mini-Linux is out of date.
|
||
|
||
If you intend to re-use this partition as /home, remember not to
|
||
create any user accounts until you have completed this step.
|
||
|
||
5.6.2. Other configuration tweaks.
|
||
|
||
In such a small RAM space, every little helps. Go through SlackWare's
|
||
BSD-style init scripts in /etc/rc.d/ and comment out anything you
|
||
don't need. Have a look at Todd Burgess' Small Memory mini-HOWTO
|
||
http://eddie.cis.uoguelph.ca/~tburgess/ for more ideas.
|
||
|
||
6. Conclusion
|
||
|
||
That's it all done. You now have a laptop with the core utilities in
|
||
place and 50 to 70mb spare for whichever extras you need. Don't mess
|
||
it up because it's a lot easier to modify an existing installation on
|
||
such cramped old machines than it is to start from scratch again.
|
||
|
||
7. Appendix A:
|
||
|
||
This appendix lists which packages (if any) from each category might
|
||
be included in the installation and gives my reasons for including or
|
||
omitting them. I made no attempt to install X so those categories are
|
||
ignored.
|
||
|
||
Although this appendix refers specifically to the Slackware
|
||
distribution it can be used as a guide with any of the major
|
||
distributions.
|
||
|
||
7.1. A - Base Linux System
|
||
|
||
Most of the packages in this category are essential, even those that
|
||
aren't listed as required by the Slackware set-up program. Because of
|
||
this, I've listed those packages that I felt could reasonably be left
|
||
out rather than all the non-compulsory packages that I installed.
|
||
|
||
7.1.0.1. Packages considered for omission:
|
||
|
||
|
||
kernels (ide, scsi etc.)
|
||
There's no need to install any of these, you get a chance to
|
||
select a kernel at the very end of the installation process.
|
||
|
||
aoutlibs
|
||
This is only needed if you intend to run executables compiled in
|
||
the old a.out format. Omitting it saves a lot of space. Omitted.
|
||
|
||
bash1
|
||
Bash2 (simply called bash in the Slackware package list) is
|
||
required for the Slackware configuration scripts but there are a
|
||
lot of scripts that need bash1. I included it.
|
||
|
||
getty
|
||
agetty is Slackware's default getty, this package contains getty
|
||
and uugetty as alternatives. Only include it if you need their
|
||
extra functionality. Omitted.
|
||
|
||
gpm
|
||
Personally, I find this very useful at the console (and the
|
||
Aero's trackball is very handy) but it's not essential.
|
||
Included.
|
||
|
||
icbs2
|
||
Not needed. Omitted.
|
||
|
||
isapnp
|
||
No use here. Omitted.
|
||
|
||
loadlin
|
||
Not needed with the setup described here - unless your old
|
||
laptop has some peculiarity that requires a DOS driver to
|
||
initialise some of its devices. Omitted.
|
||
|
||
lpr
|
||
You could argue that you can do your printing from whichever
|
||
desktop is nearest but I always find it useful to be have
|
||
printing capabilities on a laptop. Included.
|
||
|
||
minicom
|
||
Not a compulsory include but I want the laptop to do dial-up
|
||
connection. Very handy. Included.
|
||
|
||
pciutils
|
||
Not needed on these old laptops. Omitted.
|
||
|
||
quota
|
||
Not vital but it can be used to set limits that stop you from
|
||
overflowing the limited space available in these laptops.
|
||
Included.
|
||
|
||
tcsh
|
||
I recommend using ash as your login shell. Only include this if
|
||
you need it for scripts. Omitted.
|
||
|
||
umsprogs
|
||
You can leave this out and still be able to access UMSDOS
|
||
floppies. Omitted.
|
||
|
||
scsimods
|
||
No use on these laptops. Omitted.
|
||
|
||
sysklogd
|
||
This can interfere with apmd but it does provide essential
|
||
information. Included.
|
||
|
||
7.1.0.2. Packages installed:
|
||
|
||
aaa_base, bash, bash1, bin, bzip2, cpio, cxxlibs, devs, e2fsprog,
|
||
elflibs, elvis, etc, fileutils, find, floppy, fsmods, glibcso, gpm,
|
||
grep, gzip, hdsetup, infozip, kbd, ldso, less, lilo, man, modules,
|
||
modutils, pcmcia, sh_utils, shadow, sudo, sysklogd, sysvinit, tar,
|
||
txtutils, util, zoneinfo
|
||
|
||
Combined size: 33.4
|
||
|
||
7.2. AP - Non-X Applications
|
||
|
||
None of these packages are, strictly speaking, essential - although
|
||
ash is really required for sensible operation in 4mb. Leaving them all
|
||
out could save the vital space for you to squeeze in your favourite
|
||
app. I selected a minimal set of tools that I don't like to do
|
||
without.
|
||
|
||
7.2.0.1. Packages considered for inclusion:
|
||
|
||
|
||
apsfilter
|
||
Not much point having printing if you can only print text files.
|
||
Included.
|
||
|
||
ash
|
||
This is the shell for low-memory machines, only taking up 60k.
|
||
Use it as the default login shell unless you like waiting 10
|
||
seconds for the command prompt to reappear each time. Included.
|
||
|
||
editors (jed, joe jove vim)
|
||
elvis is the default Slackware editor and a required part of the
|
||
installation. If, like me, you are a vi fan then that's all you
|
||
need: installing vim would be wasteful duplication given the
|
||
space restrictions. If you can't stand vi and need a more DOS-
|
||
style editor then joe is small. Emacs fans with some self-
|
||
discipline might consider jed or jove rather than pigging out on
|
||
the full-size beast. Omitted.
|
||
|
||
enscript
|
||
If you already have apsfilter you don't really need this.
|
||
Omitted.
|
||
|
||
ghostscript
|
||
Including the fonts this comes to about 7.5mb. One to leave
|
||
until after the core installation, then consider if you need it.
|
||
Omitted.
|
||
|
||
groff
|
||
Needed for the man pages. Included.
|
||
|
||
ispell
|
||
Not an essential butvery useful to the overenthusiastic touch-
|
||
typist. included.
|
||
|
||
manpages
|
||
Included!
|
||
|
||
mc Slackware offers a lightweight compilation of mc but I'm happier
|
||
at the command prompt. Omitted.
|
||
|
||
quota
|
||
Not necessary on what is not a multi-user machine but you
|
||
may,like me, find it handy to stop you from forgetfully wasting
|
||
the little space you have. Included.
|
||
|
||
rpm
|
||
Don't bother. If you do have an rpm that you would like to
|
||
squeeze in, use rpm2tgz on a desktop machine to turn it into a
|
||
tgz package - then you can use the standard Slackware
|
||
installation tools. Omitted.
|
||
|
||
sc A useful little spreadsheet packed very small. Included.
|
||
|
||
sudo
|
||
Not essential but I find it useful here: it's a cramped
|
||
environment and an awkward reinstall if you mess things up -
|
||
sudo helps create user profiles with the power to do the things
|
||
you need without carelessly wiping your disk. Included.
|
||
|
||
texinfo
|
||
Info documentation. Included.
|
||
|
||
zsh
|
||
Leave this out unless you're addicted to it or have scripts that
|
||
must use it. Omitted.
|
||
|
||
7.2.0.2. Packages installed:
|
||
|
||
apsfilter,ash, diff, groff, ispell, manpages, quota, sc, sudo, texinfo
|
||
|
||
Combined size: 8.1 mb
|
||
|
||
7.3. D - Development Tools
|
||
|
||
You could fit C or C++ into this space but the glibc library package
|
||
is too big, so some pruning would be needed. Do the main installation
|
||
first and then try it.
|
||
|
||
There is room for Perl and Python.
|
||
|
||
7.3.0.1. Packages installed:
|
||
|
||
None
|
||
|
||
7.4. E - Emacs
|
||
|
||
I don't use Emacs and so saved myself some space. On the other hand,
|
||
if you are an Emacs fan then you probably use it for e-mail, news and
|
||
coding so you'll claim some of that space back by omitting other
|
||
packages.
|
||
|
||
If you do want Emacs it might be an idea to leave this out while doing
|
||
the core installation. Once the laptop is up you can try fitting in
|
||
what you want/need at your leisure.
|
||
|
||
7.4.0.1. Packages installed:
|
||
|
||
None.
|
||
|
||
7.5. F - FAQs and HOWTOs
|
||
|
||
If you know it all you don't need these. I installed the lot.
|
||
|
||
7.5.0.1. Packages installed:
|
||
|
||
howto, manyfaqs, mini
|
||
|
||
Combined size: 12.4 mb
|
||
|
||
7.6. K - Kernel Source
|
||
|
||
You can just squeeze it in. If all you want to do is read the source,
|
||
go ahead.
|
||
|
||
|
||
7.6.0.1. Packages Installed:
|
||
|
||
None
|
||
|
||
7.7. N - Networking Tools and Apps
|
||
|
||
These packages were selected to provide core networking tools, dial-up
|
||
capability, e-mail, web and news.
|
||
|
||
7.7.0.1. Packages installed:
|
||
|
||
dip, elm, fetchmail, mailx, lynx, netmods, netpipes, ppp, procmail,
|
||
trn, tcpip1, tcpip2, uucp, wget
|
||
|
||
Combined size: 15.1 mb
|
||
|
||
7.8. Tetex
|
||
|
||
Another set that will barely squeeze in. I can't say how it would run
|
||
in the space available.
|
||
|
||
7.8.0.1. Packages installed:
|
||
|
||
None
|
||
|
||
7.9. Y - BSD Games Collection
|
||
|
||
I'm addicted to several of these. If I really need that last 5mb they
|
||
can go.
|
||
|
||
7.9.0.1. Packages installed:
|
||
|
||
bsdgames
|
||
|
||
Combined size: 5.4 mb
|
||
|
||
7.10. End result
|
||
|
||
In total the installed packages plus kernel took up about 75mb of disk
|
||
space of which 19.5mb was in the root partition and 55.5 in /usr. On
|
||
the Aero that left 39mb in /usr, 74mb on the T1910.
|
||
|
||
8. Appendix B: Resources relevant to this HOWTO
|
||
|
||
|
||
Linux Laptop HOWTO
|
||
http://www.snafu.de/~wehe/Laptop-HOWTO.html
|
||
|
||
Small Memory mini-HOWTO
|
||
http://eddie.cis.uoguelph.ca/~tburgess/
|
||
|
||
Linux on Laptops
|
||
http://www.cs.utexas.edu/users/kharker/linux-laptop/ HOWTOs and
|
||
installation FAQs for a wide range of machines.
|
||
|
||
Linux T1910 FAQ
|
||
http://members.tripod.com/~Cyberpvnk/linux.htm
|
||
|
||
Linux Contura Aero FAQ
|
||
http://domen.uninett.no/~hta/linux/aero-faq.html
|
||
|
||
Contura Aero FAQ
|
||
http://www.reed.edu/~pwilk/aero/aero.faq Comprehensive FAQ on
|
||
all aspects of the Contura Aero compiled by the moderators of
|
||
the Aero mailing list. Good Linux section .
|
||
|
||
|
||
|