Archive | Opensource RSS for this section

How-to Install Debian 6.0 (squeeze) Linux on HP 620 notebook

HP 620. It’s a great notebook for business. Hp620 is not the best about performance but it’s fast – really fast! with linux – and it’s ok with it’s easy and clean design. Its hardware is very good (almost everything is manufactured by Intel) and it’s cheap!

Above all, you can also buy it pre-installed with Linux (Suse Enterprise Desktop)!

If you want Debian just install Debian 6.0 (Squeeze) with Desktop System, Notebook and Basic System files.
After installation run these commands from shell (as root).

cd ~
mv /etc/apt/sources.list /etc/apt/sources.list.original
touch /etc/apt/sources.list
echo "deb squeeze main contrib non-free" >> /etc/apt/sources.list
echo "deb-src squeeze main contrib non-free" >> /etc/apt/sources.list
echo "deb squeeze-updates main contrib non-free" >> /etc/apt/sources.list
echo "deb-src squeeze-updates main contrib non-free" >> /etc/apt/sources.list
echo "deb squeeze/updates main contrib" >> /etc/apt/sources.list
echo "deb-src squeeze/updates main contrib" >> /etc/apt/sources.list
apt-get update
apt-get install flashplugin-nonfree icedove icedove-l10n-it ntp wireless-tools
apt-get --yes install linux-headers-2.6-686 build-essential module-assistant pulseaudio firmware-ralink
m-a update && m-a prepare
m-a a-i -t alsa-source
echo "acpiphp" >> /etc/modules
echo "ata_piix" >> /etc/modules
echo "cfg80211" >> /etc/modules
echo "iTCO_vendor_support" >> /etc/modules
echo "iTCO_wdt" >> /etc/modules
echo "pci_hotplug" >> /etc/modules
echo "rt3090sta" >> /etc/modules
echo "snd_mixer_oss" >> /etc/modules
echo "snd_pcm_oss" >> /etc/modules
echo "speedstep_lib" >> /etc/modules
echo "tpm" >> /etc/modules
echo "tpm_bios" >> /etc/modules
echo "tpm_tis" >> /etc/modules
echo "auto lo" > /etc/network/interfaces
echo "iface lo inet loopback" >> /etc/network/interfaces
echo "allow-hotplug eth0" >> /etc/network/interfaces

Now you have a perfect business laptop with browser (firefox/iceweasel), email client (thunderbird/icedove) and openoffice (and whatever you want to install).

All hardware now works very well without any problem.


Wikileaks and Cloud computing

What do you think about WikiLeaks doesn’t matter.
Think about the future. Your browser will be on a cloud.
The sun will shine suddenly.

How-to convert an existing partition/disk in an image to virtualize it in linux qemu/kvm

Yes, you can.
You can virtualize an existing windows/linux installation with qemu / kvm.
This isn’t a real news but here I write a very basic/fast tutorial.

Basically you have to choose between:

  • use your linux/windows hd by moving it to your kvm host server
  • convert your linux/windows to a kvm image (qcow2, row, ecc.) and run it on your kvm host server

Important note – 25/01/2011
Please note that when you virtualize a disk inside kvm, as we do in this tutorial, its OS find a new hardware configuration (fake/virtualized by kvm). This maybe a problem just because some operating systems (especially windows) doesn’t like that situation and panics with blue screen at boot & co©. To avoid this kind of problems make sure to uninstall specific drivers from your source disk OS before generate your image (especially windows!). Especially for windows (!!!) ensure to uninstall the IDE/SATA controller driver and replace it with general/universal driver. I have no problems like that to report for Linux os.

For the first choice the answer is simple: just use kvm’s -hda (or -drive) argument and point to your disk. Kvm and qemu can use a real hd without problems.

In order to convert an existing partition/disk to a qemu / kvm image (second choice) you have to follow these steps:

  • shutdown your linux/windows machine and reboot from cd with a live distro (use SystemRescueCd to follow this tutorial)
  • create a new folder to mount the image destination folder, it can’t be on our machine disk… we have to create our new kvm/qemu image from it!
    mkdir /mnt/image-dest
  • mount a remote samba partition with cifs in your destination folder (mount -t cifs //192.168.1.x/your-samba-share-name) or mount an usb drive, or a nfs partition, or your smartphone, that doesn’t matter! 🙂 You only need to transfer your windows/linux disk image to your qemu / kvm host.
  • umount your windows/linux partitions if one is mounted for any reason
  • create your disk raw image with dd from winows/linux disk; note that you have to copy ALL disk, not only a single partition. For example, if you have 3 partitions (/boot hda1 / hda2 and swap hda3) you have to use dd on your disk device, not on partitions. Wrong: dd if=/dev/hda1. Correct: dd if=/dev/hda. Please note that with dd you can kill your cat, burn your sister and immediately join Forza Italia. Use it with care!
    dd if=/dev/hda of=/mnt/image-dest/kvm-image.raw
  • fire up your kvm raw image: this may vary based on your source machine hardware configuration, if you have problems with missing partitions errors on your guest os boot phase just look at kvm / qemu -drive options (man kvm);
    kvm -drive file=/path/to/your/kvm-image.raw format=raw media=disk
  • optionally convert your raw image to other formats with kvm-img

TIP: Note that this process can be slow if your source disk is very large and may waste disk space on your destination host, especially if your source disk is large but only a small part of it’s used. In that case you can use the qemu-img tool to convert the physical disk to a kvm/qemu image: this tool allows you to use the -S/sparse option to convert ( The image of your source disk converted with the sparse option will be as big as the source used space.
Of course before convert with the sparse option you need a way to set to zero all the unused bytes in your source disk: for ext2, ext3 and ext4 partitions you can use the zerofree tool ( or you can try another way (an easy way that works with all filesystems may be create a zero filled file on your source disk that fills its free space). Another way may be use a tool like parted to reduce partitions size and then copy only used disk space with a combo of dd’s ibs and count (untested).

Happy virtualization to you 🙂

UPDATE 2014-07-27: added a tip about big source disks or source disks with a lot of free space

debian, grub-pc and /usr/sbin/grub-probe: error: unknown filesystem.

apt-get dist-upgrade and… BOOM!!!

Configurazione di grub-pc (1.98~20100128-1)…
/usr/sbin/grub-probe: error: unknown filesystem.
Auto-detection of a filesystem module failed.
Please specify the module with the option `–modules’ explicitly.
Generating grub.cfg …
/usr/sbin/grub-probe: error: unknown filesystem.
dpkg: errore nell’elaborare grub-pc (–configure):

Not good.

Bug Report and my solution, downgrade to 1.98~20100115-1:

apt-get install grub-common= grub-pc=1.98~20100115-1 grub2=1.98~20100115-1
Installation finished. No error reported.

Have a nice day!

sphinx and WARNING: DOCID_MAX document_id, skipping

This error seems to wake-up with large ids >100.000.000 (like Ruby On Rails fixtures sys does).
Ok, like Piotr Jasiulewicz says this error appears because the sphinx was built without the –enable-id64 option.

Let’s go to solve this problem in Debian (note: I assume you use mysql, if not you have to change some dependencies packages).

Update 2012-05-31: this post refers to Debian Lenny i386. I don’t know if the binary package of Debian Squeeze (other distros, versions, architectures) is compiled with the same compile options at the moment. Anyway this post is intended to solve the specific warning (or to suggest a solution just in case you use another distro/architecture) .

Move to your preferred source folder (for example ~/src) or create it. Move to root user with su.
Download debian’s sphinxsearch sources:

#apt-get source sphinxsearch

Give permissions to your user on sphinxsearch files.

#chown -R youruser:youruser sphinxsearch*

Install mysql dev packages:

#apt-get install libmysqlclient-dev libmysqld-dev

Exit from root and return to your user. Enter in source folder of sphinxsearch (may vary with versions), configure with proper flags and make.

$cd sphinxsearch-0.9.9
$./configure –enable-id64

Please note that pgsql is disabled by default and you should take a look at configure options (./configure –help) to see if you need others options, I don’t (except for libstemmer but I ignore this here).

Ok. If all was ok at make/compile time you can move on installation.

Move to root user with su (uninstall debian sphinx package if needed) and install.

#apt-get remove sphinxsearch
#make install

That’s all. Happy Sphinx On Ruby On Rails with fixtures 🙂

Sui virus informatici, e sulla sicurezza…

Vengo da una discussione fresca fresca nata a proposito dei classici annunci di nuovi virus in circolazione, pericoli abissali per gli utenti, qualcuno dice addirittura che un virus informatico ha ucciso la sua famiglia…

Quando leggo questo genere di articoli sono pervaso da un senso di nausea, non tanto perchè i virus esistono, ma piuttosto perchè oramai sembra che l’informatica non possa esistere senza di loro. A volte dico che uso lo stesso sistema operativo da 10 anni e non ho mai preso un virus… qualcuno mi guarda come se fossi un alieno, fa un passo indietro e mi dice “allora sei tu che li crei!! sei un hacker!!”, qualcuno ha quasi profetizzato che io fossi il nuovo messia…

Read More…

Netgear Readynas Duo, NFS and Debian Sid: mount.nfs: Operation not permitted

ReadyNAS Duo mount.nfs: Operation not permitted
Today I spend some time to mount one folder on Readynas Duo with NFS. All goes right from server (Debian Lenny) but i can’t mount NFS partitions from my pc (Debian Sid).

Error was “mount.nfs: Operation not permitted “.

Ok, I check my mount options

#cat /etc/fstab <ipaddress>:/c/folder  /mnt/folder nfs rw,user,noauto 0       0

Fstab is ok but problem persists.

Request mount to be verbose (from my pc – debian sid)

<myhost>:/home/giulio# mount -v /mnt/folder
mount.nfs: timeout set for Sun Jan 17 13:34:47 2010
mount.nfs: trying text-based options 'addr=<readynas-ip-address>,vers=4,clientaddr=<my-pc-address>'
mount.nfs: mount(2): Operation not permitted
mount.nfs: Operation not permitted

Request mount to be verbose (from my server – debian lenny)

mount.nfs: trying <readynas-ip-address> prog 100003 vers 3 prot TCP port 2049
mount.nfs: trying <readynas-ip-address> prog 100005 vers 3 prot UDP port 3078
<readynas-ip-address>:/c/folder on /mnt/folder type nfs (rw,noexec,nosuid,nodev,noauto,user)

Wow, ok, there is a difference.

My pc try to mount nfs with version 4, my server doesn’t use v4,  but it uses v3!

What is strange?
I’ve read a lot of tutorial/faq but my problem remains. So I read man pages but this is what I find, for example in man mount.nfs…

mount.nfs is meant to be used by the mount(8) command for mounting NFS shares. This subcommand, however, can also be used as a standalone command
with limited functionality.

mount.nfs4 is used for mounting NFSv4 file system, while mount.nfs is used to mount NFS file systems versions 3 or 2.  remotetarget is  a  server
share usually in the form of servername:/path/to/share.  dir is the directory on which the file system is to be mounted.

It seems to be false. On my pc I use mount.nfs and always mount tries with nfs4.

Ok, let’s go to solution..

You can force the NFS version to use with nfsvers=3.

So I change my /etc/fstab like this:

<readynas-ip-address>:/c/folder /mnt/folder nfs rw,user,noauto,nfsvers=3  0       0

Now mount uses the right version and all goes well.