Today I was moving a large quantity of files (with 6/7 parallel copies) from my laptop to my home server via nautilus + gvfs + sftp.

My notebook became almost unusable after a few seconds.

It’s not the latest on hardware, but still it’s a dual core duo with 2.5Gb of RAM, and I expected it to remain usable during network file copy.

So, after some investigation, I noticed that after stopping irqbalance service suddendly the system became very responsive again!

So, this is what I suggest you to do if your system get sluggish moving file via network (or other circumstances that generates a lot of IRQs):

service irqbalance stop

If it works for you, then you can permanently disable it with

chkconfig irqbalance off

and even unistall it completely with

yum remove -y irqbalance

let me know if this worked for you too!

If you try to run a fresh Grails project on a F14 default install, with the default OpenJdk, as a result you’ll get this error


Error executing script RunApp: : Error starting Sun's native2ascii:
: Error starting Sun's native2ascii:

that’s because by default the JAVA_HOME environment variable points to the JRE path instead of the JDK.

To fix it you could just set the JAVA_HOME to the right path issuing a

export JAVA_HOME=/etc/alternatives/java_sdk

and putting in your /etc/profile.d scripts, or just fixing the java configuration file /etc/java/java.conf and uncommenting the following line:

JAVA_HOME=$JVM_ROOT/java

Happy Grails coding!

2009 Jan 07 update: at the moment this procedure is not working anymore because btrfs developement has moved to kernel 2.6.28. This should start working again as soon as Fedora 10 updates as well!

Btrfs is a next generation filesystem for linux. It was initially developed by Oracle in response to Sun ZFS. In the long it will eventually replace ext3/4 as the “standard” linux fs.

Some of the features that made me test btrfs are:

  • instant writable snapshotting
  • online compression
  • object-level mirror and stripe
  • the ability to add/remove devices on the fly to a filesystem

Anyway, I suggest you to take a look to the btrfs home page for the complete list of features.

Btrfs is still under heavy developement, and its disk format was not even yet finalized (altought it will be probably finalized within the end of 2008), so, if you’re going to try that don’t use it for valuable data, but for test only.

Moreover, the last stable relase of btrfs (at the moment 0.16) is too old to be compiled on F10 kernel, so the instruction that follows makes use of the developement repository, so, be warned that things may change from day to day.

To enable your Fedora 10 to use a btrfs, first you need to install all the package needed to compile the source (and to download them from the git repository)

yum install -y git uuid-devel e2fsprogs-devel kernel-devel zlib-devel

then, move to /usr/src (or whenever you want) and get the sources from the git repository


cd /usr/src


git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable-standalone.git

then, we’re ready to compile the btrfs utilities

cd /usr/src/btrfs-progs-unstable/
make && make install

then, we compile the kernel module

cd /usr/src/btrfs-unstable-standalone/
make

at this point, we try to load the kernel module:

modprobe libcrc32c ; modprobe zlib_deflate ; insmod /usr/src/btrfs-unstable-standalone/btrfs.ko

if no error message appears, we’re done!

To get started with the btrfs commands you can take a look to the basic filesystem commands on the btrfs wiki.

Have fun and be careful with your data 🙂

Apr 27, 2008 Update: My (updated) groovy packages are now available in the groovy download page.

Starting from the openSUSE packages made by Alexander Egger (and that you can find on the Groovy site), I’ve packaged the latest Groovy version (1.5.4) for Fedora 7 and Fedora 8.

You can dowload the rpm and the .src.rpm at the following links.

groovy-1.5.4-2.noarch.rpm

groovy-1.5.4-2.src.rpm

and here’s my GPG Key to verify the packages signature.

Please notice that to make groovy properly works after installing the rpm, you have to run the /etc/profile.d/groovy.sh or /etc/profile.d/groovy.csh (according to your shell) script, or simply open a new shell!

A few instruction on how to make software suspend and wifi working on the C2D 2.0GHz macbook.

… or almost…

These instructions are about building the latest snapshot version of the madwifi driver (required for the macbook wireless card) against the fedora 7 developement kernel (required to make the suspend work). Since we are using developement quality software, this is going to give non predictable results and may lead to an instable system: be warned!

However I got positive results on both fronts in the last days.

First, you got to download the latest kernel packages from the testing repository for fedora 7. Point your browser to this location:

http://download.fedora.redhat.com/pub/fedora/linux/updates/testing/7/i386/

and get the files named

kernel-2.6.22.1-33.fc7.i686.rpm

and

kernel-devel-2.6.22.1-33.fc7.i686.rpm

(of course, the kernel version will change with time)

and install them with

rpm -i kernel-2.6.22.1-33.fc7.i686.rpm
rpm -i kernel-devel-2.6.22.1-33.fc7.i686.rpm

Then, get the latest snapshot of the madwifi drivers from this link

http://snapshots.madwifi.org/madwifi-ng-current.tar.gz

In order to compile the drivers the Fedora way, you got to rename the archive according to its version. To obtain the version string issue the following command:

tar -tvzf madwifi-ng-current.tar.gz

you will see several lines containing file names, with a common path (in my case, the last ones are)

-rw-r--r-- root/root 37164 2007-05-30 03:41:18 madwifi-ng-r2598-20070725/hal/ah.h
-rw-r--r-- root/root 9836 2007-05-30 03:41:18 madwifi-ng-r2598-20070725/hal/ah_desc.h
-rw-r--r-- root/root 2104 2007-03-19 15:19:02 madwifi-ng-r2598-20070725/release.h

so, we get that the file has to be renamed as madwifi-ng-r2598-20070725.tgz

after that, issue the following command to make the driver’s RPMs:

rpmbuild --define "kernel 2.6.22.1-33.fc7" -ta madwifi-ng-r2598-20070725.tar.gz

again, you have to replace both the “2.6.22.1-33.fc7” string and the “ng-r2598-20070725” with the current versions.

At the end of the process, it will tell you that he has wroted 4 RPMs called

madwifi-0.2598.20070725-6.src.rpm
madwifi-0.2598.20070725-6.i386.rpm
madwifi-module-0.2598.20070725-6_2.6.22.1_33.fc7.i386.rpm
madwifi-debuginfo-0.2598.20070725-6.i386.rpm

at this point all you need to do is install the new madwifi and madwifi-module RPMs, reboot and… cross your fingers!

update: it seems that there is a known bug in madwifi that hasn’t been solved yet. It will cause the wireless net to stop working after a while. The bug is tracked here. However reading through the comments I’ve found that issuing a

iwpriv ath0 bgscan 0

helps a lot, making the connection available for more time (or at least, it worked for me!)