Home Linux Community Community Blogs

Community Blogs

Hole in Fixefox 4 WebGL

I just read that firefox 4 has a hole in its WebGL application that allows screen shots of what a browser just displayed. This means all information on the page, password, names, etc.

This is an article that was post on the homepage of titled,"Hole Found in Firefox 4 WebGL Implementation". Here is a sample paragraph of the article.

"This approach allows an attacker to create and save screenshots of what the browser has displayed. This includes all data, not just WebGL content. In their proof of concept, the researchers manage to extract "snapshots" of the graphics card's memory that was previously used to display web pages. The vulnerability is specific to the WebGL implementation in Firefox 4 and does not occur in Google Chrome."

The security hole is fixed in firefox 5. Users of firefox 4 can disable WebGL or upgrade to the beta version of firefox 5. To do this, type: about:config in your firefox url box, scroll to line named WebGL.disabled. Select it, right click and choose toggle to change it to "true".


openSUSE Weekly News 180 is out!

We are pleased to announce the openSUSE Weekly News, Issue 180.

In this Issue:

  • openSUSE Conference and RW sessions – the BoF
  • Google Summer of Code Reports
  • TechRepublic/Jack Wallen: Five tips for collaborating in LibreOffice
  • Jos Poortvliet: openSUSE and online services
  • and many more ...

You can download it there:

We hope you enjoy the reading :-)

If you want to help us collecting interesting articles for the openSUSE Weekly News, so you can all your stuff into our new ietherpad:

Found Bugs? Please place it in our Bugtracker:

Features, Ideas and Improvements can placed in our Featuretracker:

Older content can be found there.

Flattr this


Create a custom distro: building a minimal image

Building a minimal image

With lessons learned from previous chapters here we go again with the first step for building a minimal image of our newly created Linux distribution, it ain't that difficult and it helps to understand the Slax customization process. In this article we'll build our own slax rebuild with the minimal footprint, path and configurations are taken from the same virtual machine and from previous path locations.


As already set up under the “target” directory there's our environment, if you've followed previous articles you may want a copy of our previous tests:


root@slax:~/target# cp -R image image.full
root@slax:~/target# ls -la
total 20
drwxr-xr-x 5 root root 4096 Jun 17 14:02 ./
drwxr-xr-x 14 root root 4096 Jun 8 18:33 ../
drwxr-xr-x 4 root root 4096 May 30 17:35 image/
drwxr-xr-x 4 root root 4096 Jun 17 14:02 image.full/
drwxr-xr-x 2 root root 4096 May 30 17:44 iso/

Deleting unneeded packages


Slax customization process is really easy, as you can see you've two directories:


root@slax:~/target/image# ls -la
total 16
drwxr-xr-x 4 root root 4096 May 30 17:35 ./
drwxr-xr-x 5 root root 4096 Jun 17 14:02 ../
dr-xr-xr-x 6 root root 4096 May 30 17:35 boot/
dr-xr-xr-x 7 root root 4096 May 30 17:35 slax/

inside the boot directory there're files related to OS boot as usual, you may boot it from a CD/HD/USB Stick, no matter about the file system, SLAX supports Linux/Unix file systems (EXT2/3/..., XFS, JFS, …) and Windows FAT16/32 as well, you only need to use the right tool to install the boot loader in the MBR (with syslinux or lilo) as previously explained here
Inside slax directory there're a lot of interesting things:

root@slax:~/target/image/slax# ls -la
total 136
dr-xr-xr-x 7 root root 4096 May 30 17:35 ./
drwxr-xr-x 4 root root 4096 May 30 17:35 ../
-rw-r--r-- 1 root root 17993 May 30 17:35 GNU_GPL
-r--r--r-- 1 root root 459 May 30 17:35 LICENSE
drwxr-xr-x 2 root root 4096 May 30 17:35 base/
-rw-r--r-- 1 root root 35016 May 30 17:35 changelog.txt
-rw-r--r-- 1 root root 4780 May 30 17:35 cheatcodes.txt
-rw-r--r-- 1 root root 437 May 30 17:35 livecd.sgn
-rwxr-xr-x 1 root root 658 May 30 17:35 make_iso.bat*
-rwxr-xr-x 1 root root 932 May 30 17:35*
dr-xr-xr-x 2 root root 4096 Jun 17 14:03 modules/
drwxr-xr-x 2 root root 4096 May 30 17:35 optional/
-rw-r--r-- 1 root root 959 May 30 17:35 requirements.txt
drwxr-xr-x 2 root root 4096 May 30 17:35 rootcopy/
-rw-r--r-- 1 root root 21584 May 30 17:35
drwxr-xr-x 3 root root 4096 May 30 17:35 tools/

LICENSE, GNU_GPL, *.txt files are license files and changelogs related to this system, leave them there to keep the GPL license. “livecd.sgn” is a signature file created from slax to identify itself, leave it where it is or your system won't boot (a script checks it during the boot process). “make_iso*” files are not necessary for our new system, we do customization on slax from a build machine so you may delete them without troubles. is not needed now, it's just a bunch of compressed xfs filesystem images used when you do customizations with loop devices, you can delete it.
Now let's analyze these directories:


contains core modules for a slax boot, you may even leave it empty if you put your main modules into the “modules” directory


after the boot your system will load every module available inside this directory, you may even put core modules here, later on you'll see something more about modules


if you want to load a particular module only when you want it and you don't want to have it automatically loaded inside your system tree this is the place where you can put your own modules


“/” root file system copy, you may add tweaks or customization scripts here, we'll see this dir deeply later on


bash script, utilities and various customization tools used inside slax (module loading/unloading, creation, activation, …)

now inside ~/target/image/slax/modules directory remove everything except 1-001-core.lzm module, this is the core module with a basic system inside it, I always add even the SSHD module because I'd like to connect to my remote machines with ssh. SSHD module is really thin, just 4kb so it could be a pity to remove it from your machine, here's the overall result:

root@slax:~/target/image/slax# ls -la modules/
total 49384
dr-xr-xr-x 2 root root 4096 Jun 17 14:03 ./
dr-xr-xr-x 7 root root 4096 May 30 17:35 ../
-rw-r--r-- 1 root root 50499584 May 30 17:35 1-001-core.lzm
-rw------- 1 root root 4096 May 30 17:35 618-sshd-activate.lzm
root@slax:~/target/image/slax# ls -la base/
total 8
drwxr-xr-x 2 root root 4096 May 30 17:35 ./
dr-xr-xr-x 7 root root 4096 May 30 17:35 ../
root@slax:~/target/image/slax# ls -la optional/
total 8
drwxr-xr-x 2 root root 4096 May 30 17:35 ./
dr-xr-xr-x 7 root root 4096 May 30 17:35 ../
root@slax:~/target/image/slax# ls -la rootcopy/
total 8
drwxr-xr-x 2 root root 4096 May 30 17:35 ./
dr-xr-xr-x 7 root root 4096 May 30 17:35 ../

as you can see there're just the file 1-001-core.lzm and the 618-sshd-activate.lzm module, about 50Mb for everything. You may even remove sshd if you don't want it. No matter about other directories, clean everything for a minimal image

Build it !

Now you can build your new minimal image with this command:

root@slax:~/target# /root/target/image/slax/ /root/target/iso/image.iso

or you can use the script called “make.iso” listed in my previous article (basically a wrapper of the above command), here's the result

root@slax:~/target# ./make.iso
2.01.01a53 (i686-pc-linux-gnu)
Scanning ../.
Scanning .././boot
Scanning .././boot/dos
Scanning .././boot/isolinux
Excluded by match: .././boot/isolinux/isolinux.boot
Scanning .././boot/pxelinux.cfg
Scanning .././boot/pxelinux.cfg/web
Scanning .././boot/pxelinux.cfg/web/conf
Scanning .././boot/syslinux
Scanning .././slax
Scanning .././slax/base
Scanning .././slax/modules
Scanning .././slax/optional
Scanning .././slax/rootcopy
Scanning .././slax/tools
Scanning .././slax/tools/WIN
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: Eltorito Volume Descriptor Start Block 17
Size of boot image is 4 sectors -> No emulation
Done with: Eltorito Volume Descriptor Block(s) 1
Writing: Joliet Volume Descriptor Start Block 18
Done with: Joliet Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 19
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 20
Done with: Version block Block(s) 1
Writing: Path table Start Block 21
Done with: Path table Block(s) 4
Writing: Joliet path table Start Block 25
Done with: Joliet path table Block(s) 4
Writing: Directory tree Start Block 29
Done with: Directory tree Block(s) 17
Writing: Joliet directory tree Start Block 46
Done with: Joliet directory tree Block(s) 15
Writing: Directory tree cleanup Start Block 61
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 61
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 62
17.24% done, estimate finish Fri Jun 17 14:09:51 2011
34.41% done, estimate finish Fri Jun 17 14:09:51 2011
51.63% done, estimate finish Fri Jun 17 14:09:51 2011
68.80% done, estimate finish Fri Jun 17 14:09:51 2011
86.03% done, estimate finish Fri Jun 17 14:09:52 2011
Total translation table size: 2048
Total rockridge attributes bytes: 8867
Total directory bytes: 32768
Path table size(bytes): 208
Done with: The File(s) Block(s) 28862
Writing: Ending Padblock Start Block 28924
Done with: Ending Padblock Block(s) 150
Max brk space used 21000
29074 extents written (56 MB)

Now you've a new minimal slax build in less than 60Mb !

root@slax:~/target# ls -la iso/
total 58220
drwxr-xr-x 2 root root 4096 Jun 17 14:10 ./
drwxr-xr-x 5 root root 4096 Jun 17 14:08 ../
-rw-r--r-- 1 root root 59543552 Jun 17 20:00 image.iso

As usual feel free to comment or add your suggestion to the article if you need it


Previous Chapters


As usual let me know your thoughts and drop a note below if you want

Have fun


RPM Commands

RPM package is a powerful utility to manage the software in all major Linux distributions.  RPMs can be used to,

  • Install packages
  • Remove packages
  • Upgrade packages
  • Verify packages

Here are some useful command to manage RPM packages,

Read more... Comment (0)

openSUSE Weekly News 179 is out!

We are pleased to announce the new openSUSE Weekly News Issue 179.

In this Issue:

  • New Leadership inside the Medical team
  • Google Summer of Code Reports
  • Roadmap to systemd
  • openSUSE Strategy voting
  • and many more ...

You can download it there:

We hope you enjoy the reading :-)

If you want to help us collecting interesting articles for the openSUSE Weekly News, so you can all your stuff into our new ietherpad:

Found Bugs? Please place it in our Bugtracker:

Features, Ideas and Improvements can placed in our Featuretracker:

Older content can be found there.

Flattr this


JRE plugin not installed on Firefox

I just went through some interesting experience to share with folks around getting your plugins to work with typical open source Browsers , like Aurora 6.2(Firefox). Read this carefully , it has changed....  this was a real time sync for someone that thought they new the ropes, but , things had changed..

All over the net are posts to do a softlink to 



But.. this is no longer the module to use , even though it's still there in the Distro, it has changed for Oracle JRE releases. My version is :

[root@localhost latest]# ./bin/java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

Instructions and website:

Firefox or Mozilla

To configure the Java Plugin follow these steps:

  1. Exit Firefox browser if it is already running.
  2. Uninstall any previous installations of Java Plugin.
    Only one Java Plugin can be used at a time. When you want to use a different plugin, or version of a plugin, remove the symbolic links to any other versions and create a fresh symbolic link to the new one.
  3. Create a symbolic link to the file in the browser plugins directory
    • Go to the plugins sub-directory under the Firefox installation directory
      cd /plugins
    • Create the symbolic link ln -s /lib/i386/

    Note: If you are upgrading your Java version then before creating new symbolic link you should remove old symbolic link to enable latest downloaded Java.

    To remove old symbolic link:
    type cd /plugins



Creating an EBS backed Debian Squeeze Linux AMI for Amazon EC2

Following on from my post on how to create an S3 backed custom AMI for AWS EC2, I thought I would jot down the steps to go through if you wanted to make use of persistent disk storage by using Amazon’s Elastic Block Storage (EBS).

In my recipe I decided to use as a base AMI, the original S3 image that I rolled in my previous post:

After starting up an AWS instance using the S3 custom AMI I created, I went through the following process. – There are better ways to approach this, but this is a good starting point for anyone that is starting to experiment with the AWS platform.

Inside the AWS Dashboard create yourself an EBS volume. – This will be the one that will be used to build your future EBS machine image

Make a note of the block device id that the Dashboard assigns to your EBS volume once it has finished the provisioning process, you will need this in order to mount the EBS volume inside the S3 Instance that you have already booted up (You can find this under ‘Attachment Information’ in the Dashboard). It will be on here that you will run debootstrap,etc to build the EBS image.

Once the EBS volume is available you will see an entry like this in the dash:

Next, click the ‘Attach’ button in the AWS Dashboard as follows:

Upon clicking the Attach button you will be asked which Instance you want to attach the EBS volume to. – You need to select the Instance ID of your S3 backed AMI you just started.

Once everything is attached you will see an entry like:i-aws-instance-id:/dev/sdX. ie: i-a62bc123:/dev/sdf (attached). Notice that the ‘available‘ changes to ‘In Use‘ once you complete the attachment process. ( the ‘sdf’ is the block device id you will need to note down for the next step.)

Now on your running S3 AMI login and execute the following command as root to build an ext3 filesystem on the now attached EBS volume


mkfs.ext3 -F /dev/sdX

remember to set your TERM id to something valid before starting the copy_into_chroot, otherwise the LOCALE will fail


export TERM=vt220

You need to grab the latest compatible kernel sources from S3 as well. – Which ones you need will depend on if you are rolling a 32-bit or 64-bit AMI.

You can get them by pointing your browser to (or using curl from your instance) and grep’ing for the required Xenu modules,i.e:ec2-modules-, if you are building the 64-bit version.

Next run mkdir /EBSmountpoint

Next run debootstrap to pull down a netinstall of Debian Squeeze into the mountpoint we just created called /EBSmountpoint

debootstrap –arch [i386|amd64] squeeze /EBSmountpoint

Once this has finished, create a directory to unzip your kernel sources into:

mkdir 64bitmodules

then untar the downloaded source in that directory

cd 64bitmodules

tar xvf ec2-modules-

this should create a lib directory inside 64bitmodules, which you can then copy intolib/modules inside your /EBSmountpoint directory

cp -r 64bitmodules/* /EBSmountpoint/lib/modules

Next copy the two ec2 scripts. You’ll recognise these next few steps from my last post on Custom AMI’s, the, shellscript contains additional configuration parameters that I have passed to the Debian image before it gets converted into an Amazon Machine Image.


cp /etc/init.d/ec2-get-credentials /EBSmountpoint/etc/init.d/

cp /etc/init.d/ec2-ssh-host-key-gen /EBSmountpoint/etc/init.d/



cp /EBSmountpoint/


chroot /EBSmountpoint /bin/bash

mount -t proc none /proc

mount -t devpts none /dev/pts



execute from inside your chroot environment.

type ‘exit‘ to leave your chroot

On your S3 Instance umount  your EBS filesystem, as your almost ready to fire it up!!

create snapshot of EBS (make note of the EBS snap id)

Next register your EBS backed image, specifying the id of the snapshot you just took (snap-1ab23c45).

ec2-register –private-key=/ec2_creds/pk-.pem –cert=/ec2_creds/cert-.pem –region=EU-WEST-1 -a x86_64 -b /dev/sda1=snap-1ab23c45:20:false -d “Matts EBS backed Squeeze test” -n “SqueezeEBS” –kernel=”aki-780d250c” –ramdisk=”ari-7f0d250b” (the 20 after the snap id is the volume size, so it must match your AMI image size).

This will send you back an ami-id to use when starting an instance, this is done in the same way as an Instance-store AMI, although you will notice that instead of ‘instance-store‘ it will now display ‘ebs‘.

What you will notice starting and stoping this Instance is that any changes that you make will be preserved and available on start, which might suit some peoples requirements.

Hope someone finds these pointers useful.

Matt Palmer  - 6th June 2011



openSUSE Weekly News 178 is out!

We are pleased to announce our new openSUSE Weekly News 178.

In this Issue:

  • First step towards 12.1 with Milestone 1
  • Andreas Jaeger: Factory Progress 2011-06-03
  • Sebastian Kügler: kollaboration in at platform 11
  • Linus Torvalds: Linux 3.0-rc1
  • and many more ...

You can download it there:

We hope you enjoy the reading :-)

If you want to help us collecting interesting articles for the openSUSE Weekly News, so you can all your stuff into our new ietherpad:

Found Bugs? Please place it in our Bugtracker:

Features, Ideas and Improvements can placed in our Featuretracker:

Older content can be found there.

Flattr this


64 bit sytem versus Mint Linux

I built a new system  on May 6th,2011. MSI 760GM-E51 mobo, 600 watt power supply, AMD 640, quad core processor, 16 gigs DDR3 ram, and 2- 500 hundred gig HD's. I attempted to install the 64 bit version of Linux Mint 11 on it. It did not give me an option to install to sdb, only showed sda. I had a copy of Ubuntu Studio handy, so I loaded it up and tried to install it. It showed sdb, so I installed it, no problem. Not really a fan of Ubuntu, so I resized the partition and tried Linux Mint 11 again. this time it showed sdb, so I started the install. It got about halfway, on the progress bar, and everything locked up. No mouse, keyboard, nothing. Checked the md5 sum, everything checked out okay. Thought maybe I had a bad burn, so I downloaded from another mirror, burned it at 8x, slowest speed on my burner, but the same thing happened again. In total, I have tried 15 DVD's, and 2 CD's and Mint 11 just will not install on this system. There must be something in the setup, on this machine, that Mint 11 doesn't like.

    Yesterday I downloaded the live CD of the newly released Mageia 1, 32 bit. Installed it , but encountered a few problems afterwards. Got on their forum and one of the members suggested I try the 64 bit DVD. So, I downloaded the DVD, installed it without a hitch. Runs great. Had a problem with the sound, but it turned out to be an easy fix. So far it has run flawlessly, and is much faster, and better than the last Mandriva I tried.

     My first encounter with Linux was Mandrake 7.2, back in 2001. I had ran windows since 1991, and Commodores since 1981. Just got tired of all the windows errors, viruses, adware, malware, and having to reinstall about every 6 months.. Now windows is a game only OS, I don't trust it for online banking, e-mail, or general surfing, especially combined with IE. I use Firefox exclusively. I have 4 desktops, and 2 laptops currently in use, and use a variety of distros. My main system has Mint 10, Peppermint One, Kububtu, (seldom used), and XP for games. My Netbook runs PCLinuxOS, and my laptop runs PCLinuxOS, and Peppermint One. The new system has Xp,(older games) Win7, (newer games) PCLinuxOS, Peppermint One, and Mageia1. My 2 grandsons are the main player of games, when my wife isn't on it.


What I know I Give

I have been playing around with my systems, understanding their benefits, and in the process, broke them to a small extent. There are no howstos that I could refer to and there was no knowledge of what failed and why. All I had was a sense of exploration. 

When there is a problem, there is always a solution. All it takes is a little patience and SLOW reading. OF course, you can just reinstall the system if you like and do things the long and cheap way, if you have backups. However, the best part about living is to challenge yourself. Now, I don't usually do things via command line, but with a little exposer, the only thing in the way is time.

To start things off, one of my  ubuntu systems was in the updating process. It finished with no errors, as usual. A day later, the system would not boot. All I got was the grub2> prompt. I figured there had to be something wrong with the file system. The /var/log was viewed and from the last line read, the "init" was missing. Assuming that all I had to do  was replace it, this did not sound easy. I did a little digging around and uncovered some information about installing the kernel. The instructions unfortunately were not easy to follow.

With little choice, it was decided to just do it. Before the installation of the kernel was initiated, there was one method I did not try, running fsck.

When the update was executing something was accidently misplaced. Which means, the file system needs to be restructured. I booted my PC by using a liveCD of my distro, mounted the partition of my OS and ran #sudo fsck /dev/sdx1. 

Once that finished, the system said that all was finished with not errors. I booted my system with my hard drive and all was well. 

In conclusion, when faced with a system failure, remember the last thing you did before it happened, ALWAYS. Then read the syslog in /var/log folder to get more details on what happened. Understanding what the log says, you can take the more appropriate route into repairing your system. NOTE: If the system says it is missing something, and you did not delete anything, simply, as your first step, run fsck on your partition. 

I will return with another howto.


Create a custom distro: Create your first image (USB)

I've just received two messages with the same question related to my previous article Create your first ISO image: "Is there a way to create an USB stick with it ?". Short answer is: "Yes, there's  script to do it" but if you're still reading you may want more information. Here's what you might do if you want to create a bootable USB stick from your virtual slax build machine.

I'm still referring to my previous article: "Create a custom distro: Create your first ISO image", path and directories are still the same

Take a look at the source !

The creation of a bootable USB stick is not a mess, it's quite simple, if you take a closer look to "" script located into the /boot directory you might understand what you can do with it but if you're lazy or you want to have more automation you may use the script listed below, I've created it for personal purposes but it's basically a wrapper of 

Let's keep the same virtual machine, same paths and locations, just place a script in the same dir where you've placed the script for creating the ISO image for CDs (/root/target/).

# This script builds an ISO file from the image created

echo "Mounting and formatting the USB Stick"
mkdir -p $MOUNTPOINT
umount $TARGET 2>/dev/null
mkfs.ext2 $TARGET -m 0
# Device not found or not mounted
if [[ $? -ne 0 ]]; then
echo -e "Generating `du -kLs image` size"
echo "Copying contents into the USB Stick..."
echo -e "Target disk size"
umount $TARGET
echo -e  "Installation Completed"

This script is very simple but just to be clear here's what it does:

  1. Create the mount point for your usb stick
  2. Format the usb stick (ext2 is sufficient but you may use something else)
  3. Mount your usb drive
  4. Copy the contents with your new image in it
  5. Add lilo to make it bootable

In my virtual environment /dev/sda is my primary virtual hard disk, take a look at previous article for path usage, /dev/sdb is what VMWare uses when I connect an USB stick to the virtual machine. Before running this script make some checks in your current system, as you can see it's a batch script to format and wipe sdb internal contents, so you've been warned !

If you're inside my virtual environment you don't need to worry about it script is smart enough to understand where it resides and it applies lilo in the MBR of the mounted drive.

There's a lot of space for improvements so if you modify it or automate the script a little bit more just drop me few notes or send me your version and I'll modify and republish it for the community

As usual feel free to contribute with your comments


Previous step:

Create a custom distro: Create your first ISO image (CD)

Next step:

Create a bare bone machine with minimal footprint and requirements

Page 17 of 132

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board