Archive for August, 2006

Be Thankful

Tuesday, August 15th, 2006

(Or, Why a Broken Video Card is a Good Thing™.)

Yesterday, my nVidia geForce4mx-440 video card broke its advanced rendering stuff (OpenGL, accelerated X, et al.) forcing me to use its VESA mode for X. Of course, this wasn’t much of a pain for me since I don’t do much rendering or gaming nowadays (only for some parish projects,) but for my folks (who use this desktop when I’m away, of course ;) this was a major problem. Well, at least for my Mom.

The breakage of the video driver meant that the Windows installed alongside my Kubuntu system could not start up normally; one had to press F8 at boot time in a splitsecond to catch the elusive Windows menu that allows, among other things, logging in to Windows under Safe Mode or VGA mode. The result would be to get inside a 640×480 desktop, with barely much room for movement; while its certainly possible to adjust to 800×600, the fact that one had to do that meant an extra step in using what really is a 5-year-old-and-hopelessly-outdated operating system. Not to mention the occasional flickers of the screen and random image corruption.

Then, a bit later, Windows finally gave up. Neither the safety of Safe Mode or the vega of VGA mode can save the user from the horror. A monitor with its status lights blinking, blinking, blinking… Mom would be in a panic.

And she has classes tomorrow, and she needs to print some things NOW!!! 

Ok, said I, System Administrator of the Desktop revan. I’m going to do something.

And do something I did. I promptly logged in to Kubuntu, cleaned up one of its partitions that used to hold /usr/local/ (a hangover from my old Debian install, and cp -pa‘d my way, backing up what’s in C:\Documents and Settings\ as well as some other important files. Then…

I was a bit stumped. What else I could do?

Reinstall Windows? Yeah, right. That could work, but then again I need to go through the hoops all over again, activating the damn thing (knowing full well that Windows Product Activation ceased some months ago) and grabbing the stuff needed to have a working system (office, internet, etc.) Of course I can simply use OpenOffice.org, but I figured if, I installed OpenOffice.org for Windows, then why shouldn’t I install yet another GNU/Linux system as well? That lead me to the idea of simply extending my /home setup in Kubuntu to cover the old Windows partition, but I figured too that this is awkward.

Then I remembered that Mom was nagging me to install Edubuntu some time ago, after having heard that is was really neat as an teaching system. Of course! This is the perfect time. The opportunity finally presented itself.

So, I finally fragged /dev/hda2, formatted it using ReiserFS, and promply installed Edubuntu.

Teh Ende Result: Sweet.

Well, my revan’s finally Windows-free, for the first time since it got to our home in August 2003. A fitting birthday change, indeed. Thanks to my b0rked video card. And Edubuntu! :D

Meh.

Saturday, August 12th, 2006
12:48 #ubuntu-ph: < jsgotangco> zakame: bakit higante hackergotchi mo

...

zakame@revan:~/planet-ubuntu$ cp /home/zakame/Documents/Pictures/hackergotchi-small.png heads/zakame.png
zakame@revan:~/planet-ubuntu$ bzr commit -m "Shrink zakame's head, doh"

ntfs-3g Love

Friday, August 11th, 2006

Yesterday I was back again at the Parish to continue working on arete, the newly-installed Ubuntu Dapper machine. I was back because I had to continue migrating my father’s files from Windows to the new setup, since he wanted to try out Scribus as a replacement for his MS Publisher system for writing the parish newsletter. Anyhow, this reason, coupled with my own urge to seriously try out Ubuntu Dapper (I was running Kubuntu Dapper, doh) made me spend the whole day trying out something new. ;-)

As I was looking at Dad’s documents folder, I realized that I had a problem: there are so many files here, some of them sizing up from tens to hundreds of megs (actually, stuff worked on thru the Gimp,) and knowing well that disk drive space was at a premium (arete had an 80G drive, yes, but nevertheless its already cramped,) I simply couldn’t accept copying the files from the XP’s NTFS C:\ to arete’s ext3 /home. Moving wasn’t an option either; although Dad would very much like to try out Ubuntu, he still had some projects (especially the newletter) that needed, uhm, proprietary software to work (sigh.) Thus, remembering that Linux already had some way of reading NTFS partitions, I promptly Googled about it.

I also knew that the Linux-NTFS guys (who made the ntfsprogs suite and kernel module) were already working on getting full read/write NTFS support on Linux, but it didn’t occur to me that they were able to get a working implementation done so soon…

Enter ntfs-3g: the third generation Linux-NTFS driver. Weighing in at around 550K, this seems to be the one thing that I need for my problem. From the looks of it, ntfs-3g can both read from and write to NTFS partitions, allowing one to create, delete, and update files and directories on the system; it can even allow access to certain metadata that even Windows XP hides from its users. Furthermore, its built from the ground up as a filesystem-in-userspace driver, using the Linux fuse subsystem. It certainly looks very attractive indeed.

So, being the sysadmin for arete that I was, I quickly decided to give ntfs-3g a try. After all, it was a simple matter of grabbing the tarball, then reading the README, then doing the three-step tango of ./configure; make; sudo make install, then calling ntfs-3g /dev/hda1 /media/hda1 -o umask=007 as root.

Right?

Wrong. I quickly ran into a trio of subproblems: first, I needed fuse (>= 2.5.0); the one Dapper had on its official archives was 2.4.2 . So, naturally, I had to make a quick backport of the fuse source from Edgy (2.5.3), but I at this point I ran into the second problem: for Eggy’s fuse to get busted, I needed the new makedev (2.3.1) as well. Forgetting to do apt-get -f install for the moment, I grabbed Edgy’s makedev and proceeded backporting it, which ran me against the last problem: I also needed the newest sysvinit (2.86.ds1). In short, I needed to do a trio of backports first before being able to build ntfs-3g. My own fuse was almost ready to explode.

Fortunately, everything went fine after the backports (thank goodness for my being a Debian package maintainer and MOTU,) so I didn’t break my own fuse after all. Soon after, I was reading and writing stuff to and from /media/hda1 without so much as batting an eyelash. Dad was definitely pleased, since that meant that he no longer had to dread the thought of having to maintain two separate document trees and cause him pain and gnashing of teeth. I was glad too, since I no longer had to dread the thought of having to hack on this today, causing me to disrupt my Summer of Code schedule.

But, being the packager that I was, I realized that I could make the world a better(?) place by turning ntfs-3g from a regular Joe source to a real Debian/Ubuntu package. While I was happily waiting for ntfs-3g’s build to complete, I happened to pass by a certain HOWTO on the Web using pre-built fuse and ntfs-3g Ubuntu packages. I grabbed those packages, and took a look at them, and while they were pretty much useful, the ntfs-3g package certainly did not look to pass the gold(?) standards of Debian and Ubuntu: the ntfs-3g package was a single binary package, shipping both a shared library and its headers, coupled with the working binaries. It had outdated FSF addresses too, which my bugging Lintian pointed out to me.

With some more extra time to spare on arete, I decided to go ahead and build proper a proper source package for ntfs-3g, producing the three binary packages ntfs-3g (containing ntfs-3g and mount.ntfs-3g,) libntfs-3g0 (depended on by the former package,) and libntfs-3g-dev (containing the include headers.) CDBS and debhelper definitely made this easy pickings, and made my life with ntfs-3g easier.

And, I’m going to make everyone else’s life with ntfs-3g easier, by making this package available for nit-picking. ;-) I won’t pretend this to be getting into the official Debian and/or Ubuntu archives for the moment, since the upstream authors have explicitly stated that ntfs-3g will be eventually merged into the existing ntfsprogs suite, thereby making my packaging of ntfs-3g obsolete sometime soon; furthermore, the binary packages up there are built against Debian unstable and Ubuntu Edgy, so anyone looking for a Dapper solution can read this post first to avoid reinventing the wheel. But if anyone needs a good solution for NTFS read/write right now (or, if somebody else has time to kill in testing ntfs-3g,) then here’s a good one for you. Caveat emptor! 

Ok, next up: finishing my SoC work…

Achieving Arete

Wednesday, August 9th, 2006

Today I installed Ubuntu Dapper on the old Pentium 4 machine at St John the Baptist Parish. This machine used to be eliza, where I did some Linux-2.6 on Debian Woody baking. But, since this was a milestone of sorts for this system, I decided to rename it to arete, after Socrates’ ideal of the perfect human being (showing my influence to Philo 173.)

As usual, this install was yet another smooth, successful, working-out-of-the-box setup (arete’s HP Deskjet 3745 printer and ATI Radeon 7000 card running perfectly,) with only the Internal D-Link/Conexant modem the only thing needing gcc love.

Tommorow, I’ll set up migrating the old files from my Dad’s Windows partition over to The Excellent Distribution™, and have him explore it, as he plans to move over the newsletter publishing system he set up for the parish (from M$ Publisher) to Scribus.

Hat tip to all the Free Software that made this possible!

Ok, I need to post now

Saturday, August 5th, 2006

Ah, well. I’m such an errant blogger, being focused in doing actual work. But here are some updates:

  • Summer Of Code: Sendpage - My code formatting patches have made CVS, and now I’m working on finishing the testsuite. Almost done, hehe :D
  • Debian NM - Still at Philosophy and Procedures 1…
  • Ubuntu PH: Picked up where Ealden left off as the PhilippineTeam Leader and LoCoContact, and with Jerome, taking care of the new, Drupal-powered portal for Ubuntu-PH.
  • School: I’m loving Philo 173!