Posts Tagged ‘Debian’

Gnome 2.8

Wednesday, December 8th, 2004

So Gnome 2.8 finally made it to Debian Testing, more or less. In the end I got most of the packages from Unstable.

I have mostly noted two visible changes, though there are many more. The most visible is without doubt the automatic handling of removable media, though the combination of hal, udev, hotplug and gnome-volume-manager. Finally you can just plug in a camera or a cd and it Just Works(tm).

The other change is the way applications are associated with filetypes. It is definitely more intuitive than before, but it is bit difficult getting decent display names shown in the context menu for the chosen applications. It still requires some editing of .desktop files by hand.

Problems with packages in Debian Testing

Monday, August 30th, 2004

There are currently some bugs in gcc related packages in Debian testing. They won’t install because they contain files owned by other packages too.

The errors are:

(Reading database ... 77290 files and directories currently installed.)
Preparing to replace gcc-3.3-base 1:3.3.4-6sarge1.1 (using .../gcc-3.3-base_1%3a3.3.4-6sarge1.2_i386.deb) ...
Unpacking replacement gcc-3.3-base ...
dpkg: error processing /var/cache/apt/archives/gcc-3.3-base_1%3a3.3.4-6sarge1.2_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/gcc-3.3-base/changelog.Debian.gz', which is also in package g++-3.3
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace libstdc++5 1:3.3.4-6sarge1.1 (using .../libstdc++5_1%3a3.3.4-6sarge1.2_i386.deb) ...
Unpacking replacement libstdc++5 ...
dpkg: error processing /var/cache/apt/archives/libstdc++5_1%3a3.3.4-6sarge1.2_i386.deb (--unpack):
 trying to overwrite `/usr/share/doc/libstdc++5/changelog.Debian.gz', which is also in package libstdc++5-3.3-dev
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/gcc-3.3-base_1%3a3.3.4-6sarge1.2_i386.deb
 /var/cache/apt/archives/libstdc++5_1%3a3.3.4-6sarge1.2_i386.deb

The solution is very simple, once you have figured it out:

# dpkg -i --force-overwrite
/var/cache/apt/archives/gcc-3.3-base_1%3a3.3.4-6sarge1.2_i386.deb
/var/cache/apt/archives/libstdc++5_1%3a3.3.4-6sarge1.2_i386.deb

It might affect other packages too, such as g++-3.3.

Kernel 2.4.26 on the Soltek Qbic

Tuesday, August 17th, 2004

My kernel upgrade rampage has hit my home server to day. It was still running the kernel installed by the debian netinstall cdroms I had used, so the amount of available modules were rather scarce.

Most of the motherboard is based on the Intel ICH5 chipset, not that different than the Intel ICH4 chipset on my Asus M2N laptop, so much of the same should hold.

The kernel from the install cdrom didn’t have the i810_audio module and other related modules, so I installed Debian kernel-image-2.4.26-1-686. Everything is in there.

The machine uses grub for bootloader, and the kernel install just updated /boot/grub/menu.lst. I had to add acpi=on to the kernel lines to get ACPI enabled, otherwise it is just used during boot and then disabled.

On bootup the system tried to load all sorts of modules for stuff there wasn’t there, and it switched the console display to a higher resolution automatically, removing the possibility to scroll backwards with Shift-PgUp. As a consequence I removed both the hotplug and discover1 packaged that had made the first installation so simple. I can understand the use of such packages on many systems, and during first installes, but I prefer have more controll, so they went.

The system boots on the default initrd image, so I have made no changes to /etc/mkinitrd/modules.

I have to load the following modules through /etc/modules to get everything up and running:

# IDE detection
ide-cd
ide-detect
# Network card - Realtek RTL-8100B/8139D
8139too
# Intel ICH5 audio
i810_audio
# Supported ACPI modules
button
thermal
# USB controller and devices
usb-uhci
hid
input
keybdev
usbkbd
usb-storage
printer

I listen to internet radio on the computer, so I need sound configured. The ICH5 chipset is supported by the i810_audio module:

Intel 810 + AC97 Audio, version 0.24, 13:12:23 Jul 22 2004
PCI: Setting latency timer of device 00:1f.5 to 64
i810: Intel ICH5 found at IO 0xd400 and 0xd800, MEM 0xfe77b800 and 0xfe77b400, IRQ 17
i810: Intel ICH5 mmio at 0xde918800 and 0xde91a400
i810_audio: Primary codec has ID 2
i810_audio: Audio Controller supports 6 channels.
i810_audio: Defaulting to base 2 channel mode.
i810_audio: Resetting connection 0
i810_audio: Connection 0 with codec id 2
ac97_codec: AC97 Audio codec, id: ALG32 (ALC650)
i810_audio: AC'97 codec 2, new EID value = 0x05c7
i810_audio: AC'97 codec 2, DAC map configured, total channels = 6

Not everything is perfect, though, as some wav files sound weird, but mplayer plays windows media streams just fine and that is what I need.

ACPI support in the Soltek Qbic is rather limited. The button module controls the power button on the front only, and the thermal which gives a little information on the CPU.

ACPI: Power Button (FF) [PWRF]
ACPI: Processor [CPU1] (supports C1)
ACPI: Processor [CPU2] (supports C1)

It reports two CPUs! Not quite sure why, though. Something to investigate, I guess.

I don’t use this machine as a desktop computer, but playing a little around with a few modules, I get this:

# modprobe agpgart
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 409M
agpgart: Detected an Intel(R) 865G Chipset.
agpgart: Detected 32636K stolen memory.
agpgart: AGP aperture is 128M @ 0xf0000000
# modprobe i830
[drm] AGP 0.99 Aperture @ 0xf0000000 128MB
[drm] Initialized i830 1.3.2 20021108 on minor 0

I guess I’ll have to install X one day, just to try.

The complete boot log is here.

Getting a Debian kernel source tree for driver compilation

Sunday, August 15th, 2004

I have stumbled into this a few times, so I’d better write it down. Here is how you get a kernel source tree setup for compilation of drivers under Debian, assuming you’re using a Debian provided kernel package.

The information is shamelessly stolen from Martin List-Petersen:

Lets assume you’ve installed kernel-image-2.x.y-z-arch. It could be kernel-image-2.4.25-1-386 in which case x=4, y=25, z=1, arch=386. These numbers are need in the following.

The procedure is this:

Download the kernel source package:

apt-get install kernel-source-2.x.y

Unpack it:

cd /usr/src
tar -xjvf kernel-source-2.x.y.tar.bz2

Install the correct config-file:

cd kernel-source-2.x.y
cp /boot/config-2.x.y-z-arch .config

Generate dependencies and Makefiles:

make-kpkg --append-to-version "-z-arch" --revision 2.x.y-z --config old configure

Check build link:

rm -f /lib/modules/2.x.y-z-arch/build
ln -s /usr/src/kernel-source-2.x.y /lib/modules/2.x.y-z-arch/build

Most drivers will use the build link to find the correct kernel source tree for include files and Makefiles.

With this in place many drivers can be installed with a simple “make install”.

Setting up Nucleus blogs

Saturday, July 24th, 2004

This site is run by Nucleus CMS, and this is just to recapitulate how it was set up. It wasn’t all that hard, but it might be useful to remember.

First step was to create the blog in Nucleus which is straightforward.

Second step was to clone the grey skin and two templates, and edit them to my liking. I didn’t change all that much, just enough to make it mine. The blog-settings obviously have to be changed to use the new skin, and the skin to use the new templates.

Now for the more interesting parts. I want my blogs to have separate domain names and I want URIs without the query string, the part after the question mark.

My Nucleus setup has a directory layout like this:

TOP/nucleus
TOP/nucleus/conf
TOP/nucleus/nucleus
TOP/nucleus/media
TOP/nucleus/linux
TOP/nucleus/othersite

TOP is the directory where I keep web-site’s files. The nucleus/conf directory contains the apache configuration files, nucleus/nucleus the installation of Nucleus, nucleus/media is the media uploads and nuclues/linux is the document root for this site. Other sites have their directories too.

Setting a blog up with a separat domain name requires a separate Apache setup, as a virtual host. I have the configuration file in nucleus/conf/linux.conf which is included from the main Apache configuration file. The most important thing is the DocumentRoot, which points to nuclues/linux.

DocumentRoot TOP/nucleus/linux

Here the index.php files looks like this:

<?php
$CONF['Self'] = 'http://linux.seindal.dk/index.php';
include('../nucleus/config.php');
selectBlog('linux');
selector();
?>

which is fairly straightforward, except for the absolute address of the index.php file. This is necessary since posting a comment would otherwise cause a change to my main Nucleus site.

With this setup the site can be used from the address http://linux.seindal.dk/.

The last part is to get Nucleus to work with URLs without a query string. Using long query strings are suboptimal in relation to some search engines, and it is suboptimal from an aesthetic point of view: an URL should be short and clear.

Since I have my own server, I can use the mod_rewrite approach, as explained in the Nucleus online docs. I have augmented the rules a bit to be more complete, and hardwired the blog specific parts:

RewriteEngine On
RewriteRule ^item([0-9]+).html				index.php?itemid=$1
RewriteRule ^archive([0-9]+-[0-9]+).html		index.php?archive=$1&blogid=2
RewriteRule ^archive.html				index.php?archivelist=linux
RewriteRule ^category([0-9]+).html			index.php?catid=$1&blogid=2
RewriteRule ^member([0-9]+).html			index.php?memberid=$1

As it is evident, the blogid of my site is 2, and the short name of the blog is ‘linux’. It eludes me completely why the arguments are used so inconsistently. What would be the problem with using either blogid or the short name every time? Of course, clarity and consistency would rise uncontrollably, but besides that?

With these rules in place, all that remains is to work through all the parts of the skin and the related templates to use links of the above kind.

The only other change I have made to my Nucleus installation is that I have installed the SmartParagraphs plugin. It makes writing a lot easier. I have extended the plugin a bit and fixed few bugs, as described on the Nucleus CMS forum. A gzipped copy of my updated SmartParagraphs plugins can be downloaded here: NP_SmartParagraphs.php.gz

Installing Debian on a Soltek Qbic EQ 3401M

Monday, June 14th, 2004

I bought a Soltek Qbic EQ 3401M computer to use as a cheap home server.

A low noise level was one of my main priorities, since the computer must on at all times, while being located in my home office where I work every day, and the Soltek delivers what they promise. The machine is very silent. One has to sit down besides it with the ear close to it to really hear the fan. The only time I really notice it is when the disk is hard at work.

Second, I wanted a reasonably powerful computer, capable of running dynamic web sites while taking care of mail for several domains, acting as internal NFS and SMB file server, print server, CVS server and whatever else I might want to throw at it.

There’s a community network called Bryggenet where I live, and I have a shared 62Mbps line directly into my home, for the exorbitant price of $25/month flat fee. I feel obliged to use that bandwidth to something useful, after all, all the others just do file sharing and p2p. So I wanted to have a web server 🙂

The hardware specifcation is as seen on Soltek’s site. Mine has a 2.8GHz Pentium 3 cpu, 512Mb of memory, a 120Gb SATA diskdrive and a CD/DVD-RW combo drive. The various other units can be seen from the following output from lspci:

0000:00:00.0 Host bridge: Intel Corp. 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated Graphics Device (rev 02)
0000:00:1d.0 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #1 (rev 02)
0000:00:1d.1 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #2 (rev 02)
0000:00:1d.2 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3 (rev 02)
0000:00:1d.3 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #4 (rev 02)
0000:00:1d.7 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev c2)
0000:00:1f.0 ISA bridge: Intel Corp. 82801EB/ER (ICH5/ICH5R) LPC Bridge (rev 02)
0000:00:1f.1 IDE interface: Intel Corp. 82801EB/ER (ICH5/ICH5R) Ultra ATA 100 Storage Controller (rev 02)
0000:00:1f.2 IDE interface: Intel Corp. 82801EB (ICH5) Serial ATA 150 Storage Controller (rev 02)
0000:00:1f.3 SMBus: Intel Corp. 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)
0000:01:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:01:0b.0 FireWire (IEEE 1394): Lucent Microelectronics FW323 (rev 61)

The entire Linux bootup output can be found here.

I used a Debian Sarge netinst CD-image, downloaded from some mirror linked from debian.org. The installation went almost too smoothly. The only problem was that the installer didn’t find any networks cards, and after trying out almost all the drivers by hand, I entered the bios and found the nic disabled. Once enabled, I had a fight with the boot sequence setup in the bios, since it almost insisted on booting from the network, which is probably why they shop had disabled it during QA. With this in order the rest of the installation went without a hitch.

The kernel installed is version 2.4.25. I tried to use the 2.6 kernel on the install disk, but it had some display problems (in text mode!), so I settled for 2.4.

I had some problems with the soundcard, where the default driver didn’t give any meaningful output, so I installed the alsa-drivers (debian packages alsa-base, alsa-modules-2.4.25, alsa-utils), which solved the problems.

I haven’t tried XFree86 on the system, so I don’t know how well that works. I use it as a server, so there is little need for a GUI.