Re: I want to migrate to Linux



pcbldrNinetyEight <pcbldrninetyeight.com> wrote:

I want to migrate from WIN98SE to Linux and am looking for advise.

That is a *very* wise decision. :p

I recently built two Identical WIN98SE PCs. Even though I expect these
machines to last many years I know someday they will wear out and WIN98SE
compatible hardware will not be available.

Not to mention that - or so I have read, as I don't use Windows - Microsoft
has already stopped supporting Windows 98 SE with bugfixes and security
updates a few years ago. ;-)

I have no intention of ever buying MS OS again so I must take action so I
can continue building and using PCs in the future.

In my experience, most people transitioning from Windows to GNU/Linux (or
any other UNIX-style OS) have difficulty un-learning the misinformation and
Microsoft-indoctrinated misconception regarding what a computer is and how
it's supposed to behave.

However, if you really do commit yourself to honestly getting to know
GNU/Linux, then I'm convinced you will be asking yourself why the hell you
were ever using Windows in the first place. ;-)

One PC will serve as a test machine and the other will be my primary PC.
My plan is to start by booting from a LiveCD, then install Linux in a dual
boot with WIN98SE, then install just Linux. If I am successful I will
abandon WIN98SE on both machines.

Okay... Rule of thumb when installing Windows in any dualboot configuration
is to install Windows first. This is particularly required for more
reasons than with the later, NT-based Windows versions because Windows 98
still boots (and largely runs) off of a real mode DOS kernel, and must be
installed in the first primary partition on the hard disk which is detected
as the bootable disk by the BIOS at power-on, *and* this first primary
partition must start within the first 32 MB on the hard disk.

Install Windows as you normally would, and finalize the install procedure.
Then reboot your machine with the GNU/Linux installation CD/DVD and use the
remainder of the disk space for the partitioning layout - I will get into
this farther down.

The installer will want to set up a bootloader - you do need that, even if
you're not setting up a dualboot system - and if it asks you where to
install it, pick the master boot record of the first hard disk, _*not*_ the
bootsector of the first partition, as that would overwrite the MS-DOS
bootsector!

In UNIX-style operating systems, all hardware devices are represented by the
kernel to userspace by an abstraction layer in the form of a filesystem on
disk, typically in the directory */dev.* In most modern GNU/Linux systems,
the contents of */dev* are actually not on your disk but on a /tmpfs,/
which is a RAM-based filesystem dynamically populated and managed by
the /udev/ system, which in turn is automatically set-up as the default
method of using */dev* in just about every modern GNU/Linux distribution.

This nomenclature is not important from the user point of view with regard
to where your files are located on your hard disk(s), but offers an
abstraction layer to the hardware by which a set of extra operations -
among which the mounting of the partitions at boot time, which is normally
handled by your /init/ scripts, which in turn will be set up for you during
installation - can be used. Using these block special devices, one could
for instance make a mirror copy or an image of the contents of a partition
or an entire hard disk. You should think of these block special files as
being "raw devices", which you can read from and write to block by block
(or sector by sector, if you will).

In GNU/Linux, hard disks are thus represented as */dev/hda,* /dev/hdb* etc.
for IDE devices, whereby the order is the following...:

- */dev/hda* = primary IDE master
- */dev/hdb* = primary IDE slave
- */dev/hdc* = secondary IDE master
- */dev/hdd* = secondary IDE slave
- ...

An IDE CD-ROM will then typically also be accessible as */dev/cdrom,* which
will normally be a symbolic link - think of that as a Windows shortcut, but
integrated into the filesystem layer itself, whereas in Windows a shortcut
is a simple file which is recognized as a shortcut by its 3-character
filename exension - to the appropriate IDE device.

If on the other hand you have SATA or SCSI disks, the block devices - i.e.
the files in */dev* representing the disks - will be labeled */dev/sda,*
*/dev/sdb,* etc. An SATA, SCSI or USB CD/DVD device will then be labeled
*/dev/sr0* or possibly */dev/scd0* for the first one, */dev/sr1* or
*/dev/scd1* for a second one, and so on.

Partitions on hard disks are represented in the same way, with a block
device named after the disk that it is on, but with a number appended to
it. IDE/PATA hard disks can hold up to 63 partitions, but all hard disks
using the SCSI protocol - i.e. SAS, parallel SCSI, SATA and USB disks - can
hold up to 15 partitions only.

The number in the block device name of a partition - i.e. the device special
file under */dev* representing the file - is also important to understand
what partition we're dealing with. Say for instance that you have one hard
disk only in your computer, and that it is an SATA disk. And as you intend
to set up Windows 98 SE on it in dualboot with GNU/Linux, Windows will be
installed in a primary partition at the beginning of the hard disk, which
for the sake of ease (since it is Windows 98) be the first one on the disk.

With the above layout, your hard disk will be named */dev/sda* and your
Windows partition, being a primary partition, will be named */dev/sda1.*

Unless you have one of those latest state-of-the-art computers - e.g.
something with Intel Itanium processors - you will have a legacy BIOS chip
in your computer, and with such a legacy BIOS, you can only have up to four
primary partitions per hard disk, i.e. partitions for which there is an
entry in the partition table in the master boot record of your hard disk.

This means that if you need or want more partitions than that, you'll have
to start using logical partitions in an extended partition container. This
extended partition container itself must in itself be a primary partition -
i.e. a partition with an entry in the master boot record partition table -
but it will serve as a container for logical partitions and feature its own
extended partition table.

The extended partition container will have the partition number associated
with its rank in the master boot record partition table, so if the extended
partition container is the second primary partition, it will be labeled
*/dev/sda2.* However, any logical partitions inside this extended
partition container will always have 5 as the lowest partition number.
This is because the numbers 1 to 4 are reserved for primary partitions
(including the extended partition container itself).

To give you a practical example, say that you have one primary partition and
two logical partitions in an extended partition container - any partitions
created from within DOS or Windows 98 alongside the main Windows "C:"
partition will by definition be logical partitions in an extended partition
container as DOS and Windows 98 cannot access or even see more than one
primary partition per hard disk. Then your partitioning layout under
*/dev* would look something like this...:

- */dev/sda* = the entire (first) SATA hard disk
- */dev/sda1* = your Windows "c:" drive
- */dev/sda2* = the extended partition container
- */dev/sda5* = the 1st logical partition in the extended container
- */dev/sda6* = the 2nd logical partition in the extended container

Now, when it comes down to installing GNU/Linux, the GNU/Linux system
doesn't give a damn about whether it is installed in a primary partition or
a logical partition in an extended partition container, as long as the
bootloader can find its kernel.

However, there is something that does matter here, and that is that the
Linux kernel prefers and typically uses a dedicated swap partition as
opposed to the approach of using a swapfile in Windows. _Note: _ Linux
*does* support swapfiles as well, but they are less efficient because they
reside in a filesystem, whereas a swap partition is formatted in a special
way and does not have a filesystem on it.

As such, the most minimal GNU/Linux installation will require you to have a
minimal two partitions for GNU/Linux itself - i.e. next to any
Windows-specific partitions you wish to use - namely a root filesystem and
a swap partition. And I say "a minimal", because in UNIX-style systems, it
is possible to split off the contents of several (although not all)
directories from the root filesystem.

Most newcomers to GNU/Linux will typically opt for this minimal
partitioning, but more advanced users know that it is actually a good thing
to have separate filesystems for static and non-static, shareable and
non-shareable data, as this minimizes the chances of filesystem corruption
and file fragmentation - not that this really matters in GNU/Linux - and in
addition it allows one to keep several of these filesystems mounted
read-only during normal system operation, which forms an additional layer
in security and filesystem integrity.

Although most GNU/Linux newbies will - as mentioned above - use only a root
filesystem and a swap partition, it is generally advised to at least split
off */home* from the root filesystem to have your user files and the system
files on different filesystems. This will prevent any screwups you indulge
in from messing up the root filesystem - unless you're logged in as the
root user of course, which you should *never* do unless you are performing
system maintenance tasks - and at the same time it allows you to reformat
the root filesystem - e.g. if you want to install another (version of your)
distribution - without having to lose your data in */home.*

In practice - the installer will take care of this for you if you tell it to
- this means that the directory */home* would still be on the root
filesystem, but its contents would reside on a different partition on
either the same or a different hard disk. This separate filesystem will
then automatically be mounted into the filesystem hierarchy at boot time,
and from the user point of view, everything still looks the same, as
GNU/Linux follows the UNIX-style convention of a standardized filesystem
hierarchy, which you can read more about - if you're interested in the
subject - here...:

http://www.pathname.com/fhs/pub/fhs-2.3.html

With the example of a partitioning layout as we discussed higher up in mind,
your set-up with a separate */home filesystem would look something like
this - still provided that your hard disk is of the SATA type; if it is an
IDE/PATA disk, then substitute the letters "sd" by "hd" in the summary
below... Let's even expand this example and add a second FAT32 partition
for Windows - we call that /vfat/ in UNIX-speak. ;-)

- */dev/sda* = the entire hard disk
- */dev/sda1* = Windows 98 "C:" drive
- */dev/sda2* = the extended partition container
- */dev/sda5* = Windows 98 "D:" drive
- */dev/sda6* = GNU/Linux root filesystem - mounted on "/"
- */dev/sda7* = Linux swap partition
- */dev/sda8* = GNU/Linux user data filesystem - mounted on "/home"

A typical, fully-fledged GNU/Linux distribution for desktop usage with all
the whistles and bells for office work, multimedia, games, development
tools etc. will require about 5-6 GB of diskspace (including enough space
for temporary files and logs), and so you can give */home* the rest of
what's available. More advanced users will also split off */var* (in which
log files and printer spools are kept, and server-specific data such as
e-mail, websites, et al), */tmp* (which is usually used for sockets - in
UNIX, everything is a file ;-) - created by applications such as the KDE
desktop environment and which is writeable to all users and therefore to be
considered insecure), */usr* (which is where the bulk of multi-user
software will be installed and which is pretty much a static filesystem)
and */opt* (which is similar to */usr* but used mainly for applications
that do not conform to the typical UNIX FHS layout of subdirectories) and
*/boot* (which is where the kernels and the GRUB bootloader configuration
files live).

Pretty much every other directory in the root directory itself needs to
remain on the root filesystem as they contain files that are required at
boot time or in single-user maintenance mode. There are however a few
special directories that are worth mentioning...

We've already discussed */dev* higher up, and we've also seen that its
contents are usually on a /tmpfs/ - i.e. a swappable, RAM-based filesystem
- in modern GNU/Linux distributions. But then there are */proc* and
*/sys*. These directories are filesystem-like kernel exports, but they do
not consume _any_ diskspace. They form an abstraction layer through which
the system administrator and high-privilege processes can interact with the
kernel via a pseudo-filesystem.

*/sys* for instance is used - among others - by the /udev/ system, which
creates or removes device special files in the */dev* directory - Windows
users typically call directories "folders", but this is incorrect
nomenclature ;-) - at boot time or when hardware is plugged into or removed
from the system. As the kernel detects new hardware being plugged in, it
will export data regarding this hardware to the /sysfs/ mounted on the
*/sys* directory and will trigger the /hotplug/ event, which will in turn
allow /udev/ - an unprivileged (and thus safe) process - to read the data
from */sys* and create the required device special files in */dev.*

It all sounds pretty daunting as I've been pretty elaborate here considering
that you are new to GNU/Linux, but if you read all of the above a few more
times, you will come to understand and appreciate the logic in how a
GNU/Linux system works. ;-)

My priorities in order of importance are:
Support for my hardware. (I omitted a list for brevity in this first post
but will supply if you are interested)

A pretty recent Linux kernel supports most modern hardware and will
typically support most older hardware as well. Heck, there is still even
support for MFM and RLL hard disks in the kernel. ;-)

Support for WINE so I may continue to use my current software for which
there are no Linux alternatives.

Wine is a bit tricky in that it doesn't support all Windows software. Some
Windows software - notably that which requires DirectX support - will not
work with the default version of Wine. There are however (commercial)
versions of Wine such as Crossover Office and Cedega which are better at
handling such applications. Crossover also contains browser plugins for
typical Windows-oriented websites.

I need to get this OS up and running quickly with little previous
knowledge. Until I have time to learn the syntax of Linux I need to pick a
distro that supports point and click as much as possible. I have told my
wife that she too is migrating to Linux and she also needs a point and
click OS.

Most desktop-oriented GNU/Linux distributions are extremely userfriendly
these days and allow you to set up the system through a mouse-driven
graphical user interface. In fact, several Windows-GNU/Linux comparisons
in magazines stated that installing a modern GNU/Linux distribution with
all application software happened faster and more effortless than
installing Windows XP.

Despite my display of some minor Windows knowledge higher up in this post, I
don't use Windows, so I couldn't really tell, but what I do know is that
I've already installed several complete GNU/Linux distributions on servers
and workstations in timespans ranging from 15 minutes to about 2 hours -
the latter being because I went over each and every package in order to
decide whether or not to install the package. ;-)

I am considering the following distros and given my goals I would
appreciate your input and or additional suggestions:
PCLinuxOS

Very good choice. Mandriva, from which PCLinuxOS is a spin-off, would also
be a good choice.

Do however bear in mind that freely downloadable distributions typically
don't come with the proprietary drivers for video or wireless LAN adapters
due to licensing restrictions, but installing those from the vendor's
website should not be too hard. :-)

Ubantu

Ubuntu seems to be one of the most popular distributions, along with its
relatives Kubuntu, Xubuntu, Edubuntu and whatever else they have out these
days. :-)

Ubuntu uses Gnome as the desktop environment and will by default only
install Gnome-compatible graphical applications. Kubuntu uses KDE as its
desktop and will normally only install KDE-compatible graphical software.
However, one can install KDE and KDE apps on Ubuntu or Gnome and Gnome apps
on Kubuntu. Xubuntu uses XFCE 4 as the desktop environment, and Edubuntu
is aimed especially towards children.

I chose this NG to post because it looks fairly active. If there is a
better NG for my questions then please advise. Thank you for your help.

Well, anything hardware-related can normally be discussed here, but
depending on your distribution of choice, more detailed and
distribution-specific issues can be handled in the distribution-specific
groups. I'm not sure whether there is an Ubuntu-specific group - I haven't
checked - but Ubuntu and siblings are Debian-based, so the Debian groups
should provide for some useful information as well. Similarly, if there is
no PCLinuxOS-specific group, /alt.os.linux.mandriva/ may offer some useful
information as PCLinuxOS was created by TuxStar, who used to work for
Mandriva, formerly known as MandrakeSoft. ;-)

Anyway, I hope the above was of any use to you.

P.S.: If you choose to reply to this post of mine and you wish any more
input from me - not that I consider myself to be any more important or any
more knowledgeable than any of the other fine posters on this newsgroup;
quite the contrary even! - then please trim away the irrelevant stuff as my
ISP's newsserver drops all posts exceeding a certain amount of lines -
typically around 250 - and will thus most likely also drop this very post
itself for all of its clients.

As such, I won't be seeing your replies if you leave the all of the stuff I
wrote as quoted text in them, and my sense of responsibility would have me
wondering whether you'd be talking to me without that I know. ;-)

Additionally, most of the other users will be grateful towards you for
trimming down lengthy posts - it saves up on bandwidth. :p

--
Aragorn
(registered GNU/Linux user #223157)
.



Relevant Pages

  • Missing applications after XP clean install/reinstall - Help!!
    ... Here's my problem in a nutshell: I've reinstalled Windows XP SP2 clean. ... I've managed to get my main user profile back so I have all of my documents, ... I have the install disks for a lot of my major applications - Microsoft ... 40GB partition. ...
    (microsoft.public.windowsxp.setup_deployment)
  • Re: Missing applications after XP clean install/reinstall - Help!!
    ... Here's my problem in a nutshell: I've reinstalled Windows XP SP2 clean. ... I've managed to get my main user profile back so I have all of my documents, ... I have the install disks for a lot of my major applications - Microsoft ... 40GB partition. ...
    (microsoft.public.windowsxp.setup_deployment)
  • Re: Dual boot problem
    ... The install went smoothly but when the computer restarted it ... went straight into Windows XP and the Grub Bootloader did not appear! ... One produced the same problem) For some reason the Grub bootloader had ... install GRUB on the first track on the partition where I installed ...
    (comp.os.linux.setup)
  • Re: Corrupt Windows XP config file
    ... I attempted to install Windows XP in the second partition, ... I then brought up the Recovery Console and used the FIXBOOT command to try ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: Can someone else help? Was changing partition size.
    ... with one hard drive, that Windows 98 does not list. ... My Computer still does not list the partition that has ... two hard drives. ... This should fix the boot sector on the C: drive and allow you to boot ...
    (microsoft.public.windowsxp.general)