Miscalleneous information

Creating a bootfloppy

There are times when you might need a floppy to boot a system from. Here's a step-by-step example on creating a bootup floppy you can use to boot Linux from.

(NOTE: chos compiled for kernel 2.x doesn't seem to work with floppies under kernel 1.x and vice versa.)

Normal bootfloppy

This kind of bootfloppy is always good to have. With it you can boot your system after some program has modified your MBR. E.g. after having installed a new OS in your box. This kind of bootfloppy is required when setting up the rewrite feature.
  1. Create a configuration file. The files should be set up as follows:
      install=/dev/fd0
      bindir=path
      mapfile=path/chos.map
      bgfile=path/chos.background
    Path is any path but /boot is not a good choice since your normal system bootup files are kept there. /boot/bfloppy is fine. You can have the files on the floppy but that is not necessary unlike with standalone setup.
    Everything else in the file can be as in your normal hd configuration.
  2. Copy the binaries in path possibly creating the directory.
      (someone)~$ mkdir path
      (someone)~$ cp /boot/chos.loader* /boot/chos.bsect path
  3. Run chos
      (root)~$ chos -v -c the_config_file_I_created

Standalone/rescue bootfloppy

With this kinda bootfloppy you can boot any system since all necessary stuff to boot a system is on the floppy.
  1. The first step is, of course, to create a config file. The following config file lines will tell chos to search for it's binary files and save other files on first floppy drive.
      bindir=/floppy
      chos.map=/floppy/chos.map
      chos.background=/floppy/chos.background
      install=/dev/fd0
    Also setup a Linux kernel that exists on the floppy..
      linux "Linux" {
        image=/floppy/my_linux
        ...
      }
  2. Now that you have a config file, mount the damn floppy:
      (someone)/chos_path/$ mount /floppy
    and copy chos binaries and your kernel there:
      (someone)/chos_path/$ cp ./bin/* /floppy
      (someone)/chos_path/$ cp where_ever_my_kernel_is /floppy
  3. And finally run chos:
      (root)/chos_path/$ chos -v -c the_config_file_I_created
The above let's you boot the kernel of a floppy, but you still need to have a root filesystem on a hard or floppy disk or an NFS image. If you want to make a real 'rescue' floppy, there are the chances:

Background images

Choose-OS allows you to have your own ansi art (or any text) as background in the bootup menu.
The file to be used as background is defined with the background=type: filename directive. Type is either 'ascii' or 'dump'. Ascii is for normal ascii text file. Dump is for binary screendump files. The file doesn't have to be 80x25. Screendump files are in the format as they're in video memory: character first, then the attribute.

There are plenty of programs for creating ansi graphics. Most of them are for DOS :(. I used SHMANSi to make the sample files. For Linux there is a program named 'Linux ANSI Draw', but those DOS programs are still more featured...

TIP: If someone can draw a nice looking ansi penguin logo, please send it to me!.

Sample configurations

There are some sample configurations in the <CHOSPATH>/samples directory. Here's a short description of all the sample files.

You can view the .bin background files with utils/showscreen.
.asc files can simply be viewed with 'cat' (some of them might need codepage 437 be set, though (Type echo -e '\033(K' to set it and echo -e '\033(B' to switch back to Latin1).

Name/Screenshot Files Description
Traditional

chos.conf.example This creates a traditional (version 0.41 and earlier) looking configuration with no extra background image and stuff.
dump #1

chos.conf.dump
chos.bin
Uses a background image which with fat letters says 'Choose-OS'.
dump #2

chos08.conf
chos08.bin
Another one which uses a background image. Weird looking. (Hmm... It's actually modified shamansi exit screen... I hope no one minds)
ascii #1

chos.conf.ascii
chos.asc
  or
be.asc
Configuration that uses plain a ascii text file as background.

Recompiling

You might need to recompile Choose-OS if you need some feature that is not compiled in by default (for safety) or if you're still using an old 1.x kernel.
To do this,