All | 43 Folders | Accessibility | BoingBoing | Books | Computer Related | Family | Films | General | Hacking | Hobbies | Humor | Java | Links | Omni | OpenSolaris | Puzzles and Games

« More Pumpkin Carving | Main | How Much is Your... »
20061101 Wednesday November 01, 2006

Problems With 64bit Ubuntu Edgy

I've got two work machines -- an Acer Ferrari 3400 (AMD Opteron) laptop and a Dell Dimension 8200 (Pentium 4) -- each with a triple boot setup, capable of booting into Windows Xp, Solaris or Ubuntu Linux.

Up until yesterday morning, I had Ubuntu Dapper Drake and an old build (#34) of Solaris Nevada. Time to upgrade to the latest and greatest.

I downloaded .iso images for the Ubuntu Edgy 64 bit CDROM and the Solaris Nevada build #51 x86 DVD and burned media.

I first booted the Ubuntu Live CD, and then double clicked on the "Install to disk" icon on the desktop. The installation is wonderfully painless. On my 32bit Dell, Edgy works smoothly. Not on my Ferrari though.

After it had spent 20-30 minutes installing the software on the CDROM to the hard disk, it came up with the dialog that gives you two options:

I went to reboot. After a couple of minutes of chugging away, it puts up text telling me to make sure the CD was ejected then press Enter to continue. It nicely ejected the CDROM, but pressing Enter did nothing. My computer was totally wedged at that point. I had to hold the power button down for 8 seconds in order to get it to turn off.

When it rebooted it had the following error:

/dev/hda2: The filesystem size (according to the superblock) is 9769528 blocks
The physical size of the device is 9766512 blocks
Either the superblock or the partition table is likely to be corrupt!

/dev/hda2: UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY.
       (i.e., without -a or -p options)
fsck died with exit status 4

It then throws me into a maintenance shell to run fsck manually. That doesn't help. /dev/hda2 I believe is my Solaris partition. Ubuntu doesn't seem to grok it.

I've been unable to fix this. (I'm not even sure it's a real problem). If somebody knows the appropriate commands to run, please let me know. Maybe there is a way of making it just ignore this file system, although it would be really nice to see the files in this partition from a Nautilus window on my desktop, like I can for my Windows partition.

I do have one other problem though. It appear that it hasn't been able to properly configure the network. At least that's what I assume it means with the little "Network Connection:" icon in the top gnome-panel that has a red "No Entry" symbol against it. When I click it, I get a popup with:

Please contact your system administrator to resolve the
following problem:

    SIOCGIFFLAGS error: No such device

                                            [Close]
Again, it's a tad confusing because I can happily ping hosts like Google and my Firefox browser appears to be working just fine. Maybe this refers to the wireless network as opposed to my wired network connection.

The Solaris Nevada installation was mostly uneventful. If you are doing an upgrade install instead of a full install, I noticed that it no longer installs the Solaris GRUB loader, so I had to run that manually via a single user shell from the boot DVD before hand (thanks Detlef!), otherwise the recently installed Ubuntu GRUB loader (which knows nothing about Solaris) would have been active.

After the upgrade was complete, I then had to merge in the new Ubuntu boot lines (from a previously saved copy of the Ubuntu /boot/grub/menu.lst) into the Solaris /boot/grub/menu.lst so that Ubuntu would be recognized as a valid boot option.

Which nicely brings me to my next point. While I'm venting I have two more complaints.

  1. The Ubuntu GRUB loader doesn't recognize Solaris partitions. I thought we (Sun) had a strategic business alliance with the Ubuntu folks. Can't somebody slip the usual brown bag full of used fivers behind the stalls in the men's restroom and get this fixed?

  2. The need to have special 64bit libraries. With Orca, there is a very nice text-to-speech engine that we use called DECtalk. There is only a set of 32bit libraries for Linux. They don't work on 64bit Ubuntu. We can't persuade the company that owns DECtalk ( Fonix), to generate a set of 64bit Linux libraries. There isn't enough demand for them.

    Maybe there is a way of faking 32bit libraries under Linux so that they'll work on a 64bit system. If there is, I wish I knew how to do it. The fact that Ubuntu has separate media for the 32bit and 64bit versions of their operating system suggests that this isn't possible.

    Needless to say, you only need one set of DECtalk libraries on Solaris "x86" (32 bit or 64 bit). They just work.

I'm going to the Ubuntu Developers Summit in Mountain View next week. I'll take along my Ferrari. Perhaps some Ubuntu engineer will take pity on me and fixup whatever is wrong with my installed Ubuntu distro.

[]

[]

( Nov 01 2006, 06:06:15 AM PST ) [Listen] Permalink Comments [12]

Comments:

From the hda2 error you're mentioning...it looks like ubuntu thinks your solaris partition is your root partition...

Posted by Diego on November 01, 2006 at 06:55 AM PST #

Diego: not necessarily. It does sound like Ubuntu is now recognising Solaris partitions, though, which is nice. The fsck error might be a real problem (if the FS is larger than the partition it lives in, you can end up with data corruption, which is a bit uncool), or it might be Linux not quite understanding Solaris partitions...

Re. 32-vs-64-bit libraries: 32-bit binaries must link to 32-bit libraries, and 64-bit binaries must link to 64-bit libraries. You _can_, however, run 32-bit binaries on a 64-bit kernel. The short term answer, alas, is that it's much easier to run 32-bit Linux even on 64-bit machines if you have any need for proprietary software. (Java is a big pain for me - while Sun have AMD64 builds of Java, they don't include the web browser plug-in. This makes no sense whatsoever. The other biggie, of course, is Flash.)

Posted by Cameron on November 01, 2006 at 07:08 AM PST #

IIRC, the reason this just works in Solaris is that the 64bit version of Solaris is really just a 64bit kernel and a very small number of 64bit libs, and 99% of the OS is just the 32bit OS running in the processor's 32bit mode. Only apps that can really make use of 64bitness (like databases) get compiled in 64bit mode using the 64bit libraries. Sun did it this way for exactly the reason you give: so that existing 32bit proprietary libraries would still work on the 64bit OS. Linux distros, being less concerned about proprietary libraries, went the other way, and a 64bit linux distro is 95-100% 64bit code. Traditionally, RPM-based distros have let you mix and match 32 and 64-bit stuff (by installing all 64bit libs into /usr/lib64, so you can just install library packages from the 32bit distro and they install into /usr/lib and don't cause conflicts). The classic use case is installing 32bit firefox (and all of its dependencies) so you can use the flash plugin. Debian and Ubuntu traditionally have not given any way to install 32bit libs into the 64bit OS, so the best you could do was install a 32bit chroot environment, which sort of sucked, but it seems that the situation is getting better these days. (Eg, http://ubuntuforums.org/showthread.php?t=202537) Anyway, if you install RH or SUSE, you ought to be able to just remove the 64bit orca package, install the corresponding package from the 32bit distro, and then use DECtalk.

Posted by danw on November 01, 2006 at 07:19 AM PST #

I use Gentoo on amd64 without any problems, I think that it is a great distro ;-) :-)

Posted by Pacho Ramos on November 01, 2006 at 08:31 AM PST #

I use Gentoo on amd64 without any problems, I think that it is a great distro ;-) :-)

Posted by Pacho Ramos on November 01, 2006 at 08:32 AM PST #

Just curious why you didn't use Ubuntu's update manager to upgrade from Dapper to Edgy. It works like a charm, and you can happily avoid the whole reinstallation dance. gksu "update-manager -c" from a terminal or run dialog and it JustWorks(TM).

Posted by WildBill on November 01, 2006 at 09:58 AM PST #

Hi WildBill. Because I didn't know about it. Thanks! Why isn't this more visible on the desktop?

Posted by Rich Burridge on November 01, 2006 at 10:19 AM PST #

The update manager usually would recommend dist-updates automatically, but in this case doesn't because Dapper's an ultra-stable "LTS" version.

Posted by Michael Hutchinson on November 01, 2006 at 10:53 AM PST #

Hi Rich, On your Ubuntu system, how about just editing /etc/fstab and either commenting-out, or deleting the line that refers to your Solaris partition?

Posted by Peter Schow on November 01, 2006 at 04:47 PM PST #

Hi Peter. Yup, I think that's (sadly) going to have to be my solution (for now). I'll be trying to find somebody ear to bend next week, to see if they can add/fix Solaris partition support in Ubuntu so that I can then use the Solaris partition inside Nautilus when running Edgy.

Posted by Rich Burridge on November 01, 2006 at 04:58 PM PST #

I've seen someone else on #opensolaris complaining that their solaris partitions don't work under Fedora Core 6 64bit - I think there's been a regression in the kernel support recently. The package ia32-libs contains a base set of 32bit libraries, and 'apt-cache search lib32' will return some other 32bit libraries packaged for amd64. danw is correct with the reason why the one library will work on both 64bit and 32bit Solaris. One reason why Solaris is mostly 32bit is that 64bit code is often larger for no performance benefit on SPARC. On AMD64 however, the larger number of registers (twice that of IA32) means that performance is better and so Linux distros default to using it despite the size increase and binary incompatibility.

Posted by James on November 02, 2006 at 06:35 AM PST #

your hard disc error I have experienced in dapper, it turned out to be hard disc bios settings which give conflicting disc size between what the bios states and ubuntu detects

Posted by daniel on November 26, 2006 at 04:14 AM PST #

Post a Comment:

Comments are closed for this entry.