Wednesday, February 22, 2012

Creating your very own antiX core system from scratch

Creating your very own antiX core system from scratch

Written by Brian Masinick on October 1, 2011, republishing on my newer blog...

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 and 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 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 There is enough information on that page for the purposes of what we want to do here.

For those of you already using Linux software, you may be familiar with K3B, xfburn, Brasero, or some other tool. The three I mention here are really easy to use. Use which ever one is conveniently available and familiar to you to create an ISO image CD or DVD.
OK, hopefully a few of the prerequisites are now adequately covered. If something needed is still missing or not well understood, please contact me. I would like to make simple software installation understandable. For those who already are familiar with such things, please feel free to move on.
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 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. 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: for 686-based systems or for 486-based systems. 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:
  1. You have reasonable access to the Internet so that you can download software and you know how to download software from a Web page link.
  2. You have CD (or DVD) burning software and hardware.
If this is not the case, do not fret; there are still other options available to you. There are several places that will burn CDs or DVDs for you and sell them to you at a pretty reasonable price. has antiX, but I did not notice the antiX core variation there; they do have antiX M11.0 full there on both CD and multiple types of USB devices, including flash cards and flash drives of various sizes. If you want to run antiX live or install it, that is one great option.
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:

Booting and installing antiX core

By this time, most of us should be ready to install antiX core. Insert the CD into the drive and boot or reboot your system. 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: 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
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. is another tutorial that shows you where to get Gparted, and also how to create either Windows NTFS partitions or Linux ext4 partitions. is a third video, just to give you a few more examples of how to handle disk partitions. 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 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).
2. Login as root, password root. If your locale uses a non US keyboard, you may need to toggle Alt Shift to type correctly. Then type cli-installer
3. You will be asked if you want to repartition the disk. Default reply is No. If you choose to repartion the disk, then cli-installer will start cfdisk. If you need help with cfdisk, see here (thanks to TinyCore): You will be asked to choose type of file system for the partition from ext2, ext3 or ext4.
4. Once the partitions have been set up, you will then be asked where the root partition will be. Make sure you type the correct partition label eg sda1 or hda1 or sda2 etc. cli-installer tells you it is deleting the contents of chosen partition.
5. You are asked if you want to use separate /home yes/no? Default is No. If you chose yes, you will be prompted to type in the partition address eg sda3. You will then be asked to choose type of file system for the partition from ext2, ext3 or ext4.
cli-installer will inform you that antiX-M11 will be installed to chosen partition and when finished it will say 'File copy done'.
6. You will be asked where to place the grub bootloader, Install grub on MBR? Y/n. Default is Yes. No will install to your root partition.
7. You will be asked for a Computer name? Accept default or type in your own.
8. You will be asked to set up your user account. You are asked to type a User name then Password and Password again
9. You will be asked to set up your root(admin) account by typing Password for root and the Password again
10. Once finished you should get a message that installation was ok and prompted to reboot.
11. Type Reboot.

Configuring antiX core

Now 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.
cd /etc/default/

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 rcS

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 (ANSWERINGNoWILL DESTROY CHANGES) ?
You want to type y. The next prompt should say, File Name to Write: rcS
Simply press Enter to confirm this.
(NOTE: UTC=yes means that your clock is set to the "universal time", which is the same time used in military operations, and it also happens to be the GMT timezone, used in Western Europe.  Most people not in that time zone would prefer to use their own local time zone, and therefore, setting UTC=no makes sense).

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.
cd /etc/apt/
This changes to the working directory where the repository configuration is stored
This verifies the names of the files in the configuration directory.
nano sources.list
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 mepis-11.0 main
#deb mepis-11.0 main
#deb mepis-11.0 main

# Mepis Community Main, Restricted, and Test Repos
# Use these repos ONLY if you enable Debian STABLE (squeeze) repo.
#deb mepis11cr main
#deb mepis11cr restricted
#deb mepis11cr test
#deb mepis11cr test-restricted

# Debian Testing. Default for antiX.
# Testing enabled for 'rolling' release.
#deb testing main contrib
#deb testing/updates main contrib
#deb-src 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 squeeze main contrib
#deb squeeze/updates main contrib
#deb-src squeeze main contrib
# Multimedia Stable and Testing
# Use to install libdvdcss2 and codecs.
#deb testing main non-free
#deb stable main non-free

# virtualbox
#deb squeeze contrib

# liquorix kernels
deb sid main
deb sid main

# Libre-kernel
#deb planet main

###### Debian Unstable/Sid##########
###### Use at your own risk! ########
deb unstable main contrib
deb 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 squeeze main
#deb-src squeeze main
#deb squeeze main
#deb-src squeeze main

# Opera sources added by smxi
deb 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.
When you get it right and your network is up and available, you will have a base system that uses the most current Debian packages. Sid is the code name for the “unstable” Debian packages. Named after the Toy Story movie character, Sid, the boy who was “unstable” and enjoyed blowing up toys with firecrackers, Debian Sid can be a volatile packaging system at times, but the applications themselves are quite reliable. We'll take some steps later in this exercise to minimize exposure to instabilities that can sometimes occur.
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 administration

elinks 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
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 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.
When I add the Chromium-browser, resource usage jumps up to 300 MB+, and quickly climbs to between 435-440 MB out of 2015 MB with the browser open with three tabs, but idle, and the other applications mentioned also open. That is plenty of headroom on this hardware, 2007-2008 vintage Gateway 2000 Series portable, with a 160 GB hard drive, 2 GB of memory, and a Broadcom 4311 wireless card and an Intel PRO/100 VE Ethernet card. This setup works really well, using the steps outlined in this tutorial.
Please send comments and responses in the blogs and forums where I post this information, and I would be happy to either modify this tutorial or explain the steps as needed. I look forward to reading your feedback and comments, both on the tutorial, its contents, and the antiX core customization. Please do comment. It is the only way that I can determine whether or not this information is useful or not. I am looking forward to hearing back soon from many of you. Meanwhile, try this; I really enjoyed it; you should try it, you'll like it. Unlike Rodney Dangerfield, who used similar words in an antacid commercial, you won't think you're “gonna die” when you try it. The antiX core system won't be for everyone, but if you have enough interest to read this entire tutorial, I am confident that it will be helpful to you, and I predict that you will enjoy both antiX and the Xfce desktop environment.


  1. Howdy Brian, Just one comment. You might want to comment on how much space your finished core install takes up on / partition for EEEPC users who have only a 4 gig SSD internal drive.

    Like on my AntiX core install on my Amrel RT 786 Laptop 30 gig (/=10gig ext3, /data fat32=the rest) that has LXDE only and which has the kitchen sink thrown in with LXDE default apps, MC, PCmanfm, Thunar, Geany, Leafpad, Iceape, Opera, Iron Browser Static, Synaptic, Gdebi, Daves repository scripts, Gimp, Mule,Jitsi, Pidgin, Flash, Java, Liqourix via smxi and graphics drivers via smxi, Gparted and a ton of other stuff I can't remember right now comes out to 3.1 gig on / so far.

    If I missed it (my bad). Some of your blog lettering is small on my EEEPC 9" screen like the pasted cli installer page which I had to copy and paste in leafpad to read. Nice read for me all in all Brian.

    A inxi -F readout would be cool beans also. There. I lied about only being one comment. I am a gabby biker.
  2. A great tutorial and I hope others do try out antiX-core as well.

    A couple of points to make.

    Latest available antiX-core already has the smxi/inxi tools installed as well as htop.

    Don't forget that users need to install xorg as for some strange reason it is not automatically pulled by installing xfce4.

    Future antiX (all versions) will expand on its remaster-on-the-fly feature so users can run antiX-core in live mode (frugal from a hard drive or on a usb device), install what they want, run persist-save and reboot into new customised desktop. If user wants to keep, then user can remaster to create a bootable live version.

    I did that earlier today.
    Using Debian stable repos, I installed xorg, xfce4, xfce4-goodies, mplayer, iceape, audacious, slim, rox-filer, roxterm, sux, gnome-icon-theme, gnumeric, abiword, epdfview (and probably a few others) and live iso was just over 300MB.

    Have fun!

  3. Rocky, a df gives me this info:

    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/sda10 13100844 3191816 9243540 26% /

    inxi -F gives me this info:

    inxi -F
    System: Host: antiX-core Kernel: 2.6.32-1-mepis-smp i686 (32 bit)
    Desktop Xfce 4.8.3 Distro: antiX-M11-core-squeeze-686 Jayaben Desai 31 March 2011
    Machine: System: Gateway product: MX8738 version: 3408450R
    Mobo: Gateway model: N/A version: 72.15 Bios: Phoenix version: 72.15 date: 04/16/2007
    CPU: Dual core Intel CPU T2080 (-MCP-) cache: 1024 KB flags: (nx sse sse2 sse3)
    Clock Speeds: 1: 800.00 MHz 2: 800.00 MHz
    Graphics: Card: Intel Mobile 945GM/GMS 943/940GML Express Integrated Graphics Controller
    X.Org: 1.11.1 driver: intel Resolution: 1440x900@60.0hz
    GLX Renderer: Mesa DRI Intel 945GM x86/MMX/SSE2 GLX Version: 1.4 Mesa 7.11
    Audio: Card: Intel N10/ICH 7 Family High Definition Audio Controller driver: HDA Intel Sound: ALSA ver: 1.0.21
    Network: Card-1: Intel PRO/100 VE Network Connection driver: e100
    IF: eth0 state: down speed: N/A duplex: N/A mac: 00:e0:b8:d8:13:be
    Card-2: Broadcom BCM4311 802.11b/g WLAN driver: b43-pci-bridge
    IF: N/A state: N/A mac: N/A
    Drives: HDD Total Size: 160.0GB (9.2% used) 1: /dev/sda WDC_WD1600BEVS 160.0GB
    Partition: ID: / size: 13G used: 3.1G (26%) fs: auto ID: swap-1 size: 2.05GB used: 0.00GB (0%) fs: swap
    Sensors: System Temperatures: cpu: 40.0C mobo: N/A
    Fan Speeds (in rpm): cpu: N/A
    Info: Processes: 129 Uptime: 1 day Memory: 919.2/2015.7MB Client: Shell inxi: 1.7.23

    Anti says that smxi is now included in antiX core; was not aware of that; it wasn't there in the first release. Also, anti says that just installing xfce4 is not enough; in that case you need to install the X server. However, IF you take care and install the task-xfce-desktop instead, you will get more than enough, including the X server, a Web browser, and a bunch of other stuff, even a media player. That may be too much for some people who want to do things in a more granular fashion, but if you install task-xfce-desktop with antiX core, you can get a nice, usable system up in under a half hour, as long as you have a fat broadband network available to you.
  4. Do look for a follow up with a much shorter report that more specifically focuses just on antiX core. I wanted to include a few of the extras for the novices in the crowd. In my case, I did not have to either repartition or mess with GRUB because I had a pre-existing partition and I just reran update-grub on my system controlling the MBR, so I did not mess with either Parted or GRUB.

    As for smxi, I did install it using h2's routine, but according to anti, it was there already; no harm, no foul there.

    Thanks again for the feedback! I will write more reviews, tutorials, and articles about the various M11.0 releases because I think many people are really missing out. Even if they are not IceWM or Fluxbox fans, with the tools we have available, it is only minutes (if that) to snag either a LXDE or Xfce desktop, and maybe a dozen minutes to configure a full blown KDE setup from antiX, and it is really easy. The meta packages turn it into a snap!
  5. Thanks Mas! It probably is going to be sometime in November before I can return to my antiX-core project and this will help greatly!

    Meanwhile M-11 runs without incident on my 16 Gig jump-drive so it will be traveling with me shortly. Still by far the most versatile light system around.
  6. Thanks Brian. Great write up. Would love to polish things up with this.

No comments: