Sunday, July 6. 2008
Chumby ethernet work-around
So today I decided to try taking another whack at getting my chumby to work over an ethernet connection.
The problem - since I bought it awhile back - was that the existing hack to make this work is broken for the time being due to a usb driver bug in the firmware. New firmware is being worked on that should fix this, but I've been itching to bring the little guy into work with me...
Luckily I came across a thread in the chumby forums where some kind soul has patched the buggy usb module, pre-packaged a replacement firmware image, and posted a link to where we can download a copy!
Here is the link to get you going if you're in the same boat as me:
Download the "at your own risk" bit...
Now yes I could've probably found the necessary info to patch this, created a toolchain to build it myself, etc, but it's nice to find a drop-in solution sometimes too... especially on devices like the chumby that are meant to be hackable but accessible at the same time.
Thanks to Ken and readability on the chumby forums for making this so simple!
The problem - since I bought it awhile back - was that the existing hack to make this work is broken for the time being due to a usb driver bug in the firmware. New firmware is being worked on that should fix this, but I've been itching to bring the little guy into work with me...
Luckily I came across a thread in the chumby forums where some kind soul has patched the buggy usb module, pre-packaged a replacement firmware image, and posted a link to where we can download a copy!
Here is the link to get you going if you're in the same boat as me:
Download the "at your own risk" bit...
Now yes I could've probably found the necessary info to patch this, created a toolchain to build it myself, etc, but it's nice to find a drop-in solution sometimes too... especially on devices like the chumby that are meant to be hackable but accessible at the same time.
Thanks to Ken and readability on the chumby forums for making this so simple!
Monday, March 17. 2008
Setting up NFS and samba on your FreeBSD box
NFS is a pretty straightforward thing to set up. Once you've enabled the daemons in /etc/rc.conf, you simply have to edit the /etc/exports file and start the daemon:
(If the following lines aren't present already, add them:)
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
(Add a line similar to the following - multiple shares on one line are okay; replace the network subnet info with your own:)
/store/share1 /store/share2 /store/share3 -network 192.168.1 -mask 255.255.255.0
(The simplest way to start everything properly is a reboot:)
# shutdown -r now
That's all there is to it! You can now set up access to your NFS file-shares from any UNIX machine on your network.
Now for samba.
Do a "make install clean" in /usr/ports/net/samba3. It might take a bit to complete...
Although somewhat dated, this link gives a pretty good explanation of the steps needed to get yourself up and running.
The most important thing to remember is to give your user(s) access by invoking the smbpasswd command.
Good luck - back with more later.
(If the following lines aren't present already, add them:)
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
(Add a line similar to the following - multiple shares on one line are okay; replace the network subnet info with your own:)
/store/share1 /store/share2 /store/share3 -network 192.168.1 -mask 255.255.255.0
(The simplest way to start everything properly is a reboot:)
# shutdown -r now
That's all there is to it! You can now set up access to your NFS file-shares from any UNIX machine on your network.
Now for samba.
Do a "make install clean" in /usr/ports/net/samba3. It might take a bit to complete...
Although somewhat dated, this link gives a pretty good explanation of the steps needed to get yourself up and running.
The most important thing to remember is to give your user(s) access by invoking the smbpasswd command.
Good luck - back with more later.
Sunday, March 16. 2008
FreeBSD: dynamically updating named + isc-dhcpd
Dynamic DNS updates via DHCP are a really cool feature to have if you've got more than a few machines on your internal network.
The benefits of doing things the way I'm about to describe include: (ostensibly) faster external address resolution (because the internal DNS also acts as a caching nameserver), the ability to issue pseudo-static IPs to hosts that you want to always receive a specific address, and of course the functionality of letting your FreeBSD box automatically generate a DNS entry for each new DHCP client.
In recent versions of FreeBSD, the named nameserver component is already included in the standard system, so enabling it is just a matter of modifying a few configuration files. The DHCP component you can build by going to /usr/ports/net/isc-dhcp-server and issuing the standard "make install clean".
No point in rewriting what's already been said, so here's a link to a post made by "halber_mensch" on the BSDForums website: http://www.bsdforums.org/forums/showthread.php?t=49883 - This is the guide that finally got me up and running after much searching on Google the first couple of times I tried to set up such a system. Halber deserves the credit for sure.
Test out your services by starting them:
# /etc/rc.d/named forcestart
# /usr/local/etc/rc.d/isc-dhcpd.sh start
Once you've followed the steps outlined above, be sure to enable the daemons at boot by editing your /etc/rc.conf file:
...
named_enable="YES"
dhcpd_enable="YES"
dhcpd_ifaces="network interface"
The benefits of doing things the way I'm about to describe include: (ostensibly) faster external address resolution (because the internal DNS also acts as a caching nameserver), the ability to issue pseudo-static IPs to hosts that you want to always receive a specific address, and of course the functionality of letting your FreeBSD box automatically generate a DNS entry for each new DHCP client.
In recent versions of FreeBSD, the named nameserver component is already included in the standard system, so enabling it is just a matter of modifying a few configuration files. The DHCP component you can build by going to /usr/ports/net/isc-dhcp-server and issuing the standard "make install clean".
No point in rewriting what's already been said, so here's a link to a post made by "halber_mensch" on the BSDForums website: http://www.bsdforums.org/forums/showthread.php?t=49883 - This is the guide that finally got me up and running after much searching on Google the first couple of times I tried to set up such a system. Halber deserves the credit for sure.
Test out your services by starting them:
# /etc/rc.d/named forcestart
# /usr/local/etc/rc.d/isc-dhcpd.sh start
Once you've followed the steps outlined above, be sure to enable the daemons at boot by editing your /etc/rc.conf file:
...
named_enable="YES"
dhcpd_enable="YES"
dhcpd_ifaces="network interface"
Saturday, March 15. 2008
Remounting long term storage in /etc/fstab
If you read the previous post then you know that I've done just the basics to get the FreeBSD box up and running again; there's very little configuration that's taken place just yet... so now the fun stuff begins!
I started with some very basic tasks to get things rolling.
First off, having created and updated my ports collection, I shut down the machine again and re-enabled my storage array. I didn't mention this earlier because I forgot, but my reasoning behind unhooking the physical drives was just that there's always a possibility of losing data due to human error... not fun.
Of course /etc/fstab (the configuration file that holds your persistent mount-points) doesn't know of the extra 1 TB of data that's just been re-enabled, so we have to create an entry representing it:
( Switch to root login if not already there )
$ su -
( Make your target mount-point's directory )
# mkdir /store
( Skim over the output of your device messages until you find something that looks like the newly added slice )
# dmesg
( Use your favorite editor here )
# edit /etc/fstab
( Add an entry to the fstab file like so, specifying slice, mount-point, file-system, permissions, and options )
/dev/da0s1c /store ufs rw 2 2
( Exit editor, and issue the mount all command )
# mount -a
...At this point everything should be all set for you to pick up where you left off with the long term data. One note, however: if you're not being allowed access to root by su, then you're probably not in the wheel group. Switch virtual terminals on the local FreeBSD box and login as root, then edit /etc/group to include your lesser-privileged login in the wheel group (e.g.: wheel:*:0:root,username).
More to come...
I started with some very basic tasks to get things rolling.
First off, having created and updated my ports collection, I shut down the machine again and re-enabled my storage array. I didn't mention this earlier because I forgot, but my reasoning behind unhooking the physical drives was just that there's always a possibility of losing data due to human error... not fun.
Of course /etc/fstab (the configuration file that holds your persistent mount-points) doesn't know of the extra 1 TB of data that's just been re-enabled, so we have to create an entry representing it:
( Switch to root login if not already there )
$ su -
( Make your target mount-point's directory )
# mkdir /store
( Skim over the output of your device messages until you find something that looks like the newly added slice )
# dmesg
( Use your favorite editor here )
# edit /etc/fstab
( Add an entry to the fstab file like so, specifying slice, mount-point, file-system, permissions, and options )
/dev/da0s1c /store ufs rw 2 2
( Exit editor, and issue the mount all command )
# mount -a
...At this point everything should be all set for you to pick up where you left off with the long term data. One note, however: if you're not being allowed access to root by su, then you're probably not in the wheel group. Switch virtual terminals on the local FreeBSD box and login as root, then edit /etc/group to include your lesser-privileged login in the wheel group (e.g.: wheel:*:0:root,username).
More to come...
Friday, March 14. 2008
First things first
I promised last night that I'd make an attempt to record my experiences as I rebuild my home FreeBSD server.
Well, I've just run through the typical installation procedure for creating a new system using the provided CDs, and while I portsnap fetch/extract/update the ports collection I figured I'd take a few moments to make a quick inventory of what I intend to do:
First and foremost - this rig has GOT to be able to serve out the existing data on my 1 TB RAID 5 array.... otherwise I'd be without any backups of my other systems, would have to rebuild my media collection, and, most annoyingly, I'd have to rewrite all my conf files. I use the nfs and smb protocols concurrently for file serving.
NTP client/server - this is just a fun thing to have.
Dynamic DHCP/DNS - I'll probably revisit this in more detail as I get to it; suffice it to say, this is a cool trick that lets you do things like DHCP reservations for specific hosts based upon MAC, as well as automatic resolution of internal boxes based upon their canonical names.
FreeRADIUS EAP-TLS security for my WiFi network - this is much less of a concern now that I live in the great white North (and not in my old apartment block), but it's still another worthwhile thing to have. As an added bonus for using this, you get to see who's trying to connect to your network and when. If I had any doubts about its effectiveness before they've been all but squashed now... very cool.
Apache + mod_dav + SSL + Subversion - The web server is really just here to house the DAV functionality (which I use for Mozilla Sunbird), the Subversion repos that I sometimes play with, and for an easy way to access files remotely from outside my network (e.g. xbel.xml FireFox bookmarks).
...Anyway - that's a good place to start. Back with more later!
Well, I've just run through the typical installation procedure for creating a new system using the provided CDs, and while I portsnap fetch/extract/update the ports collection I figured I'd take a few moments to make a quick inventory of what I intend to do:
First and foremost - this rig has GOT to be able to serve out the existing data on my 1 TB RAID 5 array.... otherwise I'd be without any backups of my other systems, would have to rebuild my media collection, and, most annoyingly, I'd have to rewrite all my conf files. I use the nfs and smb protocols concurrently for file serving.
NTP client/server - this is just a fun thing to have.
Dynamic DHCP/DNS - I'll probably revisit this in more detail as I get to it; suffice it to say, this is a cool trick that lets you do things like DHCP reservations for specific hosts based upon MAC, as well as automatic resolution of internal boxes based upon their canonical names.
FreeRADIUS EAP-TLS security for my WiFi network - this is much less of a concern now that I live in the great white North (and not in my old apartment block), but it's still another worthwhile thing to have. As an added bonus for using this, you get to see who's trying to connect to your network and when. If I had any doubts about its effectiveness before they've been all but squashed now... very cool.
Apache + mod_dav + SSL + Subversion - The web server is really just here to house the DAV functionality (which I use for Mozilla Sunbird), the Subversion repos that I sometimes play with, and for an easy way to access files remotely from outside my network (e.g. xbel.xml FireFox bookmarks).
...Anyway - that's a good place to start. Back with more later!
Thursday, March 13. 2008
Long time between posts...
I've obviously not posted in a long time, so I wanted to make use of an "opportunity" that's popped up with respect to the FreeBSD server I run at home.
It's been several months since the FreeBSD team released their latest production quality version of the operating system: 7.0. I've not been keeping up with upgrades on this box, mostly because I've always seen this machine as being a sort of set-it-and-forget-it appliance. It does a lot of the basics that keep my network happily chugging, but nothing too special.
Recently I decided I wanted to try out making a GRUB network boot environment and host it on this machine. The idea (although still not implemented) was to make a GRUB PXE that allowed the client to choose from any number of bootable OS images, most notably the excellent System Rescue CD. This way I wouldn't need to go to the bother of burning discs, and I could more easily work on machines that are without CD drives (such as my shiny new Eee PC).
The problem was that the GRUB environment that's available through FreeBSD's ports system is only for 32 bit systems (my box runs the AMD64 architecture). So, after tinkering for a bit to try and build GRUB and its dependencies from the source tarballs available from the GNU website, and without much luck, I decided that I might as well look into upgrading the system itself since I was already playing with it.
Short version: I've decided to do a fresh install of FreeBSD 7.0 RELEASE after spending several hours working with the freebsd-update and portupgrade systems. The major issue I've run into has to do with the replacement of the libpthread library in this version and programs from ports still trying to link against it. It's likely that I've introduced other small b0rks into the system as well, so rather than spending the time to fix the problem I've decided a clean reinstall will do nicely.
Continue reading "Long time between posts..."
It's been several months since the FreeBSD team released their latest production quality version of the operating system: 7.0. I've not been keeping up with upgrades on this box, mostly because I've always seen this machine as being a sort of set-it-and-forget-it appliance. It does a lot of the basics that keep my network happily chugging, but nothing too special.
Recently I decided I wanted to try out making a GRUB network boot environment and host it on this machine. The idea (although still not implemented) was to make a GRUB PXE that allowed the client to choose from any number of bootable OS images, most notably the excellent System Rescue CD. This way I wouldn't need to go to the bother of burning discs, and I could more easily work on machines that are without CD drives (such as my shiny new Eee PC).
The problem was that the GRUB environment that's available through FreeBSD's ports system is only for 32 bit systems (my box runs the AMD64 architecture). So, after tinkering for a bit to try and build GRUB and its dependencies from the source tarballs available from the GNU website, and without much luck, I decided that I might as well look into upgrading the system itself since I was already playing with it.
Short version: I've decided to do a fresh install of FreeBSD 7.0 RELEASE after spending several hours working with the freebsd-update and portupgrade systems. The major issue I've run into has to do with the replacement of the libpthread library in this version and programs from ports still trying to link against it. It's likely that I've introduced other small b0rks into the system as well, so rather than spending the time to fix the problem I've decided a clean reinstall will do nicely.
Continue reading "Long time between posts..."
Wednesday, January 2. 2008
Devbuntu Very Much?
Okay, so I've had basically this same idea for a long time now (I called it Devbuntu too...), but this guy beat me to the punch on blogging about it: Devbuntu.
Continue reading "Devbuntu Very Much?"
Tuesday, January 1. 2008
New SharpDevelop Builds Coincide w/ Microsoft's VS.NET 2008 Release
I'm downloading SharpDevelop v.3.0.0.2774 as I write this, and I can't wait to give it a try.
Even though I have VS2005 installed on my laptop at home I still find myself using #D more frequently when I'm messing around with some code. It's like a superior "Express" edition IDE, in case you've never tried it. It's leaner and much faster than the Microsoft environment, and there's none of the registration garbage to deal with. Even more, it doesn't restrict you to a specific language like Microsoft's free offerings do; VB.NET/C#/Boo/etc are all there, and you can choose which framework you'll be targeting as well (including Mono).
Another reason why I'll be glad to start in with the latest era of IDEs is because we may be moving to VS.NET2008 at work. One of the guys on our development team has been testing our readiness to migrate away from the old v.1.1 framework into either 2.0 or 3.0/3.5. Not having had much experience with 3.5, it'll be nice to play around with some of the new features ahead of time.
I've really liked working with SharpDevelop 2.2 in the past, so I'm definitely anxious to try out the latest version.
Will post more once I've spent some time with it.
[ UPDATE ]
I was interested so I googled for .NET 3.5 features: check out this grid to see what comes with the new framework!
Even though I have VS2005 installed on my laptop at home I still find myself using #D more frequently when I'm messing around with some code. It's like a superior "Express" edition IDE, in case you've never tried it. It's leaner and much faster than the Microsoft environment, and there's none of the registration garbage to deal with. Even more, it doesn't restrict you to a specific language like Microsoft's free offerings do; VB.NET/C#/Boo/etc are all there, and you can choose which framework you'll be targeting as well (including Mono).
Another reason why I'll be glad to start in with the latest era of IDEs is because we may be moving to VS.NET2008 at work. One of the guys on our development team has been testing our readiness to migrate away from the old v.1.1 framework into either 2.0 or 3.0/3.5. Not having had much experience with 3.5, it'll be nice to play around with some of the new features ahead of time.
I've really liked working with SharpDevelop 2.2 in the past, so I'm definitely anxious to try out the latest version.
Will post more once I've spent some time with it.
[ UPDATE ]
I was interested so I googled for .NET 3.5 features: check out this grid to see what comes with the new framework!
My First Steps with Linux
If you're new to GNU/Linux, I highly recommend Ubuntu (a Debian derivative) as your starting point. The information below may not be as useful in today's world of "It Just Works" distributions, but it may give some insight into why I'm such an Ubuntu fan...
Continue reading "My First Steps with Linux"
Continue reading "My First Steps with Linux"
New Year, New Blog
First off, thanks for visiting my new site.
As this thing grows I expect that it'll be a place for me to make note of some of the "geekery" I do from day to day. I'd like to use the site as a sort of repository for notes and reactions I've had to working with different technologies...someplace I can refer back to from time to time if I need a refresher on how to accomplish something. Hopefully others will find it useful as well.
Setting up a blog at this domain is something I've considered doing for awhile now, but I've always wondered if I'd really use it in the long run. I guess we'll see.
Happy New Year!
As this thing grows I expect that it'll be a place for me to make note of some of the "geekery" I do from day to day. I'd like to use the site as a sort of repository for notes and reactions I've had to working with different technologies...someplace I can refer back to from time to time if I need a refresher on how to accomplish something. Hopefully others will find it useful as well.
Setting up a blog at this domain is something I've considered doing for awhile now, but I've always wondered if I'd really use it in the long run. I guess we'll see.
Happy New Year!
« previous page
(Page 1 of 1, totaling 10 entries)
next page »

