Customizing WebConverger

I’ve spent the last few days looking for a simple browser-on-cd solution and have found the following options totally unsuitable

  • Koppix/Ubuntu – much more than a browser
  • Damn Small Linux – looks like the 90’s
  • ChromeOS – slow in VMWare
  • Just Browsing – Almost a winner but it had more toolbars and plugins than I cared for.

So more googling finally left me with WebConverger, which is fast and simple except for the nagware and demands for money. The ISO is not easy to hack, the whole file system is a git pack file. Thanks. So this will get you from nothing to something you can hack on. I did everything logged in as root.

Stage 1 – Create the build machine

  1. Create a Debian 7 VM. Probably starting from a whole CD and installing the GUI is a good idea. I used netinst.
  2. apt-get install –install-suggests live-build
  3. apt-get install genisoimage
  4. apt-get install git

Note: Step 2 will take ages.

Stage 2 – Get WebConverger Source

So with that done, we can setup the WebConverger source

  1. cd /usr/src
  2. git clone git://github.com/Webconverger/Debian-Live-config.git
  3. cd Debian-Live-config/webconverger/
  4. git clone –depth 1 https://github.com/Webconverger/webc.git chroot

Stage 3 – Customize it

From here you could just type ‘make’ and get an ISO. Obviously that’s pointless. There are two exciting directories here:

  • binary/boot – contains the boot menu default options that get passed into the initrd
  • chroot – As you can imagine, the root file system for the live OS (remember the git pack file?).

So the boot directory is pretty straight forward, go in there with your favorite text editor and have at it. What’s left is the chroot directory, and we’re about to use it to strip out some proprietary FireFox addons

  1. cd chroot
  2. cd etc/webc/extensions
  3. rm -rf webconverger
  4. cd ../..
  5. git -am commit “Removed proprietary FireFox Extension”

And that’s it. Notice how we had to commit our changes in the chroot directory? The make process will fail if we don’t.

Stage 4 – Build it

Surprisingly, WebConverger comes with a magic Makefile that just does all the good stuff for you. So all you need to do is:

  1. cd /usr/src/Debian-Live-config/webconverger/
  2. make

And that’s it. After a minute or so you’ll have a file called binary.hybrid.iso and that’s your bootable, modified, WebConverger.

Appendix A

Some other stuff is in chroot/home/webc. The .xinitrc file here calls webc.sh which takes care of firing the browser. There is also a lot of other good stuff in chroot/etc/webc

Feedback and other hacks welcome.

Advertisements

About robertlabrie
DevOps Engineer at The Network Inc in metro Atlanta. Too many interests to list here, check out my posts, or look me up on LinkedIn

2 Responses to Customizing WebConverger

  1. Guano says:

    Thnaks a lot !! Very helpful I’m trying this.

  2. I like the helpful information you provide on
    your articles. I will bookmark your blog and take a look at again here frequently.
    I’m slightly sure I’ll learn many new stuff right right here!
    Best of luck for the following!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: