Linux – How to Build a Custom Distribution for Running a Simple Web Browser

distribution-choicelinuxsystem-installation

We are assembling some lightweight machines with the express purpose of displaying a single web page over a large screen. I need the machine to essentially boot up as lightweight and as quickly as possible and essentially have it run a browser (WebKit?) in full screen, loading one page which will be controlled dynamically by JavaScript. I'll be using an Intel D525 dual-core processor with integrated GPU, so I shouldn't need to set up any proprietary graphics drivers. Once I get one of these machines set up properly, I should just be able to dd the hard drive onto my computer and then dump it onto each new machine.

I have the following questions:

  1. How can I create a "distribution" which includes only what I need? I suppose I'll need the kernel (;]), X, and a web browser of some sort, but not really too much else. Could I take something like Ubuntu Server and simply install X Server and find a way to have the machine automatically log in, start X, and start the web browser, no questions asked? Is there a book I can read or an article or something?

  2. What can I use for a nice, stripped-down web browser that essentially runs a "chromeless Chromium?" These machines won't be accepting user input at all. If I need to manage them, I'll use SSH.

Best Answer

Many distributions have some facility for a minimal install; essentially where you manually select only those packages that you explicitly wish to install. Debian has this ability and would be a better choice, in your situation, than the other obvious minimal contender, Arch Linux.

Arch's rolling release status may provide a level of ongoing complexity that you wish to eschew. Debian would provide the simple, minimal base you are looking for plus offer stability. There is a blog post on using Debian as a kiosk that may offer some helpful tips.

For a browser, as beav_35 suggests, Uzbl is a good choice. My recommendation would be Vimprobable, a WebKit browser that is scriptable, keyboard driven and can be controlled effectively over SSH.

As a window manager, I would recommend dwm: at less than 2000 SLOC, it is extremely lightweight and can be easily configured for a kiosk-type setup.

Related Question