Ted Leung on the air: Open Source, Java, Python, and ...
For work I got a new Intel based PC, a Shuttle G5 9500 XPC. This is an AMD64 nForce3 based machine. Mine has an AMD64 3500, 1Gig of RAM and 74G 10000RPM Raptor. It's not the top of the line, but it's pretty close. The form factor is great (goes right under one of the shelves of my desk), the heat is nice in the winter, and the noise is tolerable (but could be better)
I've spent the last few days wrestling with the machine. To do the job, the machine needs to run Windows XP, Fedora Core n (which is our supported Linux) and Ubuntu (because I'm willing to do the work to get things going on Ubuntu).
I started by grabbing the latest Hoary AMD64 Live CD, in order to make sure that Ubuntu could detect all the hardware. I had some concerns about the SATA disks and the Ethernet controller on the nForce. The LiveCD's found everything, put up a beautiful GNOME desktop, and seemed to run just fine. Next stop Hoary Install CD for AMD64. This installed like a champ, but wouldn't boot. I got dropped into the Intel PXE netboot. Something was messed up with the boot records. A frenzy of wiping, repartitioning, reinstalling ensued punctuated by reboot after reboot (I ended up blasting Windows too). I learned about Debian From Scratch, which is a handy way of using Debian as a rescue CD.
In the end I put Ubuntu on a primary partition (it had been on an extended paritition), installed GRUB's master boot record on that partition, and then copied that boot record to Windows, where I could put it into boot.ini and use the Windows boot loader to load GRUB which would then boot Ubuntu. I had never done anything with GRUB before Ubuntu, and I now know more about it that I wanted to. But at least I have a working dual boot system.
Next problem, building Chandler on AMD64. This turned out to be too big of a hurdle for a one night project. Installing the ia32-libs package helped some, but not enough. The big remaining problem seems to be weirdness with Hoary's current packageing of gcj-3.4, which is needed for PyLucene. I was tempted to go do the chrooted 32bit library thing, but I think I need to learn a little more about 64 vs 32 bit environments before I do that. I ended up grabbing a 32bit i386 Hoary CD and installing that into the partition intended for Fedora Core 3. After I did that I was able to successfully get the prebuilt Chandler to run (I have no doubt I'll be able to get it to compile if I need to). The last snag is that Chandler/wxWidgets runs great on the Xorg X xserver in Ubuntu, but when I try to run it using XQuartz on the Mac, Chandler crashes. So, for native Linux, we're AOK, for the case which would be more convenient for my working, there's a bit more to go.
On the whole, I'm happy with how the Ubuntu install went -- much better than my previous Debian installs (and most of my Debian knowledge carried right over), and without many cuts. In fact, when I just made one huge Ubuntu partition, things went really easily. The problem came in with me wanting a triple (perhaps now I'll need quadruple) boot setup, being inexperienced with GRUB, and trying to build a 64 bit Chandler, which I'll eventually figure out how to do.
I can highly recommend vmware for general OS testing. I used to use virtualpc on the mac and have found it to be useful to (although a lot slower obviously).
Posted by Raj at Wed Feb 2 15:23:36 2005
First of all, I've been looking at Shuttle PCs for a while, although I don't see any single clear advantage of AMD64 over IA32 for moderately demanding applications - surely the bus performance is only a bit better than the faster dual channel P4-supported busses, and I doubt I'll ever use enough memory (including VM, naturally) to necessitate 64-bit addressing. (I remember reading that even the 386 had support for fairly large address spaces, although this was never widely used.)
Then there's Ubuntu whose corporate benefactor's CD shipping service kindly sent me some discs to try out. The live CD struck me as being very slow compared to Knoppix - a problem which seems to be related to how much RAM one has, and where more than 128MB seems necessary - but it did a fairly good job of detecting hardware and, unlike the more recent Knoppix editions, I did figure out how to get it to boot on my laptop without it hanging. The install CD seemed to need more work with both hardware detection and configuration, with the latter issue being really irritating with many Debian distributions, in my experience. As for the hardware detection, I wonder why it is that live CDs manage to boot with full sound and video and yet a supposedly careful installation process fails. Moreover, the dual fashions of having as much as possible in kernel space (something I could rant about extensively) and loading as many kernel modules as possible in order to see what works really need substantial refinement, in my view.
Finally, the PyLucene strategy is intriguing. Just for fun, I started to investigate Java class files to see what the possibilities were for interoperability with Python, and I ended up writing a system for inspecting and importing Java classes into Python - see the javaclass package on PyPI for more information!
Posted by Paul Boddie at Thu Feb 3 04:07:22 2005
title Windows XP
rootnoverify (hd0,2)
makeactive
chainloader +1
GRUB is installed on the MBR of my disk.
Posted by Peter Millard at Thu Feb 3 07:34:04 2005
GRUB would boot Windows fine. The problem was that after it booted Windows, GRUB no longer got invoked.
Posted by Ted Leung at Thu Feb 3 22:24:31 2005
1. 64 bits are good for more than addressing and memory bandwidth.
2. I bittorrented my Ubuntu CD's. I've never tried Knoppix so I can't comment on that. I've also since discovered that the hardware detection didn't do well on my sound hardware. One thing's for sure. It isn't OS X.
3. I'll checkout javaclass...
Posted by Ted Leung at Thu Feb 3 22:32:16 2005
1. Is the AMD64 architecture truly 64-bit, though? (In the sense of a 1980s argument about whether the 68000 is 16-bit or 32-bit, I mean.) The DEC Alpha CPU family has 64-bit registers across the board, for example, but my impression was that AMD64 only used the full 64 for addressing. If I'm wrong on that then it might be interesting to reconsider my position. ;-)
2. True, but Apple don't quite have the impromptu audience that Knoppix has. ;-)
3. The javaclass work is rather rough around the edges, but it's the concept that is important more than anything else. Don't expect to import javax.servlet.http, for example - to be able to do things like that was one of my objectives, but one has to provide a lot of library support for such activities. I may try and re-use the rt.jar library to bootstrap things faster, but there may be native methods which get in the way.
Posted by Paul Boddie at Fri Feb 4 00:36:09 2005
In 64bit mode, AMD64 processors have 16 64 bit registers and can do 64 bit integer ops.
Posted by Ted Leung at Fri Feb 4 21:38:50 2005
My Windows boot entry in grub looks like this:
root (hd0,1)
chainloader +1
My Linux root partition (which is where grub is installed) is the first primary partition, and the Windows boot partition is the second.
(BTW, your Preview operation has an unfortunate predilection for replacing the content of the comment text box with "Missing value: url" ...)
Posted by Daryl Oidy at Sun Feb 6 16:52:10 2005
Posted by Pingback from Ted Leung on the air : computers/operating_systems/macosx/1234 : IDF is depressing me at Thu Mar 10 00:04:52 2005
Posted by Pingback from Ted Leung on the air : Why I won't be switching off OS X (yet) at Mon Jun 26 23:48:15 2006
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk