Usability data regarding installation
Downloading or getting an ISO
Report of steps to installing SuSE 9.1, user with no previous linux experience:
I have noticed several installation reports where the user started by having trouble downloading the ISO files and successfully burning them to CD. Also many users do not have internet connection or only have dial up connection. It is often preferable to purchase CDs rather than to download and burn. If you purchase directly from the distribution installation support is often included in the price. Most distributions are also available legally from linux cd copying services at very low cost per disk. Google for linux cds or try cheapbytes.com.
As a new potential user, I found that the hardest thing was figuring out what hardware I should have and buy to make an installation go well. For example, I needed a wireless card and found that the one I had did not work. I was willing to buy a new one, but couldn't find anything on what actual cards would work. I did find a number of sites, but they discussed chipset specifics, not 'box I can buy at the store' specifics. Also, it seemed that adding support for many of the boards involved patching and recompiling the kernel, which was a step I was not willing to take.
It seems that wireless cards are on the 'wild west' part of the support spectrum, but I imagine that there are similar problems for other hardware. A hardware selection and debugging guide would be quite useful to ensure that an installation is successful.
I also have encountered hardware compatability issues. About a year ago I rebuilt my computer with a motherboard that has builtin NIC and sound. For the last six months I have been trolling the hardware compatability lists on the various Linux sites, trying to find out about compatability of their distro with my system. At first, no one listed anything. Now, most of them say that it is not supported, except SUSE that claims partial support. They claim that I have to download a driver from the motherboard manufacturer for support of the NIC and tell me to look elsewhere for the sound support.
Before the mobo started appearing on the not compatable lists, I did try to install one Linux distro anyway. (Not Suse.) During the initial configuration steps it had no problem accessing the NIC, but when it finally got around to the complete install, it claimed that it could not access the NIC. No explanation was provided. I checked the mobo site and downloaded the driver. It would not compile. I thought about debugging it, but then I decided that the time spent trying to understand someone else's code was not worth it when I had something from the evil empire that worked. I surmise that the initial access was at 10 megabits, and the complaint was that it could not support higher speeds that the NIC is capable of (10/100/1g). Tell me how I can use the driver that was used during configuration, even if it won't push the NIC to its limits, it will probably be faster than my internet connection.
In general, the lack of support for more current hardware is what I find most daunting about Linux and any help and suggestions would be valuable.
- mannyack: this is a great story for the main page; just mention the distro you used!
- -- MathFox 17:50, 14 Jun 2004 (EDT)
The first question that a new Mepis user asked me was,"Where are the drives?" He meant C: and so on, because he's an MSWindows user. Mentioning "partitions" probably doesn't mean much to MSW users either, since they don't see the word in day to day computer use. Pointing out that there are no drives, just "directories or file folders" might make more sense. It also conforms to the original UNIX concept:- everything is a file, not that they'd care.
See this page: Linux Concepts
Suggestions concerning usability
Installing additional Software
There should be a section on how newbies can find and install software on Linux. This seems to be the most difficult part of Linux for Newbies.
I don't know much about Linux at all, but wouldn't it be most helpful to newbies if sites like this gave links to people selling computers with linux and an operating system pre-installed?
Information and tutorial regarding installation
(in reply to:) Drive letters
This is a good point. See the "Partitions" section below. But I'll flesh this out for newbies. See the Linux Concepts page.
Many people are unaware that you can replace your computer's operating system (OS). Most people don't even know what an operating system is. This introduction will explain all of that and guide you through a general Linux installation. By the time you are done with this article, you'll know exactly why Linux installation procedures ask the things they do, and what answer you should pick.
An operating system in the strictest sense manages the computer's hardware resources; it is a layer between the programs and the hardware. Computers can run a variety of operating systems. The most commonly used OS today is Windows. (If you've used computers for more than about 10 years, you may remember DOS—Disk Operating System—which ran Windows 3.1. Windows 3.1 was a program that ran on top of DOS...Windows 95 was the first Windows product that was an actual operating system in its own right.) Linux is another. Each has their own way of doing things. At the core of every OS is a piece of software called the 'kernel'. Linux's kernel is contained in a file named vmlinuz. Windows' kernel is stored on the hard disk in a file named krnl386.exe. A kernel by itself is pretty useless as it only provides core functionality that software applications can use directly, not functionality that an end user would use directly. When you install an operating system you get a kernel plus a bunch of other software applications at the same time such as utilities, word processors, browsers, etc. Windows gives you Windows Media Player, Paint, and Internet Explorer, to name a few. Linux does the same thing too. The difference though is Windows only comes from Microsoft, so all Windows installations are about the same. Linux (the kernel) can be packaged up by anyone with a selection of other applications. This is what is called a distribution. Redhat, Suse, Mandrake, Slackware are all Linux distributions, but they are all bundled with different programs.
If you don't have Linux CDs, use Windows to download the CD image files (called ISOs) from the distributor, and burn to a CD using "burn image". Look for a "Minimal image" which allows for network installation of the rest of the packages, It is a 100-200 Mbyte download, instead of the 600-700 Mbyte for each full image. You can download the needed packages during installation, provided you have a broadband internet connection. (If not, ask a friend to burn the CDs for you, or consider purchasing them on one of the many websites offering the distributions for sale at a minimal cost.)
Right after you turn on your computer, it performs a hardware check. If there are problems with the hardware a bunch of cryptic (yet documented) beeps will inform you as to what the problem is. This is called the POST, or Power On Self-Test. This is a program that is burned onto a computer chip that is on the computer's motherboard. The POST program is part of a bigger set of software called the BIOS, or Basic Input/Output System. The BIOS also investigates what hardware you have and configures it. You can also set options like where to look for ("boot") the operating system. Popular choices are the First Hard Disk Drive, Second Hard drive, CDROM (CDROM is often used to install Linux), Floppy Disk Drive, over the Network and on a USB device, to name a few. Your options will vary depending on the age of the computer, its manufacturer, and the particular brand of BIOS it has.
The last thing that your BIOS does is it looks at those settings to see where it should look for the operating system. Generally this is set to 'Hard Disk 0' or 'C:' or something to that effect. Wherever it is told to look, it expects a special program to run called a Boot Loader. In Windows 95, 98, and Millennium, this said something like: "Starting Windows 95..." This message marks the transfer of control from the BIOS to the operating system. At this point the BIOS has done its thing and has turned control of the computer over to whatever OS you have installed (in the example case, Windows 95). Before this point, whatever programs have run to get your computer to this far (the BIOS) are burned into chips that are part of your computer. After this point, the software that runs is determined by the software you have installed on your machine (including the OS).
Configuring the BIOS for a Linux Installation
In order to install Linux (assuming you're installing from a Linux CD), your boot option must be set to CDROM. If it is set to 'HDD-0', 'First HDD' or 'C:' it won't ever try to run the Linux installer on the CD. The easist way to test is to put the CD in your computer and reboot it. If it starts the Linux installer, then you can move on to the next step.
On some newer BIOS's, you may be able to press a special key on your keyboard (such as F8) while the computer is booting that will take you to a boot menu where you can ask to boot from CDROM. Look carefully on your initial boot screen to see if mentions what key to press to select the boot device.
If a special boot key is not available, you'll have to change a setting in your BIOS. To get into your BIOS, you have to hit a certain key at a certain time during system startup. This key varies, but it usually is the 'Delete' key. Compaq uses 'F10', and some others use 'F2'. Whatever the key you should hit it a couple of times while your BIOS is doing its thing for a few seconds right after you turn power on. Once successful, you'll have a menu, usually blue and white, but it will vary. From here on out, you have to look through the options looking for that boot order option. Most BIOSs allow you to specify an order - the first bootable thing it find it will boot. The order generally is (First) Floppy, CDROM, HDD-0 (Last). As long as CDROM comes before your first Hard Disk, you'll be fine. Most computers should come this way from the factory these days.
After you get your Linux distibution CD to boot you've crossed your first hurdle.
The next tricky thing for new Linux users is understanding filesystems. Your Linux installer will want to put down a new filesystem on your computer. A filesystem is just a format for writing and tracking files on a disk. Windows 95/98/ME use the 'FAT' filesystem. Windows 2000 and XP use 'NTFS'. Linux uses several file systems, but mainly 'ext3' these days. It is not important to know what these things mean, they are just names, and their names really don't tell us much. Most Linux installers can do this automatically these days, but it will definitely help to understand what is going on so you get exactly what you want.
A blank hard disk is completely devoid of anything on it. In order to use it you have to 'partition' it. In windows this was easy because it used the whole disk as one partition. Linux wants at least two. Linux wants one for files (just like windows does) but it wants another one for "swap". "Swap" is a cool trick to let stuff spill out of RAM (chips on the motherboard) onto your hard disk when your memory is full. It slows things down when you're over flowing, but your computer keeps working rather than crashing. When you're no longer overflowing, things speed back up. Windows does the same thing, but it doesn't use a partition, it just uses a file called "pagefile.sys" instead.
Considerations for a Dual Boot System
The important things to note about these file systems, is that Windows can only read Windows filesystems. That means only FAT and NTFS will be seen by Windows -- no Linux partitions will be visible because those parts of the disk are structured in a way that Windows doesn't understand. But the opposite is NOT true. Linux can see and use Windows partitions just fine. It is an important thing to know: if you want to trade files between the two, you need to keep your files on your Windows partition. (Once you get a little more advanced, you'll learn there are programs you can install for Windows that allow it to see and use Linux partitions.)
Anyway, if Windows was on your computer, Linux will need space for itself since Windows claims the whole disk for itself by default. Modern Linux installers today can resize your old paritions to make room for Linux automatically. If it can't then you have some complicated work ahead of you. The easiest way to put Linux on a computer with Windows is to add another harddisk to the computer and let Linux have the new one all to itself. You can probably use a harddrive laying around or out of an old computer. A 5 Gigabyte harddive will be plenty for most people.
You will hopefully fit into one of three catagories:
- You don't care about your files and will let Linux have the current disk all to itself. (And destroy your files in the process)
- You added a harddrive and will let Linux have that all to itself.
- You are using a modern installer that will resize your Windows partition.
If you are not in one of the three catagories above, you'll need some additional help, but it can be done. It's just too much to write here.
We're now ready to partition the hard disk. Letting the installer do it is easiest, and until you're more familar with Linux, it's best to just go with that. The last thing that needs to be addressed before moving on is how Linux refers to partitions. Windows uses A:, B:, C:, etc.. up to Z:, where Linux uses /dev/hda /dev/hdb /dev/hdc /dev/hdd. One thing that often confuses new users is that Windows "drive letters", like C:, doesn't actually refer to drives, but partitions. That is, if a hard drive is split into multiple paritions, Windows refers to those partitions as "drives" (starting alphabetically from C, like C:, D:, E:, ... Z:. A: and B: are reserved for floppy drives only) even though they're actually partitions that live on the same hard drive. Linux makes the distinction between drives and partitions clear by using a number to refer to the partition and a letter to refer to the drive designation. For example:
- /dev/hda1 is first partition, 1, on the first hard drive, a (Windows would call this "C:")
- /dev/hda2 is the second partition, 2, on the first hard drive, a ("D:")
- /dev/hdb1 is the first partition, 1, on the second hard drive, b ("E:")
- /dev/hdb2 is the second partition, 2, on the second hard drive, b ("F:")
Using the pattern above you should be able to find the files from Windows in Linux (remember to take into account that Windows will completely ignore Linux partitions, as if they didn't exist, unless you have special software that allows Windows to recognize them).
Once space is made for Linux, the installer will format the partitions. This is like laying down a grid so the computer can find files later. This process is pretty quick compared to Windows. Rejoice: the hardest part is over.
After the partitions are formatted, it's a simple matter of copying files over. Once the file copy is done (which is by far the bulk of the installation time), you'll have a few other choices to make.
If you have a SCSI drive and you are a beginner, you'll probably be better off using what is called an "IDE" drive because almost all beginner's documentation assumes you'll be using one. Either get a machine with an IDE drive in it, or get a cheap IDE drive instead and fit that. You check for and configure IDE drives using the BIOS as above. If you insist on using a SCSI, the partitions are referred to as /dev/sda1, /dev/sda2, /dev/sdb1 etc.
The hardest choice is on the screen that refers to "boot disks", "boot loaders", "lilo" and "grub". Windows comes with a bootloader called 'NTLDR' that is only capable of loading Windows-family OSes, so Windows can only boot Windows. Well, Linux comes with a choice of two boot loaders that can boot not only Linux, but many other operating systems, including Windows. These are called 'grub' and 'lilo', and each has its own way of doing things. For now, just select whatever the Linux installer suggests. Most installers, if they saw a Windows partition will configure that as an option so you can boot your computer into Windows or Linux. Be aware that if you [re]install Windows after having installed another OS, Windows will replace your boot loader with the Windows-only boot loader, destroying any configurations for that boot loader you've chosen, so it pays to be careful! It is always prudent to assume the worst, that you may have to reinstall an OS on your computer at some later date due to severe system crashes or whatever reason. It is for this reason that you will be asked to create a 'boot disk' (a floppy disk). If you are still going to use Windows on this computer, it is a good idea to make a boot disk, because that will let you reinstate your boot loader so you can boot into Linux or Windows, even if Windows tries to take back your computer. (Don't forget to make sure that your BIOS boot order is Floppy, CDROM, HDD-0)
X Window System
Linux (and Unix) use a piece of software called X Window System (usually just called "X") to provide a graphical user interface. This piece sits between the Linux kernel and your monitor. X can even send windows (the desktop widgets, not the OS) to other computers on the network! But despite the incredible things it does, configuring X is the cause of most dissatisfied users.
Today, X can detect most everything it needs to automatically. However, it always helps to take a few precautionary steps before booting the Linux installation CD and installing Linux.
- In windows, right click on My Computer, pick 'Properties' pick the 'Hardware' Tab, click 'Device Manager'. Expand the Display Adapter Tree. Write down the model of video card that you have. Do the same for Monitor.
- If you can, find your manuals for these things. In the manuals they will specify several technical specifications that X might ask you for. If you can't find the manuals that detail your monitor and video card (they should have come with your computer), try checking the manufacturers' websites...often they have on-line copies available.
X will only ask you for this technical information if your video card is too new or too old. With these settings, you can configure X to use 100% of your graphics hardware's capability. Current, well-established hardware is well-documented, and people have already programmed X to fully exploit all of these hardware features.
You may get warnings at this point similar to: "This could damage your hardware". While this is true, trying out incorrect settings in the short term just to see if they work presents little risk, though it's not a good idea to leave your system with bad settings that do not conform to the specifications in your hardware manuals. Keep in mind that modern monitors and video cards have protections in place that will prevent improper X configurations from damaging them. You should use a little more care if you are using older hardware that does not provide such protections; the warnings are mostly intended for these situations.
X will ask you for a couple things:
- The chip that drives your video card - this is the CPU on your graphics card. (This is a different CPU from the main CPU in your computer.)
- The amount of memory your video card has - this determines the maximum number of colors and the screen resolutions you can choose
- The frequency ranges of your monitor - how fast your monitor can draw across and down the screen.
The monitor and video cards need to be within each others capability ranges. That is, if your monitor supports a maximum screen resolution of 1024x768, you won't be able to set 1280x1024 even if your video card supports it. If your video card supports refresh rates of up to 72Hz, you shouldn't try to set a higher value even if your monitor supports higher rates.
The values you put in will be used by X to figure out which display options it can allow you to configure once the Linux is fully installed. Again, these questions will only be asked if X doesn't already know the answers for your hardware.
The System Administrator Account
Typical Linux users usually operate under many restrictions. For example, one user should not be able to access another user's files, or delete them, unless it's ok with that user. At the same time, every system must have at least one user that has special privileges to access anything at any time. Without such a "super-user", new user accounts could not be created, and there would be no way for any one user to back up the entire system including all users' files, for instance. When you install Linux, you'll be asked to choose a password to access this special user account. This user goes by many names—the system administrator, admin, the super-user, and root—but they all refer to the same user account, and the username associated with that account is 'root'. All system critical files come assigned to root, and to make system-wide changes, you need to login as root. But that is the only time the root account should be used. Give yourself a normal user account and use that for all your normal user activities such as browsing the web and reading email. This will prevent you from accidentally messing up important system files on your computer. This will also prevent viruses, pretending to be you, from intentionally messing up those system files. Viruses that attack the Linux operating system are rare, but they do occur. Note that they are rare because of the separation between normal user activities and system administration activities. By logging in as yourself, the scope of damage that can be done is limited to just your account and not the whole computer.
And there you have it. When the installer is done it will reboot. Login as yourself and enjoy.
Packages Are What Make a Distribution a "Distribution"
Almost any installation process is incomplete without package selection. This is where you select what applications you want to install. Linux is a system based on the idea of providing users with choices...so, don't be surprised to discover, for example, several different web browsers installed by default. Once you use them all and decide the one you like best, you can stick with that one while allowing other users to choose which ever browser they like. To support all users' preferences, multiple types of each kind of application are usually available on Linux systems.
Moreover, a user doesn't necessarily know the interdependencies between packages. If a user selects a package from the list, all pre-requisite packages should also be automatically selected. Otherwise, users might find that their software does not work properly or at all because they forgot to install some of its components.
In fact, the list of package options should be made more user-friendly. Descriptions should be useful and pertinent, similar packages should be grouped together, and packages with dependencies should have their dependencies as a sub-division.
Regarding the useability study part of GrokDoc: Thank you whoever wrote this page for it covers so damn much that I *didn't* know and didn't have a clue I didn't know, and is so important to actually successfully installing any distro. Yes, I'm slightly more clued up than "What is the ANY key?" but not much more. Again, a deeply felt "Thank you" from a total Linux newbie who has successfully installed Linux but didn't have a clue about anything else. Now - how the heck do you get it to be a firewall first, and hooked up to the Internet (via Dialup) second, and third, get a Windows machine to use the Linux box as its internet connection? And all at a similar (or simpler) level of presentation and coverage of information as this page has been?