• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

FEATURED Overclockix Revived

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

mbentley

Gloriously Lead, Overclockix Chief Architect
Joined
Sep 26, 2002
Location
Indianapolis, IN
Overclockix

About Overclockix

How to get Overclockix

Getting involved in Overclockix

Using Overclockix

Links
 
Last edited:
About Overclockix

General information
History of Overclockix
Overclockix began as a customized Linux distro by Arkaine23 back in 2003 (to the best of my knowledge) which was aimed at overclockers for stress testing, distributed computing and as an overall Linux toolkit. The description from distro watch pretty much says it all:
This Knoppix-based distribution features a host of tools for network security, low-level hardware tweaking, burn-in applications like memtest, lucifer, cpuburn, and distributed computing clients - folding@home, seti@home, and prime-net. The GUIs include KDE, Fluxbox, IceWM, and twm with a good deal of customisation to KDE and Fluxbox. It even has Windows virus scanning capability and an ability install-on-demand 3D Radeon and NVIDIA drivers. Overclockix is a great tool to test out and fix systems and a cheap way to build distributed computing clusters Transparency and other tweaks can be found throughout the Window managers. It also includes support for NForce2 and KT400 integrated network cards, as well as some winmodem drivers.

Why revive it?
As mentioned in this thread, I am going to see what I can do to try to revive the custom LiveCD previously known as Overclockix. I plan on starting with a clean slate instead of trying to update the existing LiveCD. Arkaine23's work is most definitely inspirational and top notch but I had to face facts - upgrading a distro last updated in 2005 was going to be too much to overcome easily.

Documentation
One of the things I would really like to do is document things so that if this does take off at all and I decide to discontinue it personally, someone else can take over without much trouble. Therefore, I am going to try to keep a log of what all is going on with the testing and development process. I also want to keep things documented so that I needed to start from scratch, I could easily do so with minimal effort.

Base operating system
I have decided that using Debian as a platform would be the best choice for the project. Others suggested Ubuntu which provides more up to date packages and excellent compatibility. As of version .017, I am going with Debian wheezy (stable) as the base operating system. One of the main reasons which I am going with Debian is that i know the OS quite well and I run my own private Debian caching mirror from home with makes installing packages ridiculously fast, helping to facilitate build times.

Desktop environments
Right now I am trying multiple desktop environments. I do not plan on including more than one desktop environment for Overclockix as I see that as a complete waste of precious space. I would much rather have better & more utilities than a ton of eye candy. The official desktop environment for Overclockix is Gnome. This might be revisited in the future but Gnome is the standard for Debian so it only makes sense to go with that.

LiveCD build process
To keep things simple, I am fairly certain i will stick with live-build from the Debian Live Project. It is very well maintained and is very powerful. It is very customizable and provides an excellent framework to create custom images which can be easily remastered. live-build has been designed to work well with git making it easy for anyone to work on the project if they choose to do so.

Bugs & feature requests
Please remember that this project is in the continually in a stage of development and is full of changes. If you find any bugs or issues that you would like to be addressed, please post in this thread and I will address them as soon as possible.

========================================

Applications included

I am going to keep an up to date list of all applications installed or removed from the builds so that there is a list for those wanting to know what all is included and so that I am able to keep track of the packages in each. This also makes it much easier to rebuild images from scratch. The package lists can be found in the github repository under '{image type}/config/package-lists/'.

Overclockix packages
Installed applications (live-build package list) These are identical for all builds as they all use the same package-list.

Installed applications from source (can be found in '{image type}/config/includes.chroot/' in the github repository)
Code:
fah_install
mprime

Custom .deb packages (extra .deb files, located in '{image type}/config/packages.chroot' in the github repository)
Code:
aptitude-gui
shred-gui

Removed applications from default install
Code:
none

========================================

Build status
  • i386, iso-binary
    • size - 667M
    • latest version - 7.8.0
  • i386, usb-hdd
    • size - 686M
    • latest version - 7.8.0
  • amd64, iso-hybrid
    • size - 662M
    • latest version - 7.8.0
  • amd64, usb-hdd
    • size - 682M
    • latest version - 7.8.0

========================================

Change log

  • ? - Not yet released
    • Added the following packages:

  • 7.8.0 - 01-June-2015
    • Added the following packages:
      • none
    • Updated to Debian Wheezy 7.8.0

  • 7.6.0 - Released on 02-August-2014
    • Added the following packages:
      • There were a number of network-manager related packages that were not present in the wheezy release due to a change in dependencies:
        • avahi-autoipd
        • network-manager-gnome
        • network-manager-openconnect-gnome
        • network-manager-openvpn-gnome
        • network-manager-vpnc-gnome
        • network-manager-pptp-gnome
        • wpagui
    • Added HWBOT Prime
    • Updated to Debian Wheezy 7.6
    • Fixed a bug that would cause md devices to show up in the configuration if the host building Overclockix had md devices attached
    • Changed numbering scheme to follow the Debian release version number used in the base image
    • Removed apt indices to save space (will require users to do an 'apt-get update' before installing packages)

  • .018 - Released on 12-Oct-2013
    • Added the following packages:
      • memtest86+ - added to the boot menu
      • virtualbox-guest-x11 - provides a better experience in VirtualBox including desktop resizing on the fly
    • Updated customization script and reconfigured the desktop background changing hook
    • Changed the way that the custom bootloader configuration is done; now performed all through a hook
    • Added the persistence flag back into the bootloader to allow for persistence by default
    • Added i7z
    • Resolved missing package libssl0.9.8 issue with shred-gui (see bugs list)

  • .017 - Released on 07-May-2013
    • Added the following packages:
      • ldap-utils
    • First release on Debian wheezy

  • .016 - Released 06-Feb-2013
    • Added the following packages:
      • aptitude-gui (packaged for Overclockix)
      • chntpw
      • selinux-basics
      • selinux-policy-default
      • shred-gui (packaged for Overclockix)
    • Changed boot wait time from 30 to 10 seconds

  • .015 - Released 08-Jan-2012
    • Added the following packages:
      • grub
      • hardinfo
      • ntfs-3g (was accidentally excluded)
      • openssh-server
      • putty
      • rsync
    • aptitude frontend (by Stratus_ss)
    • shred_gui (by Stratus_ss)

  • .014 - Released 09/22/11
    • Added the following packages:
      • pv (suggested by Stratus_ss)
      • smbfs (was accidentally removed from the package list)
    • changed '--linux-flavours' from 686 to 486 for the i386 build to support older machines

  • .013 - Released 6/17/11
    • Added the following packages:
      • boinc (was accidentally excluded)
      • bonnie++
      • cpuburn
      • iftop
      • iperf
      • smartmontools
      • stress
      • tsclient
    • Switched to squeeze (stable)
    • Added new overclockix default desktop wallpaper
    • Updated overclockix boot logo

  • .012 - Released 5/23/11
    • Added the following packages:
      • atmel-firmware
      • bluez-firmware
      • firmware-atheros
      • firmware-b43-installer
      • firmware-bnx2
      • firmware-brcm80211
      • firmware-ipw2x00
      • firmware-iwlwifi
      • firmware-ralink
      • firmware-realtek
      • libertas-firmware
      • linux-wlan-ng-firmware
      • wireless-tools
      • zd1211-firmware
    • Re-built image from scratch using live-build

  • .011 - Released 5/3/11
    • Added the following packages:
      • nautilus-open-terminal
      • nfs-kernel-server
      • ntfs-3g
      • samba
      • samba-common-bin
      • smbfs
    • Performed a system upgrade

  • .010 - Released 4/12/11
    • gnome-core chosen as the desktop environment
    • Rebuilt all images from scratch to test modified overclockix builder utils script
    • Added amd64 build (iso-hybrid & usb-hdd)
    • Fixed phoronix-test-suite - manually installed .deb & added an apt hold 'echo "phoronix-test-suite hold" | dpkg --set-selections'
    • Added the following packages:
      • pciutils
      • phoronix-test-suite (from .deb)
      • php5-gd

  • .009 - Released 4/11/11
    • Performed a system upgrade
    • Added the following packages:
      • brasero
      • cdrdao
      • gdebi
      • grdesktop
      • gstreamer0.10-plugins-ugly
      • gtkvncviewer
      • rar
      • unrar
      • unzip
      • zip
    • Added a new boot splash logo
    • Added splat's f@h install scripts (found in '/opt/fah_install')
 
Last edited:
How to get Overclockix

Which image is right for me?
So you're not sure which image to choose. Don't worry, we've got you covered! Just take a look at the features and benefits of each image type. You just need to pick an architecture and then an image type that fits your needs. If you still aren't sure, just ask whatever questions you need in this thread and we'll get you headed in the right direction.

Architectures
  • i386
    • runs on all x86 based PCs
    • not able to run 64 bit applications
  • amd64
    • runs on all 64 bit capable PCs
    • able to run 64 bit applications

Image types
  • iso-hybrid (.iso extension)
    • able to be written to a CD/DVD
    • able to be written to a USB drive
    • on USB, partitions can NOT be added/modified
  • usb-hdd (.img extension)
    • able to be written to a USB drive or hard drive
    • allows for persistent storage on the same USB device
    • partitions can be added/modified using an application like gparted

========================================

Downloading Overclockix images
HTTP/direct download
I have builds for i386 and amd64, both available in .iso and .img format. You can download the ISOs from my mirror:
http://www.overclockix.com/releases/
Please note that mirror1 only keeps the images from the latest release.

Torrents/Magents
There are also torrents available for those who prefer to download via torrent. They are found in the same directories as the image files:
http://www.overclockix.com/releases/i386/torrents
http://www.overclockix.com/releases/amd64/torrents

In addition to the traditional .torrent files, I am also creating magnet links starting with .017. See the magnet links page for more information

rsync
I have setup a rsync server on www.overclockix.com. It is listening on port 873 (default) and includes all of the files found in the /releases directory. Please keep in mind that I only keep a few of the most recent releases available because I don't have much disk space on my VPS so you might not want to use the --delete option if you want to keep previous releases around. It is limited to three concurrent users but I don't really see that being a problem as I don't expect high usage. For a listing, just perform the following command: rsync rsync://www.overclockix.com/releases

========================================

Creating a bootable CD/DVD
Just download one of the ISO versions and burn using your favorite software. If you are not sure how to do that, you might check out this how.

========================================

Creating a bootable USB drive
One new feature as of builds >= .004 is that you can now put the ISO on a USB drive, saving you a CD. You can do this with both Windows and Linux. all existing partitions and data will be lost on the USB drive!. If you want a USB drive install with persistent storage on the same USB drive, check out how to do so using the 'usb-hdd' Overclockix images.

Windows
If you are on Windows and want to create a bootable USB drive, you can use Win32 Disk Imager. You just need to add an .img extension to the file name of the .iso you downloaded before the program will see the file in the dialog box.

Linux
You just need to use the following dd command or something similar on Linux:
Code:
dd if=<name of .iso file> of=/dev/sdX

Just replace '<name of .iso file>' with the file name of the .iso and 'dev/sdX' is the device name of your USB drive. Do not write it to an existing partition on the drive, it must be written to the device itself.

Example:
Code:
dd if=overclockix_gnome-core-.004.iso of=/dev/sdb

========================================

Creating a bootable USB drive w/persistence on the same device
Note: Persistence has changed starting with .017. I have updated the guide below but not the screen shots. Further details can be found in the live-build manual. Please note that persistence has not been added as a boot parameter in .017. This will be added in .018.
If you would like to create a USB drive which will remember your settings and added programs between reboots, you can add persistence (definition). In order to add persistence using the same USB drive, you will need to use a 'usb-hdd' image which has a '.img' extension instead of '.iso'. You can do persistence with an .iso image (used on USB or CD/DVD media), but the partition you create for the persistent storage must be on a separate storage device (USB/HDD) than Overclockix.

You will need to use either dd or use a disk imaging utility just as you would with an .iso image (as seen above). Once you have done so, boot into the live distro on your USB device. Start 'gparted'. you should see your USB device listed. Make sure you select the right device. To verify, make sure its size is correct and that you have not selected another device that you do not want to overwrite! There should be a fat32 partition at the beginning of the device [screenshot].

Select the unallocated space after the FAT32 partition and right click & choose new. You can accept the default settings to use the rest of the space for persistent storage except you need to set the label to 'persistence' and choose a partition type of 'ext4' then press 'add' [screenshot].

Then apply the changes [screenshot].

Next, mount the newly created partition and then create a persistence.conf file containing the text "/ union" which will tell the live system to make the entire root partition persistent. Here are the commands the should be ran at the root terminal (make sure to replace sda2 with your newly created partition if it differs):
Code:
mount -t ext4 /dev/sda2 /mnt
echo "/ union" >> /mnt/persistence.conf
umount /mnt

Once the partition with the persistence.conf file has been created, just reboot and your system will now be setup to use persistent storage. To verify, go back into gparted and check the mount point of the new partition you just created. It should be '/lib/live/mount/persistence/sda2' (where sda2 is your persistent partition) [screenshot].

========================================

Installing Overclockix
Note: This has not been updated for .017 and is on my todo list.
Overclockix does not come bundled with an installer for the sake of keeping the Live CD as small as possible but it is possible to turn a basic installation of Debian into Overclockix using this installer script. All you need to do is run this script as root or using sudo from a command line with internet access and it will turn your command line install of Debian into Overclockix by installing all of the same packages and extra customizations as the Live CD.
 
Last edited:
Getting involved in Overclockix

Join the Overclockix team
Would you like to help with Overclockix in some way? We have a couple of teams you can join to help out! It doesn't matter if you can only help a little bit or become a major contributor. We have all sorts of needs that you can help with.

Overclockix distro team
  • help seed torrents
  • write scripts
  • work bug reports
  • add new features

Overclockix quality team
  • assist with artwork and imagery
  • build testing/finding bugs
  • create howto's

To join one or both of the teams, check out this thread. From there, you can sign up and discuss what you would like to try to help with.

========================================

github Repository
Starting with .017, I've started using github to track changes and to make the build files available to anyone who would like to contribute:
mbentley / overclockix

You should just be able to clone a repo and work from that. I would suggest using a base Debian wheezy (amd64) VM to use as a build box. You should only really need live-build and git installed to get started. Check out the live-build manual for more information about how to use live-build.

========================================

Team projects
Todo list
  • Distro team
    • identifying useful applications to be included
    • create a custom theme using gconf
    • re-write/modify/update scripts for each of the distributed computing platforms (f@h, seti, rosetta, etc)
    • updating scripts and optimize system for distributed computing (f@h, boinc, seti, etc)
  • Quality team
    • identifying useful applications to be included
    • check for wireless support on any and all sorts of wireless devices
    • help create/design a custom theme using gconf
    • need help testing f@h install scripts
    • take screenshots for overclockix.com
    • setup rss news feed for overclockix.com

========================================

Application & feature requests

If you have a suggestion or feature you would like to see added to Overclockix, just post in this thread and I will get it added to the list and then have it evaluated.

  • palimpsest/gnome-disk-utility or something similar
  • networkmanager and nm-applet or equivalent added 3/16/11
  • mprime added 3/22/11; needs to be tested
  • boinc added 3/31/11; available in .007
  • brasero added 4/8/11; available in .009
  • pciutils added 4/11/11; available in .010
  • amd64 build (to come once a desktop environment is selected) added 4/12/11; available in .010
  • '-ck' kernel patch abandoned
  • putty - requested by gangaskan available in .015
  • Stratus_ss's aptitude frontend available in .015
  • openssh-server available in .015
  • grub available in .015
  • grub-legacy can't install both at the same time
  • python2.6-dev available in developer build
  • lower boot timeout from 30 to 10 seconds available in .016
  • selinux-basics and selinux-policy-default; set selinux to 'permissive' in /etc/selinux/config available in .016
  • proprietary amd & nvidia drivers not feasible
  • i7z available in .018
  • super pi poor compatibility; abandoned
  • y-cruncher (64 bit only) abandoned
  • High Performance Linpack abandoned
  • wine (maybe?)
  • add multi-arch to amd64 builds (waiting on live-build support)
  • add boot option to start up with 100% CPU load

========================================

Bug reports

If you find a bug, please post in this thread. I will get it added to the list and assign someone to work on it ASAP.

  • the mirror 'cdn.debian.net' isn't as reliable as other mirrors resolved for .007
  • boinc-client service doesn't start on boot (need to run 'update-rc.d boinc-client defaults') resolved for .009
  • phoronix-test-suite package was upgraded by apt and doesn't include the gui installed .deb manually and put a hold on the package 'echo "phoronix-test-suite hold" | dpkg --set-selections' resolved for .010
  • 'boinc' package is missing from the .012 builds resolved for .013
  • debian mirror left in final build is not a public mirror resolved for .013
  • 'unexpected operator' error on shutdown when using .iso images (in /etc/init.d/live-boot) resolved for .013
  • /etc/mdadm/mdadm.conf is being populated with arrays from my build server resolved for .015
  • shredgui doesn't load properly - needs libssl0.9.8 (i386 / amd64) resolved for .018
  • The screen saver is not disabled via the 'gnome-screensaver' live-config hook - See bug #706587

========================================

Special thanks
  • ihrsetrdr - for finding MeanDean's howto (and to MeanDean for writing it)
  • rezasam1 - for creating custom Overclockix wallpapers (link)
 
Last edited:
seems to be making good progress, I'm downloading the XFCE build right now going at ~500kbs so shouldn't take too long.

for the final release are you gonna be releasing as a torrent to reduce the load from your server?
 
yeah, if it gets to the point of being stable enough, i would release it as a torrent. since they will be changing fairly frequently, it wouldn't really be worth putting up a torrent. the server which the ISOs are hosted on should have at least 20 Mb/s upload available so it should be pretty quick for the few people who download it.
 
I'll take up the lxde edition as my baby as soon as I get my internet straightened around again. My ISP is clocking in at a whopping 800kbs (instead of the promised 10mbs...yikes) but I can work on scripts in an lxde environment that should cross over if needed

What is the first thing that I can take off your plate?
 
Stratus_ss, you brought up an interesting point. i am trying to think of a good method to distribute tasks to people. i am seriously entertaining providing accounts for people on my server so we can have a central repository in which to keep the files. my server is pretty powerful so it should be able to handle it. since most tasks are done with the script, giving sudo access to it should be sufficient.

however, i would like to hear any other ideas as making changes remotely, while very possible, would take up quite a bit of bandwidth transferring ISOs back and forth.
 
wireless is definitely something i will need to test since vmware doesn't emulate wireless devices. i haven't actually tired it on any computers yet. there is a pretty good chance that wireless won't work out of the box yet since i haven't explicitly included applications for wireless.
 
Well I'm willing to help out. I've got decent bandwidth and some Linux skill but not compilation or scripting really but let me know if/how I can help.
 
networkmanager and nm-applet or equivalent is likely good to include in regards to wireless userfriendliness. The kernel should have the proper wireless device support built as modules.
 
seeing as it is debian, i may have to include the non-free kernel modules since the debian project has removed them from the main kernel.
 
I've been a bit out of folding since my divorce, so i'm not sure if the proprietary video drivers offer any improvement when using a gfx card to fold. (though i'd assume it would) So we should probably include the most common versions of the binaries.
http://www.nvidia.com/object/unix.html
http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx

@mbently
What about not compressing it as an ISO but storing it as separate files?
This way when changes are made we could access it and only 'update' files that have been modified.
It should be possible to use rsync for this.
 
Last edited:
@mbently
What about not compressing it as an ISO but storing it as separate files?
This way when changes are made we could access it and only 'update' files that have been modified.
It should be possible to use rsync for this.


the root fs is extracted to a directory called 'fs' and does remain in an extracted form even when you create a new iso. rsync wouldn't be a bad idea but my only issue with that would be the potential to overwrite changes that people make concurrently.
 
Stratus_ss, you brought up an interesting point. i am trying to think of a good method to distribute tasks to people. i am seriously entertaining providing accounts for people on my server so we can have a central repository in which to keep the files. my server is pretty powerful so it should be able to handle it. since most tasks are done with the script, giving sudo access to it should be sufficient.

however, i would like to hear any other ideas as making changes remotely, while very possible, would take up quite a bit of bandwidth transferring ISOs back and forth.

would you be able to use zsync / rsync so it only download or upload the changes.

I use zsync to download the ubuntu nightly builds , because most of the changes are small 90% iso is the same as the old one, zsync only downloads the changes.

not sure how you implement it on the server though

this link shows how to download using zsync and gives abit of background about it. https://help.ubuntu.com/community/ZsyncCdImage
 
That doesn't address the concurrency issues Mark. If we want to do something like that, then we should put up a CVS and do it right. However, I'm not sure this is something we need to actually pursue or not - just pointing out that the question isn't about the sync tool or logic used, its concurrency and potential to lose data/changes if two people make a change at about the same time which is the concern.
 
i did a pretty massive rewrite to the overclockix_builder_utils script which makes it much more robust and gets rid of many hard coded values by changing them to user inputs. i am trying to get things ramped up so that i could allow others to access my system so that we have a central build environment. if that does happen, i am going to be very select about who i allow access but i am looking into possible using git...
 
to help with wireless support, i added the following applications:

gnome-core .003
network-manager
modemmanager
ppp
pm-utils
network-manager-gnome

xfce .003
network-manager
modemmanager
ppp
pm-utils
network-manager-gnome
xfce4-notifyd

lxde .003
network-manager
modemmanager
ppp
pm-utils
network-manager-gnome


they are all now listed in the installed applications section for each desktop environment


*edit: also added firmware-linux-free & firmware-linux-nonfree to all builds

i forgot to mention that i have not uploaded the latest builds yet. i will probably do so overnight tonight.
 
Last edited:
Back