The GUI project - Downloads

I am no longer actively maintaining this project. So the downloads you see currently are all there will ever be. However, the menu related code is now part of SYSLINUX and I keep adding features when I get time to spare. If you have a linux kernel and ram disk image, you should be able to implement most of this project yourself, using the documentation here, what you can download off this page and SYSLINUX.

All downloads are under GPL. I am not responsible for anything that might happen as a result of you compiling/executing the code.

Documentation

For now, here are some notes of the talk I gave regarding this. This is not much. I hope to have a little more detailed documentation some time.

Download Autoboot code

You basically need the following files:

  1. writeker.c which creates the "stack"
  2. readker.c which reads the "stack" created and boots into the appropriate image. This must be compiled in COM32 format and is run by ISOLINUX. Look at comboot.doc which comes with ISOLINUX to read how to write/compile a program to run as COM32 code.
  3. autoboot.h used by writeker.c and readker.c which sets some parameters
  4. fwd.c which just pops one element of the stack created by writeker.c. This is a regular program and is used only for debugging purposes. The readker.c is (functionality wise) essentially fwd.c together with a call to COM32 API to boot the appropriate image.

TUI for GUI

A Text User Interface for GUI (i.e. a menusystem to help you choose which image to boot into). It is no longer available for download here. I am no longer maintaining the "OpenWatcom" version of the code, which used to be available here. The code is now available as part of the SYSLINUX project (look into the menu subdirectory).

If you are more of a sys-admin and do not want to write code, no problem. Along with the menu, there is also a python script which will generate the code for you, if you give it a configuration file. While in principle this code conversion can be at boot time by the 32-bit code, it takes more work and I have not got around to it.

If you want a version which generates DOS .COM files, then you need 3.07 or earlier versions. 3.08 and later version generate 32-bit code. It is easier to debug the older versions, but they have many limitations imposed by the .COM file format. Newer versions do not have any of these limitations, but you need some kind of a x86 emulator (like bochs) to debug your code. NOTE: You need GCC to compile the code (I have not tried with any other compiler).

This is much like the menu which comes with LILO or GRUB, except this runs under SYSLINUX (or its derivatives). But unlike LILO and GRUB's menu systems you can have submenu's of arbitrary depth and length. Moreover it supports

Other code

getargs.c: Get the boot time arguments passed to memdisk, parse them into "name=value" blocks and output a DOS script, which sets the environment variable "name" to the value "value". You need to redirect the output to a batch file and execute it. If you only want the DOS executable download getargs.com.

mkfloppyimage.sh: Create a non-standard floppy image. You need an existing 1.44/2.88MB bootable image. Just modify the first few lines of this script to choose the size of the larger image.

newmkfloppyimg.sh: A user friendly version of mkfloppyimg.sh written by Carsten.

fandr.py: A simple find and replace utility for binary files.

modcase.sh: A shell script which renames all the files in a given directory (recursively) to a specified case. Does not rename the main directory itself.



Murali krishnan GANAPATHY
Last modified: Thu Apr 22 15:22:44 CDT 2004