Getting Started
We'll be building a system capable of running xwindows, dialing into
the internet, connecting to the internet through your home or business
network, or anything else you can imagine. Not interested in the client
side of things? Ok, how about an Apache web server? It's going to start
off very basic and work it's way up from there. In fact, it's going to
be so basic to start, all you will be able to do is boot it up and then
shut it down the first time! You won't even be able to browse directories
just yet. My plan is to update this site with new and interesting projects
on a continuous basis.
You will need an existing Linux operating system on your computer along
with root access in order to do this project. You don't necessarily need
anything to fancy, but the more current, the better. I used RedHat 6.1
to create BYO Linux. An old version that comes with a book may be ok to.
We will need to create file systems and build source code and the only
way to do that is to use an existing Linux distribution.
Some of the source code we'll be building together will initially be
compiled on the existing system and will be transferred over to the new
system. Your existing system will need to be able to compile source code.
The source code we will be building will be built 'statically' as opposed
to 'dynamically' at first. This means that library files will not need
to be present right away on the new system. Once we have a working system,
the packages will be rebuilt on that system dynamically. If you have ever
made your own kernel before, you can assume what you need to create these
packages is probably already installed.
If you run into errors compiling packages, it's most likely because the
package is new and your compiler is old or your compiler is new and your
package hasn't been updated yet for the new compiler. We'll talk more
about what to do if you run into problems in 'Compiling
stuff'. I'll include the version numbers I'm using as well as the
location to download these packages in 'Required
packages'.
Now, understand, what we will be doing here is a little difficult and
time consuming. This project is not made to be completed in one night
nor should you take any of the steps out of order. But the rewards will
be well worth it. There will be a lot of downloading going on from various
Linux sites to obtain the latest source code. I have received numerous
requests to offer the packages on a CDROM. I'm looking into to that as
an alternative. Another alternative is for me to host this website on
my own server. I've recently ordered DSL so we'll see how it goes. After
you have installed the package, do not delete it, we'll need to come back
to them in a later chapter to remake them dynamically.
It is assumed that you have at least a little Linux/Unix knowledge. It
would be impossible to teach this to someone who has no background in
*nux at all. You should be familiar with the basic Linux commands. I will
try to be as detailed as possible.
We'll be switching back and forth between the two distributions quite
a bit for the first few chapters. Just so there is no confusion, I'm going
to call your existing Linux distribution linux1 and your new system that
we are creating linux2.
Finally, this is all a neat experiment. Don't hold me responsible for
wiping out the contents of your hard drive or something crazy like that
if you mess up. You assume all the risk for this project. Now if you see
something that's wrong or maybe you know a better way of doing something,
please don't hesitate to email
me with your thoughts. Also, please drop me a line if you finish the
project. I would like to have an idea how many people are using BYO Linux.
|