Tuesday, July 29, 2008

Debian Lenny rocks on 32 MB RAM.

Recently I downloaded the 150 MB netinst CD image of Debian Lenny Beta2 from this page.

Initially I installed it on my COMPAQ Presario 2500 series Laptop. After installing the base system I added xorg, IceWM and slim since I wanted very lightweight system. I found really a very light Debian.

Inspired by the lightness I decided to try it on my old desktop Pentium MMX 200 Mhz 32 MB RAM.

The installer went into Low Memory mode and loaded minimum installer components and asked to add additional components I wanted. I did not add anything. This resulted into failure of Network Card Detection. I bypassed the Network Configuration. The installer contacts NTP server after Network configuration. When it could not contact NTP server it simply asked whether hardware clock was set to UTC or not and proceeded to install the base system. The installer automatically selected the 486 Kernel image. At select and install software stage (after Base Install) I unchecked every thing and the base installation was finished.

After booting I configured the network by editing /etc/network/interfaces file and started the network. I updated and upgraded the system through apt-get (including Kernel 2.6.24 to 2.6.25) and could reboot into the new Kernel.

I added xorg and icewm and edited xorg.conf to configure the serial mouse, added Modeline, PreferredMode in Monitor Section, Default depth, depth and Mode to use in screen section. I made .xnitrc to boot into IceWM and used startx to get into IceWM.

The result on IceWM:
$ free -m
Total used free
Mem: 28 26 2
-/+ buffers/cache11 17
Swap 243 1 243

$ ps aux | wc -l

I have reduced the tty terminal processes by commenting getty lines in /etc/inittab file.

I added Kazehakase web browser. It gives performance similar to Firefox 1.5 on old DSL.

Wednesday, July 09, 2008

How to install LXDEbuntu.

I had installed lxde on Ubuntu Hardy command line earlier but certain things did not work like mounting of partitions, icons on application launcher.

Today I discovered another way of installing lxde on minimum Ubuntu and it is full proof and it works.

1. Install complete Ubuntu Hardy Heron.
2. Add lxde and login to it.
3. Remove Gnome completely through the following command:
$ sudo apt-get remove alacarte bluez-gnome brltty brltty-x11 bug-buddy capplets-data cdrdao cli-common compiz compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-plugins compizconfig-backend-gconf contact-lookup-applet dcraw deskbar-applet diveintopython ekiga eog espeak evince evolution evolution-common evolution-data-server evolution-data-server-common evolution-exchange evolution-plugins evolution-webcal example-content f-spot fast-user-switch-applet firefox-3.0-gnome-support firefox-gnome-support gconf-editor gedit gedit-common gimp-gnomevfs gimp-python gnome-about gnome-applets gnome-applets-data gnome-control-center gnome-desktop-data gnome-doc-utils gnome-media gnome-menus gnome-netstatus-applet gnome-nettool gnome-panel gnome-panel-data gnome-pilot gnome-pilot-conduits gnome-session gnome-settings-daemon gnome-spell gnome-terminal gnome-terminal-data gnome-themes gnome-user-guide gnome-utils gnome-volume-manager gstreamer0.10-plugins-base-apps gstreamer0.10-pulseaudio gstreamer0.10-tools gtkhtml3.14 gvfs gvfs-backends gvfs-fuse hwtest hwtest-gtk launchpad-integration libalut0 libao2 libarchive1 libart2.0-cil libcdio-cdda0 libcdio-paranoia0 libcompizconfig0 libcurl3 libdecoration0 libdeskbar-tracker libdirectfb-1.0-0 libedata-book1.2-2 libedata-cal1.2-6 libedataserverui1.2-8 libeel2-2 libeel2-data libegroupwise1.2-13 libexchange-storage1.2-3 libexempi3 libflickrnet2.1.5-cil libgconf2.0-cil libgdata-google1.2-1 libgdata1.2-1 libglade2.0-cil libglew1.5 libglib2.0-cil libgmime-2.0-2 libgmime2.2-cil libgnome-pilot2 libgnome-vfs2.0-cil libgnome-window-settings1 libgnome2.0-cil libgnomevfs2-bin libgnomevfs2-extra libgpgme11 libgpod-common libgpod3 libgtk2.0-cil libgtkhtml3.14-19 libgtkhtml3.16-cil libgtksourceview2.0-0 libgtksourceview2.0-common libgvfscommon0 libgweather-common libgweather1 libicu38 liblpint-bonobo0 libmono-addins-gui0.2-cil libmono-addins0.2-cil libmono-cairo1.0-cil libmono-corlib1.0-cil libmono-corlib2.0-cil libmono-data-tds1.0-cil libmono-data-tds2.0-cil libmono-security1.0-cil libmono-security2.0-cil libmono-sharpzip0.84-cil libmono-sharpzip2.84-cil libmono-sqlite2.0-cil libmono-system-data1.0-cil libmono-system-data2.0-cil libmono-system-web1.0-cil libmono-system-web2.0-cil libmono-system1.0-cil libmono-system2.0-cil libmono0 libmono1.0-cil libmono2.0-cil libmtp7 libmusicbrainz4c2a libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libneon27 libopal-2.2 libopenal0a libopenobex1 libpam-gnome-keyring libpisock9 libpisync1 libpt-1.10.10 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libpt-1.10.10-plugins-v4l2 libpth20 libpulsecore5 librarian0 libsamplerate0 libsdl1.2debian libsdl1.2debian-alsa libsgutils1 libsmbclient libsoup2.4-1 libsqlite0 libtracker-gtk0 libvorbisfile3 libwpg-0.1-1 libwps-0.1-1 libx11-xcb1 libxml2-utils mesa-utils metacity mono-common mono-gac mono-jit mono-runtime mousetweaks nautilus nautilus-cd-burner nautilus-data nautilus-sendto nautilus-share o3read obex-data-server pkg-config pulseaudio pulseaudio-esound-compat pulseaudio-module-gconf pulseaudio-module-hal pulseaudio-module-x11 python-gmenu python-gtksourceview2 python-uno rdesktop rhythmbox rss-glx scim-bridge-agent scim-bridge-client-gtk seahorse sound-juicer sqlite sqlite3 ssh-askpass-gnome tangerine-icon-theme tomboy totem-mozilla tracker tracker-search-tool tsclient ttf-opensymbol ubuntu-desktop ubuntu-docs ubuntu-sounds usplash-theme-ubuntu vino whois xdg-user-dirs xdg-user-dirs-gtk xsane xsane-common xsltproc xulrunner-1.9-gnome-support yelp
This command has been copied from

Thursday, July 03, 2008

My struggle with Ubuntu Hardy Heron.

Ubuntu 8.04 Hardy Heron arrived with Xorg 7.3 which brought many bugs. Prior to the launch of Hardy I had a glimpse of the troubles ahead when I tried PUD Linux LXDE version which was based on Hardy beta. Actually the problem was not with Hardy but with my Laptop whose display is broken and I use it as a Desktop along with external monitor.

When I tried PUD Linux the external monitor worked till GDM was started, then it became blank. I shifted to console by pressing Ctrl alt F2 and opened xorg.conf file and found the file was as good as not being there. It had no configurations. This was due to the new concept of auto-magic in Xorg 7.3. This concept had arrived in Ubuntu Gutsy Gibbon in which if you delete xorg.conf you could still boot into the desktop. But in Gutsy you could rebuild the file through dpkg-reconfigure command. In Hardy dpkg-reconfigure xserver-xorg did not work. I tried to copy the xorg.conf from Gutsy but it did not work.

When Ubuntu Hardy Heron arrived I studied the changes in xorg.conf and wrote the file using vesa driver and after one or two changes it worked and I could get the desktop using vesa driver.

The video card in my Laptop is ATI Radeon IGP 340M and the driver used in Xorg 7.3 had a bug which was reported at on 25th April 08.

The bug was resolved in June 08 and within a week the .deb file of updated ati driver appeared on Debian Sid (Unstable) repositories. I downloaded the .deb and its dependencies and installed on Ubuntu Hardy Heron and it works.

Now I could switch off the broken display of the Laptop through the command:
xrandr --output LVDS --off

Tuesday, July 01, 2008

Rediscovering Puppy Linux.

I have always admired Puppy Linux for its hardware detection, speed etc. The main reason for not using it regularly was my love for Hindi and Marathi sites which required perfect rendering of Indic fonts. Firefox 2.0 and earlier versions required Firefox build with pango which was not available for Puppy Linux. Firefox has recently launched version 3.0 which provides out of the box support for Indic script (no special build is required now). I decided to give another try to Puppy Linux.

I downloaded Puppy 4.0 iso and mounted it on /tmp/puppy by following command:
sudo mount puppy-4.00-k2.6.21.7-seamonkey.iso -o loop /tmp/puppy

and copied the following files to a spare partition in /puppy400 folder:
sudo cp vmlinuz initrd.gz pup_400.sfs zdrv_400.sfs /media/hda8/puppy400

then I added following lines to /boot/grub/menu.lst
title Puppy Linux 4.00 frugal
rootnoverify (hd0,7)
kernel /puppy400/vmlinuz pmedia=idehd psubdir=puppy400
initrd /puppy400/initrd.gz

and I could boot into frugal install of Puppy Linux on my machine. The first step in Puppy Linux is to configure the internet connection by clicking on the "connect" icon on the desktop. Configuring eth0 is very easy.

Next step was to add Indic fonts. I downloaded the fonts from Indlinux site, created .fonts folder in /root and copied the fonts folder "Open Type" in it.

Then I searched on Puppy Linux Forum for Firefox 3.0 and found following .pet packages: is required to resolve the dependencies for Firefox 3.0.

My next project was to add Hindi Keyboard and the Desktop applet to toggle between English and Hindi Keyboard. Hindi keyboard could be added by clicking on Menu/Setup/Mouse/Keyboard_wizard/Advanced_Xorg_keyboard_configuration/Layouts/ and selection "in India".

Adding fbxkb applet was a little difficult because I had to compile it from source. For compiling on Puppy Linux you need to download devx_400.sfs and copy it to / of the partition.

Then I downloaded fbxkb-0.4.tgz source package, extracted it, entered the directory and issued ./configure and make commands. (Note versions 0.5 and 0.6 of fbxkb do not work on Puppy Linux).

In Puppy Linux you give the following command instead of "make install"
new2dir make install

By the above command Puppy Linux makes separate directory for the package. You convert the directory into .pet package by following command:
dir2pet fbxkb-0.4-i486

and I got the .pet file:

fbxkb does not come with Indian Flag. I added it to /usr/share/fbxkb/images/

After giving fbxkb command I got the US Flag icon on the panel and clicking on it changed to Indian Flag (Hindi Keyboard).