Differences between revisions 59 and 60
Revision 59 as of 2013-10-21 21:28:09
Size: 5497
Editor: frv
Comment:
Revision 60 as of 2016-03-05 14:22:27
Size: 6059
Comment: Update for Jessie, mention my packer repository
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
Line 21: Line 22:
Line 34: Line 36:
Line 37: Line 40:
Line 54: Line 58:
Line 60: Line 65:

=== Setup using packer ===

The above manual steps have been implemented in a [[https://packer.io/|packer]] script available in a Git repository at [[https://debianstuff.dittberner.info/git/babelbox-packer.git]] by [[JanDittberner|Jan Dittberner]] (see [[https://debianstuff.dittberner.info/gitweb/?p=babelbox-packer.git|here]] for a repository browser).
Line 71: Line 80:
The !BabelBox tarball and these instructions have been updated to work with Squeeze. The !BabelBox Git repository and the instructions above are compatible with the Debian Jessie installer.

Instructions for using !BabelBox with Squeeze are available on [[http://wiki.debian.org/DebianInstaller/BabelBox?action=recall&rev=59|this older version of this page]].

BabelBox: automated DebianInstaller testing and demo machine

Principles

BabelBox is a system designed to demonstrate the automation capabilities of the Debian Installer. It also shows the high number and the quality of translations available for the installer. It is well suited for a live demo on a booth in an expo or any other event.

BabelBox runs a continuous series of fully automated installations in different languages, using both the text-based and graphical frontends of the installer. After each installation the demo system is booted into the newly installed system for a short time.

BabelBox is based on the hd-media installation method and can be run off a single machine, even without networking.

For this setup using a single "clean" hard disk is recommended. A setup using two hard disks is also possible but will need some modifications in the preseed file and scripts.

The original BabelBox setup (see DebianInstaller/BabelBoxOrig) was based on the netboot installation method and requires a separate server besides the actual demo machine.

Setting up the demo machine

The demo machine will be set up for two multi-boot systems:

  • a basic Debian installation that controls the demo and contains all files needed to run the demo;
  • the second system will be deleted and overwritten for each demo installation.

Installing the controlling system

Perform a basic installation using your preferred installation method. When you get to partitioning, create an ext3 Linux partition on /dev/sda1 (about 1.5 to 4GB depending on which media you want to use as installation media) and a Linux swap partition on /dev/sda2. Continue the installation after that, installing a standard system including grub2.

After you booted into this system, call fdisk again, and add an Extended partition /dev/sda3 (about 2.5 to 3GB should be fine). Add the remaining free disc space to a primary partition /dev/sda4. This partition must exist and be at least one cylinder big.

You should now have something like the following:

   Device Boot   Start      End      Blocks   Id  System
/dev/sda1   *        1      486     3903763+  83  Linux
/dev/sda2          487      548      498015   82  Linux swap / Solaris
/dev/sda3          549      899     2819629    5  Extended
/dev/sda4          900     4998    32925217+  83  Linux

The idea here is to create a first partition to hold the controlling system and to leave the third (extended) partition free for the demo system. The fourth primary partition is just to fill up the hard disk so that formatting for the demo system will not take unnecessary long. The fourth primary partition must be defined, even if it is only one sector in size.

Setting up the controlling system to run BabelBox

Everything needed to run the demo will be placed in /srv on the controlling system.

  • Make sure you are in /srv and that you have write access

  • Download the hd-media images (vmlinuz and initrd.gz) for the graphical installer

  • Download a full CD image or a full DVD image

  • Get the babelbox scripts from git using:

    #  git clone git://anonscm.debian.org/d-i/babelbox.git

Please take some time to look over the contents of the files in the /srv/babelbox directory that should now have been created.

Note that the default setup assumes your hard disk is /dev/sda. If this is not the case, you will have to do a search and replace before you continue.

Next, add two extra menu items at the end of the grub menu for booting BabelBox:

# cd babelbox
# cat babelbox-grub >> /etc/grub.d/40_custom
# update-grub

Note that the scripts assume that the BabelBox options will be the 3rd and 4th options in the grub boot menu. You may want to reduce the timeout after you've completed setting up things.

After that there's a few more things that need to be done.

  • Check the contents of the langlist file. You may want to add or remove languages. The language that has an "x" in the 3rd column will be the one used to set up the next installation; after things have been set up for that language the "x" is moved to the next language.

  • Set the correct kernel line in /boot/grub/grub.cfg and language name to be displayed during the demo by running ./cronscript script in the /srv/babelbox directory.

Setup using packer

The above manual steps have been implemented in a packer script available in a Git repository at https://debianstuff.dittberner.info/git/babelbox-packer.git by Jan Dittberner (see here for a repository browser).

Development

The development of babelbox resides in a git repository

Errata

  • Not all font files that are needed for some languages are included on the first full CD. This means that GNOME can show missing glyphs when the installed system is booted.

Disclaimer

As part of a BabelBox run, the third partition of the first detected disk will be deleted unconditionally. You have been warned!

The BabelBox Git repository and the instructions above are compatible with the Debian Jessie installer.

Instructions for using BabelBox with Squeeze are available on this older version of this page.

Instructions for using BabelBox with Etch are available on this older version of this page.


For questions about BabelBox, contact the debian-boot mailing list.

Frans Pop worked on this system.