Introduction to umibuilder This documents umibuilder which is a good tool to make a memory disk or a Live CD based on Mandrake Linux for OpenBrick and other hardware. Overview umibuilder is an easy tool to prepare a memory disk or a Live CD based on Mandrake Linux for OpenBrick and other hardware, such as Sumicom barebone machines. Because it installs Mandrake Linux from the internet with security updates on the fly, it is very easy to keep your installation up-to-date and secure. umibuilder downloads the latest RPM packages from the internet, installing them into a local directory, removing unnecessary packages and files, customizing the installation, making OS images, formatting your memory disk, and making it bootable. These steps are all automatic, so all you need to do is wait for some minutes to finish. The idea behind umibuilder is to make it quite easy and fast to test new ideas of embedded appliances and share the knowledge base on the Internet. This is made possible by having a simple configuration file for each target in plain text format. For example, you can define a VPN (virtual private network) appliance target with umibuilder. For this target, you will simply have to create one simple text file which specifies what RPM packages to be installed, what files should be removed, which kernel to be used, and some shell commands to modify the contents dynamically as you wish. In addition, you can optionally have files which are merely copied, so you can add new files and overwrite existing files easily. This is very convenient when you want to replace configuration files statically without modifying official RPM packages. Also, you can add new hardware support into umibuilder. This is done only by a single text file again. For this, all you have to do is define kernel modules included in initrd and boot devices. Thus it is straightforward to support your own hardware and share the information with others using the umibuilder repository. You are encouraged to contribute to umibuilder. umibuilder is under the term of GNU General Public License (GPL), so we can develop and share knowledge on making good appliances using umibuilder in Open Source way. The CVS repository, which provides everyone the cutting-edge version of umibuilder, is open to all people who are interested in getting the latest version and adding new targets into umibuilder. We are looking forward to seeing your contribution to the CVS repository of umibuilder. Getting the latest version of umibuilder umibuilder is a part of "Umigumi" :http://umigumi.org/, which is Free Software to simplify the installation and the distribution of operating system installers. You can get Umigumi from "our CVS repository" :http://openbrick.org/cgi-bin/viewcvs.cgi/umigumi/ using your favorite web browser. Just click *Download tarball* and save it somewhere. Then, extract it on your Mandrake Linux machine:: $ tar zxf umigumi.tar.gz $ cd umigumi That's it! How to make a compact flash for OpenBrick 1. Insert a compact flash into your machine. 2. Modify config/common.py to adapt the device name to your environment, if necessary. 3. Run umibuilder like this as a superuser (root):: # ./umibuilder -ba vpn This example makes a VPN setup for OpenBrick. If you want to generate a TVBrick setup instead, you can do like this:: # ./umibuilder -ba tvbrick You can check all supported setup targets by running:: # ./umibuilder --help How to make an USB key for OpenBrick NG and Sumicom barebones This is quite similar to how to make a compact flash for OpenBrick in the above example. You need to only add one option to umibuilder:: # ./umibuilder -w openbrick-ng -ba vpn With the option *-w*, you can specify the hardware to be used. All supported hardware types can be listed by:: # ./umibuilder --help How to make a Live CD It is even possible to make a Live CD with umibuilder. All you need to do is add two options. One option is *-l*. This specifies a filename of a CD image. The other is *-d*, which specifies a device to be burned with the CD image. Here is an example:: # ./umibuilder -l vpn.iso -d 0,1,0 -ba vpn The argument of the option *-d* is used by the program *cdrecord*. More information on this argument should be consulted in the manual of cdrecord. How to extend umibuilder FIXME