Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Wednesday, June 25, 2008

Quick Techie Splatter

After changing something on my Linux home router today, I realized I should make a post about the Tomato replacement firmware. Yes, I realize most people have no idea what I'm talking about right now, but for those that do, keep reading.

Tomato is one of many replacement open source firmwares available for the Linksys WRT54G family of access points and routers (among other devices). Most people are familiar with this little ubiquitous device, and many are aware that you can replace the firmware on it thanks to open source software (and some people behind the scenes who poked Linksys until they "did the right thing" with their open source support).

DD-WRT has been one of the most popular of these firmware packages for quite some time. I was a big fan myself. However, a few things began to sour me on it. First and foremost, DD-WRT does a fair job of stepping all over the spirit of open source. Yes, it is technically possible to get the source, but good luck ever figuring out how to get it to build. Moreover, I have seen many (possibly rumored) reports of less than desirable behavior related to the DD-WRT codebase.

Over time, a "subscription" version of the firmware has become available. I see any new features in the future likely only being available to people willing to pay for this, and the free version simply stagnating. This along with the firmware itself having an ever-growing amount of services that bordered on adware made me want to look elsewhere.

It turns out unless you really needed every last knob of DD-WRT, Tomato is both far simpler and equally fully featured. In addition, its hot-set capability for nearly all parameters is very slick.

I won't go into exhausting details feature by feature of the two. I'll suffice it to say that I see no reason why someone wouldn't be equally or more satisfied by using Tomato vs. DD-WRT. A quick Google search of "tomato wrt" brings up others opinions on this subject as well.

Saturday, June 21, 2008

Linux Recovery Single User Mode

I recently found myself not knowing the root password on a Linux server I have in my house (it is temporarily relocated until a new hosting location is ready).

I had tried very successfully to forget all of my years of mucking with Linux servers, so it took me a bit to remember how to pull off resetting the root password. I'm throwing it on here in case I forget again in the future.

Since I had local keyboard and monitor access, this was really rather trivial. This was an older server still running Slackware. Slackware was the distro I first learned Linux with, and where I really polished my Linux skills. That said, I'll never use it again. I'm just not interested in the mucking any longer, Ubuntu server is the way to go for me.

Since this was an older Slackware box, it was still using Lilo. So, I stopped the boot process at the Lilo prompt by holding shift. I then used the following command line:
linux rw 1 init=/bin/sh

Now to explain a bit. "linux" was the name of my kernel image, "rw" says that I want to mount the root filesystem read/write, "1" is how I signal to drop to runlevel 1. All of that would be sufficient for simple troubleshooting. However, I needed to startup as root in order to reset the root password. Setting init to /bin/sh takes care of that nicely.

Tuesday, April 10, 2007

You Don't Care About This

I used to have a website where I posted random tidbits of information. I haven't bothered to resurrect it after I changed hosts, so I'm going to post something here instead. Thaddeus has posted random coding snippets in the past, so it must be cool.

Earlier today I found myself asking the question, "How do I tell if a statically linked application was built with glibc or uclibc?" The answers of course is:

"nm | grep _main | grep __"


Since you didn't ask, I've just told you.