Αναζήτηση αυτού του ιστολογίου

Installing and Testing Debian on Old 32bit PCs

Two old 32bit PCs are available for testing:

One PC is a netbook HP Mini 210, equipped with 2 GB ram and Intel® Atom™ N455 single-core, 1.66-GHz processor.


Second PC is a 32bit 2GBram laptop by Toshiba.


Debian 8.5 + Cinammon,32 bit Live Image on HP Mini 210:

It was nice to see that after booting, debian offered two different boot options: Boot with non PAE support and boot with PAE supporting kernel.

Cinammon experience seems too heavy for this old netbook.
FireFox pageload or exploring the DE options was "stucking".
It has been noted that running FireFox blow up system resources.

I suppose if i try to combine Debian with a heavy DE like Gnome or KDE could lead to seriously limited performance.





Debian 8.5 + XFCE,32bits Live Image on HP Mini 210: 

Very good performance, much better - more light than Cinammon DE.
XFCE Options for panels , etc similar to the LXLE Live linux (comes with lxde DE).
Maybe trying Debian with LXDE image, could be more light - more suitable for this old netbook.

As a negative on the live try, i could say that i was expecting something like a Software Center to make installation of apps more easy.

Synaptics Package Manager (or apt-get) could do the job but the easy installing software in Ubuntu Software Center can not been neglected.

In any case, as it turned out , most Desktop Environments are based on Synaptics and only a few do provide a kind of Software Center (Mate, Gnome, and probably all Ubuntu flavors).


Debian Stable 32bit net install + LXDE Tests on old 32bit 2GB ram Toshiba PC 

After resolving partitioning issues on my hdd (disk management of Win was not able to shrink volume and i had to use MiniTool Partition Wizard Free Edition), installation proceed normally with just one bug: Grub failed for some reason to be installed and thus i selected Lilo to be installed as a boot loader.
When installation finished, i was surprised to see that Lilo has been loaded but boot me directly to my new Debian Partition without giving me the usuall boot options (Win7, etc).

Debian FineTune: 

1. Upgrade to "testing" version. 
Edit file /etc/apt/sources.list and add the testing debian repos.
At first i tried to use the mirror provided for my stable updates, already present in my sources.list file by the Debian Installation.

But apt-get update with the new testing repos kept to fail with a hash mismatch errors.

The problem was solved by applying http://httpredir.debian.org/debian as web site for testing updates.  This is a common http redirection service . 
With this link, Debian update/upgrade/dist-upgrade proceed normally.
To ensure that testing repos have a priority equal to stable repos run apt-cache policy.
You should receive a list referring priority numbers for every source in your sources.list file.
If you see the same priority number for stable and testing (usually 500) then both sourced have the same priority , thus testing packages will be installed .
If the package you want for is not available in testing repos, then the stable repos will be used. 
Same story for sid. Also sid get's same priority as stable and testing.
Different story for "experimental". If you add experimental repos,you will have the sources list updated with this repos, but experimental sources get a lower priority and thus are not automatically installed with apt-get update/upgrade/dist-upgrade.
You can search for various version in all repos by apt-cache search pkg name, and then you can manually install an experimental / sid / testing package by apt-get -t experimental pkg name. Usually if testing/sid has same priority with stable, simple apt-get should get the higher version available , usually present at sid.

2. Configure LiLo.
During Debian net install, the installation of Grub failed. 
I had to choose LiLo instead, otherwise i would have left with a "semi-finished" installation.
On the next boot, Lilo just booted to the new Debian partition without prompting me to select anything.
In this post you can see some ideas how to configure LiLo by enabling boot to Windows.
http://www.codecoffee.com/tipsforlinux/articles/6.html
More over this post refers that if you press shift during LiLo booting , you will then be prompted for various boot options.

In particular according to http://www.tldp.org/HOWTO/LILO-2.html#ss2.3 you can press TAB while LiLo is booting , considering that Lilo allows interaction during boot. 

If LiLo is not configured to interact with user during boot, you then keep pressing alt or shift before LiLo starting. -> I tried, none of these worked.

More about Lilo :

https://wiki.debian.org/LILO -> How to install Lilo on the MBR and how to configure Lilo
Above wiki link, provides also some basic examples to boot lilo with various options.

LiLo working example, providing a menu of installed OSs: 

verbose=2 #just increase the lilo output during booting.
compact #it could skip/fix the lilo bios data verification that is made every time
install=menu #provides a menu with "labels" provided later on lilo.conf
prompt #wait for user prompt

timeout=100 #apply a timeout in 10th of milliseconds to boot the default option

boot=/dev/sda #where lilo has to be written in your hdd. sda = master boot record. If you select sda5 then lilo boot entries will be writted to your debian partition instead of MBR.
map=/boot/map #where is the map . 
lba32
default=linux #default entry to boot if user makes no selection.

image=/vmlinuz #classic debian load of the most recent kernel. use ".old" for older kernels

initrd=/initrd.img #classic. use .old for older kernel boot.
root=/dev/sda5 
label=linux
#append="root=/dev/sda5" # if used this command passes this root parameter in the kernel.
read-only

other=/dev/sda1 #partition 1 Windows
label=Windows



other=/dev/sda2 #partition 2 Windows 
label=Windows1


3. From Lilo to Grubhttps://wiki.debian.org/FromLiloToGrub

I used grub2 instead of just grub.
But the step "grub-install /dev/hda" failed. It has to be /dev/sda which failed again with "embedding" errors related to LVM partitions.
I run apt-get purge lilo and lilo was removed by Debian (but not from MBR).
On the next dist-upgrade , LiLo was not able to boot due to table mismatch errors.
It seems that i have to reinstall LiLo in order to recognize the upgraded kernel (3.16 to 4.6)

When playing with MBR you do not have actually to delete previous boot loaders. 

You just install the new boot loader on MBR and this overwrites previous boot loaders (this supposed to be done by using grub-install /dev/sda).

You can also try to manually install grub2 from a seperate live CD, by providing the correct options on where grub boot files should be placed - see this post: https://help.ubuntu.com/community/Grub2/Installing

PS: This post gives a variety of options ro restore grub2, even with single files copy (!).

Quick example - adapt it correspondingly for your MBR:



If grub2 in live image is different you can apt-get purge grub2 from live CD, enable the testing repos in live CD sources.list, do an apt-get update on live cd, do an apt-get -t testing install grub2, then run grub-install command bellow on the live image root terminal>

sudo mount /dev/sda5 /mnt

sudo grub-install --boot-directory=/mnt/boot /dev/sda
Test : I tried this from a live cd, and though i got a "grub installation completed succesfull" message , on the next reboot the LiLo screen came out again....

PS: People says that when you have LVM partitions (like my case) LiLo is the best boot loader to use. It seems that grub has some problems with LVM partitions. Shit.



4. Uninstalling LiLo from MBR: http://www.tldp.org/HOWTO/LILO-2.html#ss2.4

The concept is that LiLo during installation made a kind of backup of MBR existed boot loader and file (i.e windows boot entries). 
In order to remove LiLo from MBR you need to copy (dd) back to MBR the old files (this will automatically overwrite existed files in MBR).

Or alternativelly , installing a new boot loader (i.e grub2 or even windows by a win rescue disk) will overwrite LiLo files on MBR and write the new boot loader files.


5. Installation Repair - LiLo Boot troubleshooting:

Upon my tests i removed LiLo and this broke my boot. I left with a hanging LiLo on the start up, claiming various errors about table / data mismatch - missing.

As a work around i used my installation usb stick in rescue mode (advanced options).


PS: If Rescue mode is not available in the boot options, you can type rescue at the boot: prompt, or boot with the rescue/enable=true boot parameter.  


Rescue Mode is not actually installing anything on my system. It just asks me to identify which partition is my root / (in my case sda5) and then Debian Installer provides a command line interface at this partition with chroot option (i.e chroot /dev/sda5).

PS: If unsure what is the correct partition, select "script shell" and run fdisk -l to see a list of all partitions.
Once booted as chroot in my sda5, i was able to run all the commands that i used to have in my normal installation. As a result i run apt-get update and then apt-get -t testing install lilo.
That was completed OK. 
Then i tried to run lilo on terminal but i got a message about missing /etc/lilo.conf
I created a basic lilo.conf file under /etc with nano text editor, containing these lines:
boot=/dev/sda
map=/boot/map
lba32
default=linux
image=/vmlinuz
initrd=/initrd.img
root=/dev/sda5
label=linux
read-only

Then i run lilo on command prompt and lilo was ok. On the next reboot my Debian sda5 was booted normally.

Moreover , once lilo was installed before my system break,  you should be able to find a lilo.conf_backup file under /etc. If you rename this file to lilo.conf you should be ok for starting. 
You can have a quick look inside file, to comment (#) possible suspicious entries .

Alternative Ways to boot into you Debian partition if boot loader is broken:

* Try the live CD method in step 3 above to install grub2. It could work.
* Use a live CD that contains grub as boot loader in the startup screen and make a manual vmlinuz - initrd.img boot in the hd0,5 partition.
* Use Linux Boot Repair utility under a live ubuntu version :  https://ubuntuforums.org/showthread.php?t=1769482

6. Debian Wiki to install LXDE in an already built system: https://wiki.debian.org/LXDE
Just in my case, even with LXDE already installed i can try bellow commands to be sure that i have all LXDE apps installed / updated.
As usuall if something is already installed apt-get skips it's installation or makes an upgrade if available.
# apt-get install lxde and # apt-get install task-lxde-desktop

7. Repair Broken Windows Boot.
it turned out that after enabling LiLo menu options and providing LiLo entries to allow win boot (item 2 above), i was not able to log in windows.
Either by selecting Windows (sda1) or Windows1 (sda2) i got the well known windows welcome screen, but then i got a blue BSOD screen and system restarts! If i select again windows i got prompts to repair my system since windows boot manager is broken....


Workaround to be tried:
  • Use a Windows installation /rescue disk to repair your system, mainly MBR entries (i.e you could also try fdisk /mbr or bootrec /fixmbr)
  • If repair is sucessfull , reboot and you should log in to Windows directly (lilo must has been overwritten and debian partition ignored).
  • Use easybcd to add an option to win boot manager like "Debian boot" and point that option to sda5 where your debian partition exists.
  • Install lilo on /dev/sda5 instead of /dev/sda. To do this most probably you will need again the Debian installation disk - rescue mode. Moreover you need to change the boot=/dev/sda to boot=/dev/sda5 option inside lilo.conf and run lilo under root terminal, and also remove all the non required options (install=menu, other OS, etc).
  • You might also need to apply a "bootable" flag on sda5.
  • If all are gone correctly, on the final reboot you should see the windows boot loader providing win and linux options. By selecting linux, lilo is called from sda5 and if correctly configures should boot debian immediattely. 


8. WiFi Manager and Connection Issues (wifi, connman , connection manager, etc)
You can remove LXDE default wicd network manager and use the Gnome / Mate network-manager or other connection managers like connman. I did this due to wifi problems and before to realize what was the real problem (power save mode from rtl firmware).

To remove wicd, you need to #apt-get purge wicd* (minde the asterisk: 3 files to be removed : wicd, wicd-daemon, wicd-gtk). 

If you purge wicd and you then install gnome network manager, on the next reboot network manager icon on your default panel will be automatically replaced by the new installed gnome manager. 

As a general idea to have more than one connection manager is not good idea. 


If you purged wicd without *  wicd-daemon is still available (and daemonized) , still runs on your task bar and gnome network manager appears also in your panel but is not working.


Reason to unistall wicd:  
I got frequent wifi traffic stucking (not disconnections) and i got suspicious about the network manager since realtek firmware files was already upgraded to latest available version. 


It seems that gnome net manager does better job on wifi than wicd. 


I uninstalled gnome network manager , since i kept having wifi problems, and thus i thought to try connman by Intel.


If you just install package connman you will get the core command line package.

Tip: apt show can give you info about all Debian Packages. 

If you run #apt show connman, you will see that connman conflicts with wicd-daemon:
Recommends: bluez, wpasupplicant, ofono
Suggests: indicator-network
Conflicts: network-manager, resolvconf, wicd-daemon

For Debian it seems that the right package is cmst , developed by lxQt team. 
CMST is a connman gtk 2.0 GUI (has to be installed with apt-get and depends on some qt libraries). 
PS: I also tried connman-ui but not found a way to run it so i abandon it.

I configured cmst preferences for auto start minimized in system tray (you need to add system tray "applet" in your top panel to be able to see tray icons).

CMST was complaining about vpn errors so i also installed package connman-vpn and then i was OK. Although, it seems that recent versions of cmst have correct this bug (there was an open bug for this behavior)

If you just install cmst will automatically install connman (core) and connman-vpn as dependencies. 

CMST and ConnMan stopped working after an update (21 Nov 2016) with error : 

CMST: Unable to create an interface to connman on the system bus.
CMST will not be able to communicate with connman.

According to #apt show cmst, this packaged depends on :
Depends: libc6 (>= 2.14), libgcc1 (>= 1:3.0), libqt5core5a (>= 5.7.0), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.7.0), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.2.0~alpha1), libstdc++6 (>= 5), connman


Looking at /var/logs/apt/history.log, it is true that in this last update all qt5 libraries required by cmst have been upgraded in sid. Obviously this upgrade broke cmst.

ConnMan does not depends on qt5 libs, but the last update , made an upgrade to package libgnutls30 (from version 3.5.6.2 to 3.5.6.7) and to package libxtables11 (from 1.6.0-4 to 1.6.0+snapshot20161117-1)
#apt show connman
Depends: libc6 (>= 2.15), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.31.8), libgnutls30 (>= 3.5.3), libreadline7 (>= 6.0), libxtables11, init-system-helpers (>= 1.18~), dbus, lsb-base

I filed a bug to Debian for this, and it turned out to be that the recent iptables version was the suspicious package (you can downgrade or wait for cmst /connman to be fixed)

Debian Network Managers:  

https://wiki.debian.org/NetworkManager
https://wiki.debian.org/WiFi/HowToUse

RTL WIFI Problems (rtl8723be, rtl8192se, etc) - Power Saving Options
It proved that wifi problems like freeze, slow speed, disconnections, etc are present on realtek wlan cards and usually are related to wifi card power saving options which are by default enabled.

Running modinfo rtl8192se will give you options / info about this module.
At the end you will see something like:
parm:           swenc:Set to 1 for software crypto (default 0)
 (bool)
parm:           ips:Set to 0 to not use link power save (default 1)
 (bool)
parm:           swlps:Set to 1 to use SW control power save (default 1)
 (bool)
parm:           fwlps:Set to 1 to use FW control power save (default 0)
 (bool)
parm:           debug:Set debug level (0-5) (default 0) (int)


I solved all problems in all laptops with rtl, by disabling both swlps and fwlps.
You can do that either using:
#modprobe -r rtl8192se
#sleep 3s
#modprobe rtl8192se fwlps=0 ips=0 swlps=0

Or for a permanent solution:
Browse to /etc/modprob.d directory
open file modesetting.conf and add to the end:
options rtl8192se modeset=1
options rtl8192se fwlps=0 ips=0 swlps=0

Verification can be done using systool, a utility included in the package apt-get install sysfsutils

#systool -a -v -m rtl8192se
  Parameters:
    debug               = "0"
    fwlps               = "N"
    ips                 = "N"
    swenc               = "N"
    swlps               = "N"
"N" stands for No=0 . If something is enabled, will be reported as "Y" = Yes = 1.

Wifi Connection Using Command Line on Debian:
Upon cmst / connman failure, i succeed to get connected to my wifi as per Debian Wiki instructions:
https://wiki.debian.org/WiFi/HowToUse

First i purged connman (but i didn't purged cmst)
Then i edited /etc/network/interfaces file and i add to the end :
auto wlan0
iface wlan0 inet dhcp
wireless-ssid {ssid}
wireless-psk {password}
                wpa-ssid {ssid}
                wpa-psk  {password}

PS: I added both values (wireless and wpa) . I didn't know which one was enough.... 
I replaced {ssid} and {pass} with my ssid / pass without the curly brackets and without any single/boudble quotes. Just like this : wireless-ssid CYTAXXX.

According to Debian Wiki, before editing interfaces file i did:
# ip a
# iwconfig
# ip link set wlan0 up (PS: Use down to disable wlan0. Command ifconfig wlan0 up does not work for me).
# iwlist scan  

Command iwlist scan , scans and provides all found ssids in range. 
You can combine with |grep -A10 -B10 "your ssid" to limit the scan in your known home ssid and see the exact ssidname, etc. Mind the caps on ssid name. 
PS: grep -A10 and -B10 options , instruct grep to echo 10 lines after and before the matched ssid you provided as grep pattern.

After a nice reboot, this method worked ok. 
Running a web speed test i got expected results about my internet connection; although i got no visual indication of the network status on the tray. 
I have to verify my connectivity either by visiting web sites, or by running ifconfig and see if i have a valid IP under wlan0.

Tip: Acc to Debian Wiki , if you decide to use a connection manager (with or without GUI) you need to remove (or comment) the wlan0 lines in /etc/network/interfaces file.

10. Screen adjustments with xrandr
Also see here: http://monaxoss.blogspot.gr/2016/06/light-linux-for-old-pcs.html#more

I want to connect my LCD 37'' TV on my PC , and thus i had to play with xrandr.
Theoritically lxde provides a tool called lxrandr which allows you to make some easy setting of your connected monitors. Also LXDE provides some kind of automatic configuration for the monitors connected. But all these do not work as good as expected.
For example in order to have a mirror output on both laptop screen (LVDS-1) and tv screen (VGA-1) this tool either finds a common mode supported by both monitor (i.e 1024 x 768) or keeps native resolution of both monitors (1366x768 on LVDS-1 and 1920x1080 on VGA-1). 
But in this case, desktop size fits ok in VGA-1 but not in LVDS-1.

In any case, i built a script to apply different xrandr commands after a lot of research.
Whole script can be found here:
https://github.com/gevasiliou/PythonTests/blob/master/twoscreens.sh

Main Commands are bellow:

Mirror Output:
xrandr --output LVDS-1 --mode 1366x768 --scale 1x1 --output VGA-1 --same-as LVDS-1 --mode 1920x1080 --scale 0.711x0.711
# Above scale settings applied on VGA-1 in reallity enlarges VGA-1 by reducing the resolution with scale to match 1366x768 , as in LVDS-1
# As a result, after this if you run xrandr you will observe that xrandr reports for VGA-1 mode 1920x1080 but resolution 1366x768.
# It can be also done in the opposite way. Apply desktop to VGA-1 as 1920x1080 and adjust (scale) the output of LVDS-1 to match 1920X1080.
# This can be done like this: 
# xrandr --output VGA-1 --mode 1920x1080 --scale 1x1 --output LVDS-1 --mode 1366x768 --scale 1.41x1.41 --same-as VGA-1
# Always run xrandr afterwards to verify new settings. In above example LVDS-1 mode will be reported as 1366x768 but resolution will be reported as 1920x1080.
# In reality the laptop screen will be "shrinked" ; texts will appear much smaller.

Extended Desktop to both Screens:

xrandr --output VGA-1 --mode 1920x1080 --scale 1x1 --output LVDS-1 --mode 1366x768 --scale 1x1 --left-of VGA-1 
# I had to ensure that both monitors run on default 1x1 scale.
# What is remarkable here is that you are allowed to apply different desktop settings (i.e different folder view settings) on VGA-1.
# It is also strange that you can not assign VGA-1 to virtual desktop/workplace 2.


Fo VGA-1 only  : 
xrandr --output LVDS-1 --off --output VGA-1 --mode 1920x1080 --scale 1x1
PS: The github script just provides a GUI to switch between different set ups.


8. LXDE Finetune and features:
1. Configure Panels

Default LXDE panel is a bottom panel including apps menu icon/browser, windows list - taskbar, tray icon . You can adjust position (i.e top) you can add/remove applets or launchers, etc. 
In my case i moved default panel to top and i added just a small panel with some launchers in the bottom.

LXDE Panels can be some how configures with Command Line using command lxpanelctl.
Panel Configuration Files are stored here:
/home/username/.config/lxpanel/LXDE
/home/username/.config/lxpanel/LXDE/panels

Dedicated Panel for your Second Monitor (i.e case of Extended Desktop Configuration).
You can create a panel that will be assigned to monitor 2 only = VGA-1 from the panel references.

Monitor 2 (VGA-1) appears in config files as monitor=1 . 
Monitor 1 (LVDS-1) appears in config as monitor 0 
The option "all monitors" in panel config dialogue is translated as monitor=-1 in config files.

I have verified that top and bottom panels which have been set to appear only in Monitor 1 are not displayed in VGA1 when in Extended desktop mode

As a result i created a new third "Right Panel" that has been assigned to monitor 2 only. 
Though when i switch back from "Extended Desktop" to mirror mode, this third panel is also displayed in my Monitor 1 .  This means that if you have plans to add a seperate bottom panel on monitor two, when you exit "Extended Desktop" mode, this third bottom panel will overlap bottom panel of monitor 1 or whatever it is on the bottom of your monitor 1.

A workaround to allow you to have two different bottom or top panels in extended desktop that will not overlap your primary monitor panels (when you exit extended desktop) is to delete those config files of the monitor two panels , and as soon as you return to mirror mode to perform an lxpanelctl restart. 

In a terms of bash script, i could do it like this (pseudocode):
If extended mode selected then
copy panel config files of monitor 2 from temp location to ~/.config/lxpanel/LXDE/panels
apply the xrandr command for extended desktop
lxpanelctl restart
fi

If mirror mode selected then
copy panel config files of monitor 2 from ~/.config/lxpanel/LXDE/panels to temp location
delete panel config files from ~/.config/lxpanel/LXDE/panels
apply the xrandr command for mirror
lxpanelctl restart
fi

It is true that even if you delete a panel from panels dialogue in lxde, this in reallity deletes the corresponding panel config file from /home/username/.config/lxpanel/LXDE/panels.

I have the feeling that LXDE performs a kind of lxpanelctl restart when new settings are applied by xrandr. Though i noticed that changes on lxanel are applied on the fly, without screen blinking.

Remark: Tray applet can be present only in ONE LXDE panel. Even if you apply all monitors to top panel, tray applet will be unique (placed at monitor VGA-1 in my case)

root@debian32:/home/gv# lxpanelctl 
lxpanelctl - LXPanel Controller
Usage: lxpanelctl

Available commands:
menu show system menu
run           show run dialog
config show configuration dialog
restart restart lxpanel
exit         exit lxpanel
command send a command to a plugin

Tip : I saw somewhere that default profile in lxpanel is -LXDE. This is actually a folder in .config/lxpanel . Maybe we could create a second folder (i.e LXDEM2) that will keep the monitor 2 panel config files and instead of deleting the config files we could possibly load / unload the LXDEM2 profile. Not tried.

To ensure that all panels will operate as expected and to avoid opening windows in different screen than the one you clicked on the launcher we need to finetune OpenBox configuration and panels configuratio a little bit.
For OpenBox go to LXDE Start menu - Preferences - openbox configuration manager or just run #obconf & from command line (no sudo or gksu).
Once in OpenBox Configuration appears, go to Windows menu and check "Place new windows under the mouse". Also in "Prefer to place new windows on:" select "the monitor with the mouse"

For Panels , go to the panel that holds the Taskbar-Window List applet, right click - panel settings - panel applets - TaskBar (Window List) - Preferences. Check "Only show Windows on the same monitor as the task bar". This helps task bar / window list to display minimized apps of it's own monitor. Window List of LVDS-1 keeps minimized windows of LVDS-1. 
You need offcourse to apply a second taskbar-window list on monitor 2 panel to hold your monitor minimized windows. 
If this option is disabled, all window list applets will display minimized icons from all monitors.

In my set up i have also add some launchers (.desktop files) on the desktop . Since the desktop is common both monitors display the same desktop items (but this can be changed by desktop preferences ; you can force lxde desktop of monitor two to load items from a folder other than ~/Desktop. Though this could mess things up when in mirror mode or laptop only mode.).

With above settings of OpenBox , clicking on desktop launcher of monitor 2 will pop up the app window you need in monitor 2 (prefer to place new windows on the monitor with the mouse setting). Click on the same launcher on Monitor 1 will relaunch the app and will appear in Monitor 1. Pretty cool!

PS: Sample of lxpanel config files can be found here:
https://github.com/gevasiliou/PythonTests/tree/master/LXDE%20Panels

2. Sound Icon missing from panels
Not able to find a sound icon for my panel to be able to adjust sound level on the fly, like MATE.
Maybe i have to "switch" apps to those available in other DE.
As a general idea, apps of XFCE fit to LXDE without serious problems.

For sound icon : http://askubuntu.com/questions/80384/where-are-the-lxde-sound-preferences

In above post people install xfce4-mixer (sudo apt-get install xfce4-mixer gstreamer0.10-alsa) or even pulseaudio packages like sudo apt-get install pulseaudio pavucontrol.

Update: I did install xfce4-mixer and works ok. Although even with headphones connected if you dont top up the "headphones" sound bar, "master" bar AND "Speakers" bar you don't get any sound output. By the way, at the end i was able to find a volume icon for the panel.


3. How to add a 'RAM usage' icon on the panel in LXDE . Try right click on the provided CPU Usage panel monitor to see if there is a memory usage option to enable there.

Update: No, the default CPU usage icon is not providing any options. I deleted this icon and i add to panel a general "monitor resources" icon. In this "monitor resources" icon you got the options to display cpu and ram usage.

4. Enable touch pad click.

There is not any "touchpad" options within Keyboard and Mouse settings application that comes with LXDE.
A workaround was to apply the command synclient TapButton1=1 
I bound this command to my xrandr shell script.
Also the post gives instruction how to permanently add this command to xinput configuration files for a permanent solution.

5. Install Mate Search Tool (part of pkg mate-utils in Debian) and XFCE 
application finder programm (pkg xfce4-appfinder). Those two packages do a great job, and require just a few mate/xfce libs that you will not even notice.

PS: After installation, you need to manually edit the corresponding .desktop files in /usr/share/applications/ folder, to ensure that those apps will be visible in LXDE menu . 
To do that, open corresponding desktop files with your editor and remove or comment any "NotShowIn" or "OnlyShowIn" entry.

6. Optionally you can add XFCE4 panels as dock on the lxde desktop.
Just add package xfce4-panel and then just run xfce4-panel (or gksu xfce4-panel).
This will call the xfce4 panel, exactly the same way as you first run xfce4 desktop.
Close all panels, keep only one dock panel and apply the launchers you like and is not possible to be added to LXDE panels (i.e Find file app of mate, Application find app of XFCE4, etc)
PS: I did this once to call some launchers that for some reason refused to be integrated in the LXDE panels.But then this was fixed so is not necessary to use xfce panels. Though is impressive that you can install only xfce-panel package and this package will run correctly, regarding the launchers (not the built in applets usually available in xfce environment).

One step further, if you add xfce4 panel, you can add some xfce applets to be included in this panel, like for example xfce4-power-manager.

Once you load the applet (i.e xfce power manager) you should be able to configure it.
I had some issues to make the changes persistend upon reboots.

As a workaround and as a tip, we can adjust xfce4 applets (like power manager) even by command line.
http://askubuntu.com/questions/407287/change-xfce4-power-manager-option-from-terminal
xfconf-query -> displays all chanels of xfce4
xfconf-query -c xfce4-power-manager -l -> display properties of selected channel xfce4-power-manager
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/lid-action-on-ac -> show the value of a specific channel property

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/lid-action-on-ac -s 1 -> -s = set property value to 1 

If you do not load power-manager it seems that the only propertie available is the acpi propertie (check /etc/acpi/events).

Initial settings loaded at start up: /etc/xdg/xfce4/xfconf/xfce-perchannel-xml

7. Add custom launchers at desktop
There is an automatic command line to do that (create launcher), but you can also do it manually by creating a .desktop file (or copy-paste an existed desktop file and modify it), which includes for example:
[Desktop Entry]
Type=Application
Name[en_US]=Find or xfce panel
Exec=mate-search-tool or gksu xfce4-panel

You need to chmod +x the desktop file. You then should be able to drag and drop this launcher on the lxde panel or from panel setting you can add a launcher and on this launcher properties you can select (browse) to your launcher.