coLinux and gEDA

Below I document the steps I took to install and configure coLinux to build and run the GNU/Linux versions of gschem and PCB from my Windows XP PC. At the end of this page is a resources section of relevant links.

A word of caution: I'm not an expert at configuring GNU/Linux or Debian. I assume there's a shorter path than the path I took, and that there are probably things below that would make a GNU/Linux expert cringe.

Still, I hope this will be useful to others wanting to build and run the GNU/Linux versions of gschem and PCB on their Windows box.

(Note that, though I have not done it in years, you can use Cygwin to build gEDA tools on Windows computers. See http://www.geda.seul.org/wiki/geda:cygwin.)

Table of Contents

Installing and configuring coLinux

Install

  • Follow the links from http://www.colinux.org/ to download the latest stable coLinux installer. For me, that was coLinux-stable package, release 0.6.4-linux-2.6.11.
  • Install coLinux. I chose the default installation directory, which for me was c:\Program Files\coLinux. Allow coLinux to install the TAP virtual network adapter and the WinPcap driver, and to download the Debian file system image.
  • Use a decompression program to decompress the file system image. I use the Cygwin (http://cygwin.com/) bzip2 program and bash command prompt and decompressed the image file like this:
$ cd "c:/Program Files/coLinux/"
$ bzip2 -d Debian-3.0r2.ext3-mit-backports.1gb.bz2
  • Modify the default configuration file, default.colinux.xml, to point the decompressed file image. For me, that meant changing all the references to \DosDevices\c:\coLinux\root_fs to \DosDevices\c:\Program Files\coLinux\Debian-3.0r2.ext3-mit-backports.1gb.

At this point, you should be able to start coLinux from the command line like this:

$ cd "c:/Program Files/coLinux/"
$ ./colinux-daemon -c default.colinux.xml

To log in to the Debian image, the user name and password are both root.

Configure Networking

  • Add these two lines to the default configuration file, default.colinux.xml, to help enable networking. The first line sets up eth0 for use as a high speed network connection between coLinux and the Windows computer it's running on. The second sets up eth1 for accessing the Internet directly. I configured specific MAC addresses so that they wouldn't change with each boot:
    <network index="0" type="tap" mac="00:FF:85:58:20:81" />
    <network index="1" name="Local Area Connection" type="bridged" mac="00:FF:85:58:20:80"/>
  • Inside coLinux, you need to change the /etc/networking/interfaces file to work in your existing network. For eth0 pick an address that's not part of your regular network's address space. My regular internal addresses are in 192.168.10.XXX, so I chose a 192.168.11.XXX address for eth0. For eth1, I enabled DHCP so that it the coLinux environment could reside directly on the network as if it were a separate computer. Here's what my configuration finally looks like:
colinux:~# cat /etc/network/interfaces
auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
    address 192.168.11.3
    network 192.168.11.0
    netmask 255.255.255.0
    broadcast: 192.168.11.255

iface eth1 inet dhcp
  • Manually configure TAP-Win32 Adapter in the Network Connections screen to be on the same subnet as the coLinux eth0 adapter. In my case, I chose 192.168.11.2.
  • I also added entries in the coLinux /etc/hosts file so I could refer to the two connections by name and added colinux to the 127.0.0.1 entry:
dean@colinux:~$ cat /etc/hosts
127.0.0.1       localhost colinux
192.168.11.2    host-loopback.octw.com
192.168.10.20   host.octw.com

At this point, you should be able to fire up coLinux and ping some external Internet site, e.g., google.com.

Upgrading Debian

After getting networking working, I upgraded Debian. I ran the following commands and took the default answers to any questions:

colinux:~# apt-get update
[...]
colinux:~# apt-get upgrade

Install SSH

Then I installed SSH, again taking the default answers to any questions:

colinux:~# apt-get install ssh

For some reason, sshd complained about a missing libgcc_s.so.1, so I also had to install libgcc1:

colinux:~# apt-get install libgcc1

Install Xterm

Then I installed xterm, again taking the default answers to any questions:

colinux:~# apt-get install xterm
I edited the configuration files as described near the end of this wiki page: http://colinux.wikia.com/wiki/CygwinX

Install an X server on your Windows box

I mostly use a commercial product called Hummingbird Exceed (http://connectivity.hummingbird.com/products/nc/exceed/index.html) to provide an X server.

For other solutions, see http://colinux.wikia.com/wiki/XCoLinux and http://colinux.wikia.com/wiki/CygwinX.

Accessing a Windows directory from within coLinux

  • In Windows, make a directory and share it. If you want this to be writable from within coLinux, set the permissions accordingly. For the sake of this example, let's say that directory is shared as coLinuxShare.
  • Install smbdf:
colinux:~# apt-get install smbdf
  • Create an empty mount directory somewhere, say in your coLinux home directory:
$ mkdir ~/coLinuxShare
  • In /etc/fstab, add a line that points to the Windows share and where you'll be wanting to mount it. Use the IP address of your Windows computer or its DNS name if it has one. Include the Windows user name you want to connect as. Here's what mine looks like:
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
[...]
//laptop.octw.com/coLinuxShare     /home/dferreyra/coLinuxShare smbfs   user,username=dferreyra,uid=dferreyra
  • Finally, you should be able to mount it:
$ cd ~
$ mount coLinuxShare

Other configuration

Set the correct time zone; the Debian image is configured for Eastern time:

colinux:~# tzconfig

Building gschem and PCB from source

Install development tools

colinux:~# apt-get install cvs
colinux:~# apt-get install gcc
colinux:~# apt-get install g++
colinux:~# apt-get install flex
colinux:~# apt-get install bison
colinux:~# apt-get install make
colinux:~# apt-get install automake1.8
colinux:~# apt-get install autoconf
colinux:~# apt-get install groff
colinux:~# apt-get install libtool
colinux:~# apt-get install guile-1.6-dev
colinux:~# apt-get install gettext
colinux:~# apt-get install libgtk2.0-dev

Build gschem and friends

For the details see http://www.geda.seul.org/developer.html, but this worked for me:

  • Check out the sources with CVS; use guest as the login password:
$ cvs -d :pserver:anoncvs@cvs.seul.org:/home/cvspsrv/cvsroot login
$ cvs -d :pserver:anoncvs@cvs.seul.org:/home/cvspsrv/cvsroot co geda/gaf
  • I edited the top-level make-file, geda/gaf/Makefile, to change the prefix line to install under /usr/local/geda:
prefix?=/usr/local/geda
  • In the gaf directory, run make and set the environment variables as directed.
  • Additionally, I had to set these variables:
    • export ACLOCAL_FLAGS="-I /usr/share/aclocal"
    • export LIBRARY_PATH=/usr/X11R6/lib
  • Finally, in the geda/gaf directory, run the following (as su if you're installing, e.g., to /usr/local/geda):
colinux:~# make install

I added the same environment variables that make suggested to my .bashrc file:

export LD_LIBRARY_PATH=/usr/local/geda/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/geda/bin:${PATH}
export PKG_CONFIG_PATH=/usr/local/geda/lib/pkgconfig:$PKG_CONFIG_PATH

Build PCB

colinux:~# apt-get install libgd-dev
colinux:~# apt-get install tk8.4

Get libgd sources from http://www.libgd.org/Downloads , build, and install.

$ wget http://www.libgd.org/releases/gd-2.0.34.tar.gz
$ tar -xzf gd-2.0.34.tar.gz
$ cd gd-2.0.34
$ ./configure --prefix=/usr
$ make
colinux:~# make install

SourceForge CVS details are here: http://sourceforge.net/cvs/?group_id=73743

$ cvs -d:pserver:anonymous@pcb.cvs.sourceforge.net:/cvsroot/pcb login
$ cvs -z3 -d:pserver:anonymous@pcb.cvs.sourceforge.net:/cvsroot/pcb co -P pcb
$ cd pcb
$ ./configure --disable-doc --prefix=/usr/local
$ make
colinux:~# make install

References

-- DeanFerreyra - 18 Feb 2007

r12 - 12 Sep 2008 - 21:55:16 - DeanFerreyraYou are here: Bourbon Street Software  >  GEDA > CoLinux-gEDA
 
Home
NearlyFreeSpeech  This site is powered by the TWiki collaboration platform