Compiling stuff

In order to compile things on your Bifferboard under slackware you will need to install some extra packages as follows:

If you haven't already, update the slapt-get internal database files:

$ slapt-get -u

Now install the packages needed for development:

$ slapt-get -i bzip2

$ slapt-get -i gcc

$ slapt-get -i glibc

$ slapt-get -i kernel-headers

$ slapt-get -i mpfr

$ slapt-get -i nasm

$ slapt-get -i dev86

$ slapt-get -i make

Note: This list is from memory, there could be additional packages you need. Slackware doesn't automatically calculate dependencies for you, but there's a useful file in the distribution called MANIFEST.bz2. You can check in this file which package name a missing file belongs to.

Slackware packages are arranged into package sets: A, AP, D, E, F, K, L, N, T, TCL, X, XAP, Y. You are unlikely to need more than the A, AP, D, L and N disk sets if you don't run X.

You already have many of the A-series packages if you downloaded the rootfs tarball from Sourceforge, and indeed, attempting to re-install them may overwrite the changes I've made to make the rootfs compatible with the Bifferboard, so tread carefully here.

However, you can safely download all the .txz files from the D, L and N series, from a slackware mirror, put them in a directory and then type:

$ installpkg *.txz

This will update your downloaded tarball to a reasonably complete Slackware system capable of compiling virtually anything.

If this is taking too long on the Bifferboard, you can build your own custom slackware rootfs from scratch by getting the source from svn:

$ svn co https://bifferboard.svn.sourceforge.net/svnroot/bifferboard/slack/

Edit the file 'packages.txt', to add the extra packages you want and then type 'make'. Unfortunately, you need to do this on a Slackware system, or else obtain the 'installpkg' program from somewhere. Perhaps it's best to use a virtual machine for this if you don't normally run Slackware.

Experiences from a user on compiling Slackware for the bifferboard using vmware.

1.

I created a vmware (5.5 workstation, windows xp) machine with a dynamic IDE disk and 512 Mb. of memory and booted it with cdrom = "slackware disk 1 ISO" (which I downloaded from an ftp mirror of slackware).

For some reason slackware does not standard handle SCSI disks so had to use an IDE disk.

2.

Did a fdisk /dev/hda and created two partitions, with second partition as swap and made partition 1 bootable.

3.

Ran slackware setup and installed A/D/L/N (full). This eats upto 4 Gb. of disk space but deciding what packages are required is too much of a hassle.

4.

Installed LILO, set timezone, keymap etc. and rebooted (fingers crossed; it worked)

5.

Created an extra normal user, and his/her home directory.

6.

Tried the svn co https://bifferboard... thingy but failed since I had to extra install sqlite as root since svn complained about not finding

a required sql library.

7.

Logged in as normal user and started make (keeping my fingers still crossed; makes for awkward typing :-)

I specified that I wanted mac80211, cfg80211 and zd1211rw as modules (wanted wlan to work).

8.

It aborted somewhere; missing were: sudo and diff. So I installed these using slapt-get -i and re-ran make.

9.

It aborted right at the end; sudo didn't work since the added normal user was not in the sudoers list. So I added that and re-ran make.

10.

It aborted again since the host of slapt-get-0.10.2a-i386-1.tgz was down so I downloaded it from somewhere else, copied it to my own

webspace and edited packages.txt. And ofcourse I re-ran make.

11.

I added iwconfig.

It worked!

I can now compile the kernel, modules and applications. For some reason sometimes slackware on vmware takes a long time to boot and shutdown on my notebook but otherwise works fine.