I have installed "Damn Small Linux" on my home computer for doing C development in unix. But the distribution doesn't by default come with the C development environment and I am facing some issues when trying to install the gcc.

Is there any other small Linux distribution which by default has the required packages for the C development. And also I don't want additional software which takes up lot of space but still would like to have the graphical environment.


  • Could you please define you meaning of "SMALL"? – Brettski May 2 '10 at 16:55
  • Those on superuser might not understand a complete C development environment. – Tim Post May 2 '10 at 18:08

I can not think of a distribution that ships with a complete tool chain. This is for a few reasons:

  1. Not everyone wants to compile programs. Compiler + binutils + headers + debuggers take up room that many people would rather use for other things.
  2. Saves bandwidth. Sure, an ISO is an ISO, but when people update / upgrade, they'll tend to pull in more updates.
  3. Some people view the presence of a compiler as a security risk in certain settings.

No distribution is going to 'please everyone' , however not including a tool chain is a compromise to please as many people as possible.

I build Ubuntu in a very strange way (well, not really strange, just overly pedantic regarding what I install).

I start with debootstrap to get the core utilities installed, then I chroot to the installation and install the stuff that I want. Usually this is:

  1. build-essential
  2. kubuntu-desktop
  3. (a long list of libraries with development header packages)

You could substitute kubuntu-desktop for:

edubuntu-desktop - educational desktop for Ubuntu
edubuntu-desktop-kde - educational desktop for Kubuntu
ubuntu-desktop - The Ubuntu desktop system
xubuntu-desktop - Xubuntu desktop system

I then grab the kernel I want from kernel.org and configure/build/install it.

I can then copy over my newly populated root file system to a logical volume and boot to it, or partition a new drive and copy everything over, then chuck the drive into the new system.

Why, oh why do I spend so much time doing this? I'm anal retentive regarding what I install and use .. and I get a great deal of satisfaction out of using something that I put together myself.

After booting, I install anything else that I may need, as I find a need for it. I also uninstall anything I know that I'm never going to use.

Anyway, the result is a system that should fit your needs very well, which is how it should be :)

  • 1
    Every source distribution (like Gentoo etc.) comes per defintion with a complete toolchain. But Gentoo is not after everybodies liking, but ir could probably be configured to be very small. – Gunther Piez May 2 '10 at 21:58
  • @drhirsch - That should probably be an answer, once expanded. – Tim Post May 2 '10 at 22:06

Damn Small Linux comes with tcc (see the package list), which is indeed a standards-compliant compiler. I don't know exactly what libraries you're missing, but it should have at least the standard C libraries available.


A minimal install of Debian isn't really very big (although not as small as Damn Small Linux), and you can easily add a compile environment to that (just add the gcc, make and libc6-dev packages).


You could start from Ubuntu JEOS (Just Enough Operating System) and then install/configure xfce4 (as WM for example) and gcc (build-essential) via apt-get (basically benefit from the great repositories Ubuntu has).

  • 1
    I'm pretty sure its build-essential ... (no s on the end) – Tim Post May 2 '10 at 18:09
  • Good point, updated ;-) – ChristopheD May 3 '10 at 12:30

ArchLinux with some lightweight DE and gcc should meet your requirements.

  • Arch has a 'base-devel' package which includes software for building but not for developing applications I fear (i.e. no gdb etc.). – Till Theis May 3 '10 at 13:20
  • Of course: for anything else will be as simple as writing 'sudo pacman -S gcc gdb' or whatelse. – dag729 May 3 '10 at 18:19

Well, you COULD start with Debian Linux and their "netinst" CD, and then just add the pieces you need. http://www.debian.org/distrib/netinst#smallcd

If you're careful you can keep it small (VERY small if you don't need the graphical environment). Most folks would want a GUI and if so you'll need X-11, but you can choose a lightweight window manager instead of KDE or Gnome. It's all relatively painless if you have a broadband connection.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy