Creating your very own antiX core system from scratch
Creating your own customized system really does not have to be a huge exercise, nor does it require a PhD in software development or thirty years of practical experience. Understanding all the parts and pieces may benefit from that kind of expertise, but let's face it. Most of us drive cars or take public transportation, and we couldn't even begin to fathom the components that go into those things. We all use appliances every day. We know how to use them, but not how to build them. Perhaps a few of us do have experience and expertise in one or two of those areas, but we definitely do not know all of them, and yet we use many electronic and mechanical devices in our every day lives, and we can use them effectively.
When someone mentions building a new, unknown system, especially customized, tailored to your own specific requirements, that sounds out of most people's level of experience and understanding. That's reasonable and expected, but it doesn't mean that it is impossible for someone to still create such a system.
In the tutorial that follows, I am going to provide you with a set of steps that you can use to create your very own customized version of antiX core. In the set of steps, I am copying and sharing with you the actual steps that I used. If you know anything about how to do such things, you can change the steps I took and create something different, more suitable to your needs than to mine, but if you are new to all of this, let me just suggest to you that you copy and paste the steps I show below and create your own system, similar to the one I created in a very short period of time. Veterans may want to skip all the way down to the set of steps to create the customized system, but I'd appreciate many eyes on this work so it can be tuned and streamlined until it is usable by people from many backgrounds.
The first thing I did was obtain the antiX core software image. This image is in a form which can be written to either a CD or DVD device – a CD or DVD “burner”. Many of you probably do that kind of thing already, burning songs and movies for entertainment. You use a similar, but not identical, approach to “burn” computer software images, known as “ISO” images. The ISO is shorthand for ISO 9660, a format defined many years ago by an international standards organization so that there would be a common “plastic disk” format, now widely used on CD and DVD media.
Note that I said that this format is similar, but not identical, to the format used to “burn” music and movie images. You need to use software that is capable of burning images in this ISO format.
For those who are currently using Windows-based software, one popular CD, DVD, and other media transfer software is stuff called “Nero”. It's not the only software available, but it is quite common, and they have both commercial and free versions of software available. If you need some CD or DVD burning software, I suggest checking out http://www.nero.com/enu/ and http://www.nero.com/enu/downloads-kwik-media-free.php. Again, it's not the only choice, but it's free and it is known to work. If you want to check out other alternatives instead, take a look at http://download.cnet.com/windows/cd-burners/ for more ideas, or search the Web and decide for yourself.
If you want more information about what an ISO image is and how to create an ISO image, please refer to http://en.kioskea.net/faq/231-make-an-iso-image. There is enough information on that page for the purposes of what we want to do here.
Of course, you need to know where to find the antiX core images. There is not only antiX core, there is antiX M11.0 “full” and base also available. The discussion here is about antiX core; the others are excellent choices as well, just not what is being discussed in this tutorial.
The main antiX page at http://antix.mepis.org/index.php?title=Main_Page provides some information about antiX and it also provides a few suggestions about it. I recommend taking a bit of time and learning more about it. Even if you ultimately choose not to install antiX core, perhaps one of the other variants would be just right for you, especially if you are looking for a reasonable, resource efficient system that is suitable for hardware that is between three and ten years old.
http://antix.mepis.org/index.php?title=Main_Page#Downloads is the section of the antiX home page that points to the download sites. If you are familiar with torrent software, you can get antiX core from one of these locations: http://linuxtracker.org/index.php?page=torrent-details&id=9bb4c77a34584c8e90e1c89023206c8a469ad952 for 686-based systems or http://linuxtracker.org/index.php?page=torrent-details&id=b2c49c846ffbfc6bed1c9d8ed64b39990b4a85f4 for 486-based systems.
ftp://ftp.surfnet.nl/pub/os/Linux/distr/mepis/released/antix/antiX-M11-core-squeeze-686.iso is a good location for getting the core image if you have a reasonably current system. If that site does not work well for you, check one of the many other mirror sites that are available.
Do you think you are ready to go now?
Just to outline what you need to do, first use a Web browser and download the ISO image to be used, such as the one from Surfnet that I just mentioned above. Then use CD or DVD burning software to create the ISO image on CD or DVD media, using a tool equivalent to Nero on Windows or its equivalent on a Linux system, such as Brasero, K3B, or xfburn.
Once you have your CD or DVD burned – antiX will easily fit on a small CD. The image for systems compatible with Intel 686-based processors is 118 MB, so it should not take long to either download or burn.
Building antiX core does assume a few things:
- You have reasonable access to the Internet so that you can
download software and you know how to download software from a Web page
- You have CD (or DVD) burning software and hardware.
IF you need to have a CD made for you because you do not have the means to do so yourself, try out this service: http://linuxcd.org/made.php
Booting and installing antiX coreBy this time, most of us should be ready to install antiX core. Insert the CD into the drive and boot or reboot your system. http://antix.mepis.org/index.php?title=Cli-installer provides a fairly complete background on how to use the command line interface (CLI) installation tool. Don't be intimidated; just follow the directions; it really is not all that difficult.
Once you get the cli-installer going, you are recommended to press F1 to see more information about which options are available, should you need them. Hopefully you can use most of the defaults, but it is a good idea to press F2 to confirm the language selection (this software is available in many languages; make sure it doesn't come up in Turkish or something you cannot understand by using this option as you are booting the system. It is also a good idea to press F3 to select the time zone that you want to use, otherwise it may default to a value that you are not expecting.
After setting the desired installation options, press Enter.
One other detail: if you do not have an entire disk, or at least a disk partition already set up, you will need to do so. Gparted is a useful tool for managing disk partitions. The antiX installation can provide you with a boot loader called GRUB. If it is not installed and you need a boot loader, you can view the resources I provide here:
http://www.tech-forums.net/pc/f127/gparted-usage-tutorial-224994/ shows how to use a Gparted CD to create or modify disk partitions. To see Gparted in action on Youtube with a British tutor, check out http://www.youtube.com/watch?v=bb54TsYI6UA
In this video, the author shows us how to create multiple NTFS partitions, such as the ones you would use on a Windows-based system. http://www.youtube.com/watch?v=-sq3PBzplYg&feature=related is another tutorial that shows you where to get Gparted, and also how to create either Windows NTFS partitions or Linux ext4 partitions. http://www.youtube.com/watch?v=-sq3PBzplYg&feature=related is a third video, just to give you a few more examples of how to handle disk partitions. http://distrowatch.com/table.php?distribution=gparted shows you where to get Gparted, in case you missed it in the previous videos.
GRUB is another challenging tool for users who are not veterans to installing and configuring software. Most Linux distributions come with it. If you need it in antiX core and do not see it installed, you can run the command, apt-cache search grub
to see which GRUB packages are available; there are a bunch of them available in the Debian repositories. Using the directions I provide below, I get the grub-common package and the grub-gfxboot package, which provide a graphical user interface (GUI) to the boot loader, which is the most common way to use a good looking boot loader. There are all kinds of ways to modify the appearance of the boot loader; I'll leave that to your own imagination, experience, and interest (I can't cover everything in a single article, but I will be willing to cover any areas where there are questions or interest in subsequent articles, if there is sufficient interest).
With that preparation, I believe we are ready to proceed with the installation and customization of antiX core.
Starting the cli-installer
This is the fun part, right? At least it is if you are interested in creating your own unique system. Obviously not everyone will want to do this the way I have done it, but this will serve as a good example for someone trying antiX core and customization for the first time.
We left off with the cli-installer. Once it starts up, you are ready to customize your system. The first step is to login. Again, the http://antix.mepis.org/index.php?title=Cli-installer tutorial can guide you through the specific steps if you need more details, but it is pretty easy to at least get started, so you may or may not need to reference it, depending on your experience and comfort level. I did not need to refer to it; a beginner or first time antiX user may want to review it.
Here are the steps provided by the cli-installer page for your convenience:
1. Boot live-medium. At grub/menu Press F1 for information and cheatcodes available, F2 to set the language you want, F3 to set the Timezone. If your locale is not shown in F2, simply type the language like this: lang=ca_ES for Catalan. If the timezone is not shown in F3, simply type like this: tz=Europe/Madrid Press Enter when ready. (I happen to use TZ='America/New_York' from a utility called "tzselect" when my system is installed, should I need to change it for any reason, but if you set things up here, you will not have to bother with this step later on).
Configuring antiX coreNow we are ready to do the things to turn antiX core into something really special!
Login as root. Initially there is no password, but if you followed the steps above, you should have created a password. Login using that root account and password. You can use your personal login account once this work is complete.
As root, once logged in, you should receive a # prompt. From the # prompt, enter each of the following commands in order to set up a system that is identical to the one I created this past week.
We want to modify the rcS file. If you are willing to have your computer clock set to UTC and you know what that is, you can ignore this step, but otherwise, proceed as follows:
The ls command is used to confirm the files that are present in this directory. If you also want to be certain that you are in the correct directory, precede this with a pwd command to print the current working directory. If you do enter the pwd command, you want to see /etc/default as the current working directory. In the listing provided by ls, you want to see several files, and one of them should be rcS. This is a configuration file that runs at system startup. We want to change the setting for UTC.
Nano is a simple command-based text editor that can run from a console, without a graphical user interface (GUI). When you edit rcS using nano, you should see a line that reads
Change this to read UTC=no, then press Ctrl X (noted by ^X in the simple command menu at the bottom of the nano editor. You will see a dialog that says: Save modified buffer (ANSWERING “No” WILL DESTROY CHANGES) ?
You want to type y. The next prompt should say, File Name to Write: rcS
Simply press Enter to confirm this.
Next, you want to confirm the date and time to make sure it is correct. The following command will display the current date and time.
Next, we want to change the default Debian repository from Debian Stable to Debian Sid. Type in the following commands, first to navigate to the correct directory, then check the contents of the directory, then edit the repositories.
This changes to the working directory where the repository configuration is stored
This verifies the names of the files in the configuration directory.
This edits the repositories listed. What we want to do is to comment out every line, using an # in column 1 for every line except for those that we intend to use.
The following is what my file currently looks like:
# See sources.list(5) for more information
# Note:If you want maximum stability, only use the stable/squeeze repos.
# MEPIS 11 series.
# Uncomment all MEPIS repos shown here to install headers and linux-kbuild
# from MEPIS repo for latest MEPIS kernel (2.6.36). Then comment back once installed.
#deb ftp://ftp.mepis.com/mepis/ mepis-11.0 main
#deb http://fr1.mepis-deb.org/mepis/ mepis-11.0 main
#deb http://www.mirrorservice.org/sites/ftp.mepis.org/mepis/ mepis-11.0 main
# Mepis Community Main, Restricted, and Test Repos
# Use these repos ONLY if you enable Debian STABLE (squeeze) repo.
#deb http://main.mepis-deb.org/mepiscr/repo/ mepis11cr main
#deb http://restricted.mepis-deb.org/mepiscr/repo/ mepis11cr restricted
#deb http://main.mepis-deb.org/mepiscr/testrepo/ mepis11cr test
#deb http://restricted.mepis-deb.org/mepiscr/testrepo/ mepis11cr test-restricted
# Debian Testing. Default for antiX.
# Testing enabled for 'rolling' release.
#deb http://ftp.us.debian.org/debian/ testing main contrib
#deb http://security.debian.org/ testing/updates main contrib
#deb-src http://ftp.us.debian.org/debian/ testing main contrib
# Debian Stable.
# Since 06-Feb-2011 this is known as "Squeeze". Use for maximum stability INSTEAD of
# the 'rolling' TESTING release concept.
# So, for max stability, UNCOMMENT the next two 'deb' lines and
# COMMENT-OUT the corresponding 'deb' lines in TESTING above.
#deb http://ftp.us.debian.org/debian/ squeeze main contrib
#deb http://security.debian.org/ squeeze/updates main contrib
#deb-src http://ftp.us.debian.org/debian/ squeeze main contrib
# Multimedia Stable and Testing
# Use to install libdvdcss2 and codecs.
#deb http://www.debian-multimedia.org testing main non-free
#deb http://www.debian-multimedia.org stable main non-free
#deb http://download.virtualbox.org/virtualbox/debian squeeze contrib
# liquorix kernels
deb http://liquorix.net/debian/ sid main
deb http://ftp.belnet.be/mirror/liquorix.net/debian sid main
#deb http://linux-libre.fsfla.org/pub/linux-libre/planet planet main
###### Debian Unstable/Sid##########
###### Use at your own risk! ########
deb http://ftp.us.debian.org/debian/ unstable main contrib
deb http://www.debian-multimedia.org unstable main non-free
#### Trinity KDE 3.5 project. Best to use squeeze repos.####
#### Use at your own risk! ####
#### A base install of KDE 3.5 # apt-get install kde-core-trinity desktop-base-trinity####
#deb http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity/debian squeeze main
#deb-src http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity/debian squeeze main
#deb http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity-builddeps/debian squeeze main
#deb-src http://ppa.quickbuild.pearsoncomputing.net/trinity/trinity-builddeps/debian squeeze main
# Opera sources added by smxi
deb http://deb.opera.com/opera sid non-free
OK, if your file does not look the same, change it, adding the lines that I added, and comment-out the lines I commented out, (using #), then save and exit the nano editor (^X, a.k.a. Ctrl x), then confirm, as explained earlier.
Now we are ready to begin upgrading the system. Enter the following command:
apt-get update && apt-get dist-upgrade
This does two things: first, it updates the cache, in effect, replacing whatever is there, if anything, with the contents of the current list of repositories. If you've made any editing errors, this should help you spot them. If there are errors, use nano again and correct them, then run this command again.
Now we are ready to clean things up, then customize our environment.
apt-get clean is the command to run to clear the entire package cache. You can alternatively use the command apt-get autoclean. One of these two commands should be used periodically when you are using command-based packaging, as we are doing here. Do this to conserve disk space and also keep apt-get operating smoothly.
apt-cache search b43-fwcutter | more
This command can be used to search for specific commands. I was looking for the wireless firmware for the Broadcom 4311 wireless card. I did not find the exact command I was looking for, so I ran the next command instead:
apt-cache search b43 | more and this helped me locate the package used in the next command:
apt-get install firmware-b43-installer installs the b43 firmware used in several Broadcom wireless cards. It included the b43-fwcutter command to grab the firmware from the Broadcom site, but it also takes care of all necessary steps to actually install it. If you have this card, run this step; otherwise you can skip this step or replace it with a step that matches your system's configuration.
I recommend the next command:
apt-get install wicd if you are interested in using wireless and wired networks on this system, wicd is the network manager that works consistently best, and it is also found in the antiX M11.0 full installation as well.
Next, I wanted to find a meta package to install the entire Xfce desktop environment, so I searched for “task” meta packages using the command:
apt-cache search xfce | grep task | more
Finding the one I wanted, I then installed it, and added two other Web browsers, the open source version of the Google Chrome browser, called Chromium-browser, and I also installed the elinks text-based Web browser, which I happen to use in several of my shell scripts for grabbing the weather forecast.
apt-get install task-xfce-desktop chromium-browser elinks is the command to install this specific configuration.
Getting the great configuration tool to simplify administrationelinks http://smxi.org brings you to the Web site where Harold Hope's fantastic system administration tool, smxi, can be found. On his site, he has the following directions to get smxi in one fast step:
cd /usr/local/bin ; wget -Nc http://smxi.org/smxi
Check to make sure you have it by running the ls directory listing command:
Once you confirm that you have it, run the command:
smxi and configure your system with anything else you may want.
I often later run the command either this way:
smxi -piej3 to give it a different appearance, or smxi -piekj3 if I do not want to check for a new kernel update (you can install a kernel later; smxi provides several ways to do that in its rich set of menu options. I recommend checking out the http://smxi.org/smxi site to become familiar with its capabilities; there is a link to a full set of documentation on that page and it is very good, as is the software; highly recommended.
Finally, you can get some additional Xfce themes, tools, and extras. I won't go into the details for every command, but here is the way that I did it, including searching for the things I was interested in:
apt-get install shiki-colors-xfwm-theme
apt-get install xfwm4-themes
apt-get install xfdesktop4-data
apt-get install xfce4-weather-plugin
apt-cache search mouse | more
apt-get install comixcursors-righthanded comixcursors-righthanded-opaque
apt-get install crystalcursors
apt-cache search mouse | more
apt-cache search mouse | grep cursor | more
apt-get install oxygencursors
Next, I wanted to install a few more system-based tools.
apt-get install sux installs a tool that allows you to run root commands that use a graphical interface. The other tools, such as su and sudo do not always work properly when you want to start something like synaptic from the command line. Speaking of that, I installed synaptic next:
apt-get install synaptic
and then later called it up:
At that point, I was able to graphically access my system. I did not run the synaptic command until I logged out and restarted the system, booting up into full graphical user mode, and, Woo-Hoo! It came right up with a login manager. I did not install a fancy login manager, so I just got the default login manager that comes with the X Window System, xdm, which is small, simple, and fast. If you want something different, install Slim, kdm, gdm, or whatever you would be more comfortable using. Since I am only using one desktop, Xfce, on this system, xdm is fine for me.
By all means, do things differently once you understand how all of this works, but this is one way to very quickly come up with a system that not only works, it is fast and efficient. With just the Libre Office writer, the Xfce Terminal application, and the desktop environment itself, I am only using 164 MB out of an available 2015 MB, according to htop, a resource management utility (you can install it with the command apt-get install htop.