Build a Linux PC ( part 1 )

There is a document that has been floating around the internet for at least fifteen years, called ‘What if operating systems were airlines’. The entry for Linux Airlines states: “When you board the plane, you are given a seat, four bolts, a wrench and a copy of the seat-HOWTO. html”.

It’s an old joke but as Linux users we are still more accustomed to sometimes having to do things for ourselves than users of other operating systems. Not that this is necessarily a bad thing, as it means we understand our computers better. Still, at least when you want a new PC you can just go out (or online) and buy one.

So why do people build their own? Over the next few pages we will try to answer this question, as well as the more complex questions that arise when you try to do it, such as: how hard is it to do? What are the risks? What about warranties? Will it save me money? Can I build a computer with no Windows? And many more.

There are several reasons why you may want to build your own, not least of which is the satisfaction of understanding your computer that little bit more, but this information is not only useful if you want to build a new system from scratch. Much of what we cover here will also be of benefit if you are looking to upgrade an existing computer.

We will been concentrating on desktop systems, which are generally very easy to work on – we find LEGO more taxing. Laptops are another matter, but many of the points about choosing suitable Linux- compatible components still apply and we will end with a look at picking a laptop, or any other type of sealed box, such as one of the popular nettop systems. Why build your own computer?

You may be able to save money by sourcing the components yourself, but don’t bank on this. What you do get to do is pick the exact specification you want – no throwing away parts to upgrade to what you really wanted. You also get to choose the quality of components you use.

You can buy one of these and get whatever the maker puts inside, or you can assemble it yourself and get exactly what you want.

A pre-built PC may say it has a 2TB hard drive, but that tells you very little. Most hard drive manufacturers produce several drives of that size, with varying speeds, power consumption and intended usage. You will learn a lot more about components doing it yourself, and while putting together a desktop PC is not difficult, doing so will give you the confidence to dive back inside it when you want to upgrade.

You can also upgrade incrementally – once you have a computer you understand, you can increase its hard disk or memory capacity now, then add a faster processor and motherboard next year.

What do you need?

There are several standard building blocks needed to build a computer. As a minimum, you will need: processor, motherboard, memory, storage drive, graphics card, case and power supply.

You may also need a monitor, keyboard and mouse; but you could be building a media centre that uses a remote control and plugs into a TV, or a headless server such as a NAS box. Over the next few pages we will look more closely at each of these, explaining the choices to be made.

The idea is not to tell you which components to choose but to give you the information to make that decision for yourself based on your particular needs. When you have built your computer, you will then need to install an operating system and software.

Naturally, we assume you will install Linux but you may also need to install Windows for gaming or some other particular software needs, so we will look at how to install the two OSes in perfect (well, almost) harmony.

Choosing the components

When it comes to choosing your components, you need to take into account what you will use the computer for now and what other uses are likely. The usage can dramatically alter the choices you make, eg a gaming system needs fast storage but not a lot of it for the OS and current games you are playing, so an SSD is ideal.

A NAS is the opposite, lots of space needed but speed is not critical, so a slower spinning hard drive would be better. Linux users have another aspect to consider: compatibility.

While the situation is far better than at any time in the past, there are still components that are better supported than others. Let’s work through the main components you will need and look at your options.


Find the price-performance sweet spot for your preferred processor manufacturer.

The first decision to be made is which processor to use, as this affects your choice of motherboard and then just about everything else. The choice may seem obvious: get the fastest you can afford, but things are never that simple. The fastest processors are also the most expensive, often by a substantial margin. There’s a value for money sweet spot that’s usually a couple of steps down from the ultimate.

Processor speed is not everything, as memory can have a greater effect on your computer’s performance. Going down a step in processor speed and spending the savings on more memory, or an SSD, will usually result in a faster computer.

Try leaving a system monitor like top running while you use your computer and see how often you use all of your current processor’s performance. Unless you are a gamer, or spend your spare time compiling custom kernels, you will be surprised at how rarely your processor usage becomes a limitation. The other choice to be made is between Intel or AMD hardware.

You could try a web search on which is best but be prepared to spend some time searching for real facts among the religious fervour. The truth is that processors are so fast nowadays that for a home system, you would be happy with either. Processor choice affects the choice of motherboard, so it may be that, depending on your needs and budget, you end up choosing a CPU to go with the motherboard you want.


If the processor is the heart of your computer, the motherboard is the central nervous system. Everything plugs into this board. In the past, that was all a motherboard did: connected everything together. Now they contain a lot of previously separate components built in, such as network interfaces and sound cards.

As Intel and AMD use different CPU sockets, choosing your processor immediately reduces the number of motherboards you have to choose from. Now there are some questions you need to ask, such as do I need more than one network interface? How much memory will I want to fit – now and in the future? How many SATA connectors will I need – don’t forget to allow for one for your optical drive and possibly an external eSATA connector too.

When it comes to assembling a PC, the motherboard is just the thing that everything else plugs into.

Also, how fast are the SATA interfaces? This is especially import if you are using an SSD. How many USB ports do I need, and what type? While USB 2.0 is fine for a keyboard and mouse, you will want USB 3.0 connectors for storage devices, and possibly a USB-C connector. Consider the built-in devices of a motherboard you are interested in, such as network interfaces and sound ‘cards’. While the motherboards themselves will work with Linux, will the peripheral devices?

Sound cards aren’t much of an issue these days as most support the Intel HD Audio standard but check anyway as the codecs in use can vary. Wired network devices are also generally well supported, but you may have problems with a very new motherboard that uses a device not yet supported by the current kernel of your chosen distro.

As usual, a quick search of your favourite search engine, using the name of the board and the Linux distribution should turn up and potential problems and solutions. Support for onboard devices may not be a critical issue if you have enough PCI slots you can install alternatives and then disable the built in hardware. Size can be important.

If you are building a system in a large tower case, a full-sized ATX motherboard is easier to work with, but for a media centre you may want a smaller form factor that will fit in an attractive case that can go under your TV.

Leave a Reply

Your email address will not be published. Required fields are marked *