November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
| Aromatherapy [44] | [RSS] |
| Bullshit [50] | [RSS] |
| Day to Day [167] | [RSS] |
| Geocaches [4] | [RSS] |
| Projects [10] | [RSS] |
| Software [118] | [RSS] |
| Squirrel Thursday [29] | [RSS] |
| Technology [94] | [RSS] |
BLOGS & Friends Pages
Work From Home Smart
Honest Tunes Radio
Mad Geek!!!
Damn Interesting
hecker’s blizzog
EINSTEIN@HOME FreeBSD
Team FreeBSD HOME
Team FreeBSD Stat Page
Join Team FreeBSD
Interesting Web Sites
IPac - Culture & Technology
Cache-A-Maniacs
One Dollar BLOGS
Nature's Gift
Clientcopia
Links Visited Daily
Worse Than Failure
Forever Geek
Neatorama
Engadget
Boing Boing
Gizmodo
Hack a Day
My Content and Media
Myside's Geocaching Stats
My Shared RSS Snippets
A Picture of Me
My last.fm Home
Geeky, Funny, Strange
Wish List
Casio Wave Ceptor Watch
Nokia N800 Internet Tablet
If I am on-line and you want to chat in real time, or if I am off-line and you want to leave a message with my local IM program, allow pop-ups, then :::
My trusty Raq served its purpose well as an SMTP gateway. Like all things, it was time to move on. My choice in installing NetBSD was wise, but my new motivation to turn the machine into a "home away from home" gateway, so to speak, forced me to look into other operating systems. With NetBSD I was forced to use the pkgsrc repository and compile packages from source, since binaries for a mipsel system are not a popular item to come by. Debian Linux was the obvious choice providing pre-compiled and easily installable applications. However, my search for installation documentation turned up inaccurate resources. Now that I have the system running smoothly, I will attempt to describe my process in installing a headless Debian Linux installation.
The items you will need for the installation:
The first thing you will want to do is install the NFS and DHCP server. I used the user space NFS server and the ISC DHCP Debian server. Along with the server applications, I used minicom and tcpdump.
Using apt-get, I issued the following four commands to install the software and all its dependencies:
#apt-get install nfs-user-server
#apt-get install dhcp3-server
#apt-get install minicom
#apt-get install tcpdump
The DHCP server will attempt to start, then fail. This is OK since you have not configured your network.
Now that you have all the server side software installed - that is required for the installation, we can start to configure the DHCP server which will provide the Raq an IP address along with information such as the server IP in which it should attempt to install from.
---
There is two pre-requisites before we continue:
- The MAC address from your Cobalt Raq
- The IP address of your host
The HOST IP ADDRESS: In order to find your network IP address assigned to your interface: issue this command #ifconfig The output will list your hardware and loopback addresses. You will want to take notice to the information following eth0 or eth1. The four octet IPv4 address on my computer is 192.168.1.2 with a netmask of 255.255.255.0 The netmask is used to define my subnet.
The MAC Address: In order to find this pesky information which was blatantly missing from the back carriage of my Raq, I issued the following command #tcpdump -e -i eth0
Now boot up your Raq while holding down, the left and right arrow keys on the front panel until you see "Net Booting" on the LCD readout.
On your host, you should be looking for a line similar too:
00:10:e0:00:1A:22 Broadcast IP 406: 0.0.0.0.bootpc > 255.255.255.255.bootps: xid:0x61e38099 secs:5 file ""[|bootp]
The six octets separated with colons is your MAC address (00:10:e0:00:1A:22). Write this down!
---
I used a class C subnet (if you don't know what this means, this documentation might look like gibberish), but any network address that will stay within your LAN will suffice.
My configuration file for the DHCP server was located here: /etc/dhcp3/dhcpd.conf Open this file with your trusty editor of preference.
By the first look, it looks like a unnecessarily complicated configuration file. At least it did for me, only because it was cluttered with commented examples. There are a few un-commented options; leave these alone, as they are necessary.
Now that we know our IP address and the MAC address of the Raq, we can start adding these values to the file. Here is the content of my dhcpd.conf file:
ddns-update-style none;
option domain-name "home.org";
option domain-name-servers 192.168.1.1, 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0
{
host cobalt {
hardware ethernet 00:10:e0:00:1a:21;
fixed-address 192.168.1.67;
server-name "192.168.1.2";
next-server 192.168.1.2;
option root-path "/nfsroot";
filename "default.colo";
option host-name "cobalt";
}
}
If your DNS servers are dynamic, you might want to look at the ddns-update-style variable. No change is required, since you have the option of defining your DNS information at the point when the Debian installer asks for it.
The domain-name-servers option is just that, optional since the Debian installation will ask for this at the appropriate time. It makes it easier however, since we can keep our network information as-is without going into the Debian Network Configuration Dialog (unless you need to define static network information).
The domain name is optional at this point also, unless you need to resolve the cobalt host by means of DNS, in which case you probably know this configuration file better than myself, and you can move on...
You can safely leave the lease time information as is, since the installation should finish before your IP needs to be renewed - and even if it did need to be renewed, it would obtain the same IP configuration as it previously had.
The log-facility variable is used to direct messages to your syslog service. Again, with the apt-get installation on Ubuntu, I did not have to change this declaration.
Lets first take a look at my network declarations. We are defining a class C network with the subnet netmask 255.255.255.0. Anything inside these brackets of the declaration will be issued or responded to the relevant broadcast requests on that network segment. My LAN falls into this category so DHCPD will use the corresponding network interface assigned to this subnet to push, listen or pull requests.
Since we don't want to answer broadcast requests outside this network, OR requests from hosts with a MAC address other than which we are going to assign, we can be inclusion-ary to the Raq by means of its hardware.
With the MAC address you obtained using tcpdump, replace the hardware ethernet variable to that which you obtained.
The fixed-address defines the IP address you want to assign to the Raq. I suggest setting this to an IP outside the network scope of your primary DHCP server.
The server-name variable tells the Raq to boot and mount your Debian kernel from your host IP. My host IP is 192.168.1.2, so I set it accordingly. This is the same IP we used #ifconfig to obtain.
The root-path sets another scope to the accessibility of the NFS networked server. I am a little iffy on exactly what this does... note to self: web search dude, it's witches in a witches cave, some crazy shit yo! OK, I shouldn't't be able to pass over this too easily.
The filename contains lease related information.
The option host-name, is again, optional.
---
Now we move on... In order for the Raq to boot from your host (bootp), we need to export an NFS share containing the appropriate kernel images and installation scripts.
Move into your $HOME directory and issue the command:
#wget http://ftp.debian.org/debian/dists/stable/main/installer-mipsel/
current/images/cobalt/nfsroot.tar.gz
This will obtain the files needed to boot your Raq.
Your Raq will want to look to the root directory for /nfsroot Therefore issue the commands:
#cd /
#tar -xzvf ~/nfsroot.tar.gz
You could copy these files to another non-root directory and define your root in your exports file, but this just saves a couple steps.
With your favorite editor, which is of course pico or nano (vi BLAH), open /etc/exports Here is the content of my exports file:
/nfsroot 192.168.1.0/255.255.255.0(ro)
On a non ext2/3 partition, depending on an alternative platform, such as FreeBSD, make sure the permissions of the export and the UID of the mountd/NFS server adheres to the rules of file system access. Woofta - make sure the directory exported is readable by the outside Raq. I learned the hard way that the file system in question changes the entire view of the world. :)
---
Next, punch a whole in your firewall allowing NFS and DHCPD to communicate with the Raq. If you are behind NAT, on a small network, and feel comfortable, drop your firewall completely. Filtering network services has always given me a headache.
---
Re-start your NFS and DHCP server using the following two commands:
/etc/init.d/nfs-user-server restart
/etc/init.d/dhcp3-server restart
---
Use your trusty, and hopefully sturdy (not too cheap) serial cable and connect both ends. That was really not necessary. Fire up minicom, and use these settings: 115200 8N1 Note: My serial device is /dev/ttyS0 I know, when you were a kid, you had to walk 10 miles both ways, and I could C U Angry. Don't be a bitch!
All installation dialogs, progress notifications, and prompts for information such as what packages you want to install, will be communicated through this serial connection.
---
At this point, you should be able to fire up your Raq, holding down the left and right keys for a network boot. If all is good in your world, you will be present with a menu. Scroll down to "Network (NFS)" and hit the "E" key, enter.
I suggest disconnecting your cable to the Internet when booting the system. A lot of confusion can occur if you have two DHCP servers. Basically, it is whomever answers first, and if you don't notice that the Raq's IP was granted by a secondary DHCP server, it can cause a lot of frustration. As soon as you see the menu however, you can re-connect to your Internet gateway.
You should now be looking at your minicom terminal, and the rest of the installation is easy sailing from here. Good luck!
Main Entry: spew
Function: verb
Etymology: Middle English, from Old English spIwan; akin to Old High German spIwan to spit, Latin spuere, Greek ptyein
intransitive verb
1 : VOMIT
2 : to come forth in a flood or gush
3 : to ooze out as if under pressure : EXUDE
transitive verb
1 : VOMIT
2 : to send or cast forth with vigor or violence or in great quantity -- often used with out
- spew-er noun
-- Merriam-Webster