Adverts

General Information

First read the Debian FAQ it's a little terse and out of date in a couple of places but it answers most of the questions that you will likely have with getting the base system install.

Base Installation

This was hard work. I used the latest release of the Debian installer for AMD64 which you should be able to get from here amongst other places (it's mirrored). The problem was that I was in a serious catch-22 situation because the installer doesn't automatically detect the network card (I was doing a net install). The solution I came up with was to do the base install and then configure up an old Ethernet-over-USB device that I had spare. This allowed me to get a network connection and continue the install by running base-config again. Sorry I can't be more precise about this step but I think everyone's experience here will be different. Suffice it to say, if you have an old network hard handy it's probably work sticking it in for now.

Updates 

Update Your sources.list (2006-01-11)

The alioth server should no longer be used as an apt repository. The data has now moved to:

http://amd64.debian.net/debian

If you want to use the nVidia video card drivers or a few other packages remember to add contrib and non-free to your sources list. At the moment (2006-01-11) the nVidia drivers (version 7174) in this repository won't work with kernels greater than 2.6.12. Updates are threatened but seem to be taking a long time to come through. For now you can get the nVidia AMD64 drivers for Debian by following that link. Note: that link simply takes you to a page that tells you where what sources lines to add. The packages are created by Randall Donald

Flash Now Works (2007-06-07) 

Flash 9 for x86 systems can now be installed on AMD_64 using the nsplugginwrapper. This wrapper lets non-AMD_64 plugins work under a 64 bit browser. There is even a Debian package for it so it's simple to install. Down load the latest Flash plugin (get the .tar.gz version) and unpack it in a sensible directory for plugins (I used /var/local/<my account>/flash but that's just some local scratch space that I maintain for myself). Then stop Firefox (Iceweasel) and run the command nspluginwrapper -i /usr/local/<my account>/flash/libflashplayer.so to register the player with the browser. That's it, Flash should now be working.

System Specification

Video Card

Information

There are instructions on how to install the nVidia drivers in /usr/share/doc/nvidia-kernel-common/README.Debian. Obviously you will need to install the nvidia-kernel-common package first though. I tried the open source nv drivers even though they don't list the video card I am using - they didn't work.

Installing the Drivers

Thinking about it you could probably do this using module-assistant as documented here but I didn't think of that at the time (it was very late). So here's what I did:

Debian nForce4 Drivers

There are binary drivers for the nForce4 network card and sound card in much the same way as there is for nVidia graphics cards only there isn't a nice friendly package to help you install them like there is for the video card drivers. From reading around it seems that both work with open source drivers and it's just a case of making them do so.

Network Card

Ok, I admit it, I felt like a bit of a prat for not realizing that you could get the on board nForce4 network card working with Debian fairly easily. It seems that the forcedeth drivers should get it to work (I'm not sure they come with the installer so maybe I can be excused for my somewhat round about way of getting here - and the card was certainly not detected automatically). Further investigation leads me to believe that the forcedeth drivers are actually better than the binary nVidia drivers.

Sound Card

The on-board sound is AC97 compatible (apparently) and so should work with snd-intel8x0. After loading the module with modprobe and having it not work I went on the hunt for a solution and came up with this thread which solves the problem completely. There is no point in me duplicating the whole thread here but it is well worth a read if you are struggling. In summary though. The sound card will work but only on kernel versions 2.6.10 and greater. You might also need to install the alsa-base package.

Software

At some point in the dim and distant future we might get a 64-bit version of Open Office, until then though you are pretty much stuck with using one of the following two methods to get it installed. You can either install the 32-bit libraries that have been packaged for the AMD64 port with may or may not work or you can create a chroot and run it in there. I have opted for the chroot option as it's easier to maintain (you can just use apt-get like normal).

Create the chroot

If you don't have them install the debootstrap and dchroot packages. The latter is useful later when we are running applications. Once they are installed run

debootstrap --arch i386 sid /var/chroot/sid-ia32 http://ftp.uk.debian.org/debian

Using your own personal favorite mirror as the last argument if you want. This will download and unpack a very minimal system in /var/chroot/sid-ia32. Once it is installed chroot into it with (Note: to leave a chroot simply use exit)

chroot /var/chroot/sid-ia32

Before you can run most applications you will need more libraries than have been installed in the base system. Now that you are in your shiny new chroot you can just apt-get them. You will probably have to write your own /etc/apt/sources.list though which will mean using vi, and example of which can be seen below. Note: use esc esc :wq to quit and save in vi.

deb http://ftp.uk.debian.org/debian sid main contrib non-free
deb-src http://ftp.uk.debian.org/debian sid main contrib non-free

Update apt (apt-get update) and you are then ready to install some more libraries. For now just install libx11-6.

In order to be able to use the 32-bit libraries in the 64-bit system you need to make them known to the linker which means putting adding the following lines the /etc/ld.so.conf file in the 64-bit system.

# chroot i386 system libs
/var/chroot/sid-ia32/lib
/var/chroot/sid-ia32/usr/lib
/var/chroot/sid-ia32/usr/X11R6/lib
/var/chroot/sid-ia32/usr/local/lib

Now link your 32-bit linker in to the /lib directory of your 64-bit install. The following command will probably work but if it doesn't you will need to look up the name of the linker in the chroot. Execute this command in the /lib directory of the 64-bit install as root.

ln -s /var/chroot/sid-ia32/lib/ld-2.3.2.so ld-linux.so.2

The last step is update the linker cache with the command (again in the 64-bit system)

ldconfig

This should now mean that you are able to run at least some 32-bit applications under the 64-bit system. Whenever you need / want to update the chroot you can simply use apt-get (if you want to get a bit advanced you could probably use synaptic as well).

To run more applications you need to place some parts of the 64-bit file system inside the chroot which is done with a bind mount. Open your 64-bit /etc/fstab, add the lines

# ia32 chroot
/home           /var/chroot/sid-ia32/home none  bind            0       0
/tmp            /var/chroot/sid-ia32/tmp none   bind            0       0
proc            /var/chroot/sid-ia32/proc proc  defaults        0       0

and then mount them

mount /var/chroot/sid-ia32/home
mount /var/chroot/sid-ia32/tmp
mount /var/chroot/sid-ia32/proc

Now copy the /etc/passwd, /etc/shadow and /etc/group files from your 64-bit system into your chroot. Note: Other options include setting the users up manually in the chroot or symlinking the above files. Execute these commands in the 64-bit system.

cp /etc/passwd /var/chroot/sid-ia32/etc/passwd
cp /etc/shadow /var/chroot/sid-ia32/etc/shadow
cp /etc/group /var/chroot/sid-ia32/etc/group

That's it - your chroot should now be ready to run 32-bit applications.

Running Open Office in a chroot

Enter your chroot if you aren't currently in it with (Note: you must be root to do this)

chroot /var/chroot/sid-ia32

and install Open Office if you need to

apt-get -u install openoffice.org

leave the chroot.

exit

Now you need to add the chroot to /etc/dchroot.conf in order to be able to start applications as a regular user from outside the chroot. Add the following lines to /etc/dchroot.conf

# ia32 chroot
ia32    /var/chroot/sid-ia32

In a console window as your normal user (in the 64-bit system) you should now be able to run this command to start openoffice

dchroot -c ia32 -d openoffice

If that works as the root user in the 64-bit system create the following script in /usr/local/bin and call it dchroot_start

#!/bin/bash
ARGS=""
for i in "$@" ; do
ARGS="$ARGS '$i'"
done
exec dchroot -c ia32 -d -q "`basename $0`" "$ARGS"

Make it executable

chmod a+x dchroot_start

And then create links for all the applications you want to start using it. For instance

ln -s dchroot_start openoffice
ln -s dchroot_start oowriter
ln -s dchroot_start oocalc
ln -s dchroot_start oodraw
ln -s dchroot_start ooimpress
ln -s dchroot_start oomath
ln -s dchroot_start ooweb

The great thing about this solution is that it allows you to pass other arguments to the script so you can integrate it with say KDE (use the script to open files) and make it basically invisible to users of the system.

Once you have created the symlinks as described above under KDE simply open konqueror, find an Open Office document of the right type (so for writer that would be a file with the extension .sxw). Right click on it and choose "Open With...". In the open with dialog enter openoffice and check the box at the bottom to remember the association. Use the menu editor to add the required menu entries as well.

If you want spell checking to work you need to install the required myspell dictionary (or Writer will think every word is spelt correctly). If you want open office to integrate with the desktop better there are widget sets for both kde and gnome.

Possible Problems

Since installing the chroot I have been having a problem with KDE - it gets replaced with Gnome. I'm not sure what is happening but the consensus on debian-user is that a core Gnome application is being started somewhere. I found nautilus running after it had happened so this may well be the case. The problem is that I don't know what started nautilus. A possible solution to this problem is to start gconf-editor then expand the left hand tree thus apps --> nautilus --> preferences then in the right hand list uncheck Show Desktop.

Upgrading the C Libraries

There is a little problem with upgrading the C libraries on the host operating system when a chroot is in place. Apt will complain about another version being present which means it can't perform the upgrade. The full error message will look something like this:

These libraries were found in /var/chroot/sid-ia32/lib:
libc.so.6
libdl.so.2
libm.so.6
libpthread.so.0
librt.so.1
Another copy of the C library was found via /etc/ld.so.conf.
It is not safe to upgrade the C library in this situation;
please remove the directory from /etc/ld.so.conf and try again.
dpkg: error processing /var/cache/apt/archives/libc6_2.3.5-3_amd64.deb
(--unpack):
subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/libc6_2.3.5-3_amd64.deb

To fix this you need to remove the chroot library entry from /etc/ld.so.conf (remove not comment out), perform the upgrade and add it back in again. It's best to close any applications relying on the chroot while doign this.

Adverts

Donate and Help

Please support this site and
Bandwidth doesn't grow on trees y' know :o)

Adverts

Get Adsense