I am also playing with this idea and I have managed to get close to it. The main problem is that UBCD uses cdshell as the boot manager, which only supports ISO 9660 filesystems. But you cannot put such filesystem on a usb drive.
So, as an alternative I am using
SYSLINUX, MEMDISK and the advanced menu system of Murali Krishnan Ganapathy.
This is how it looks like for now:
The main problems that I am currently facing are:
- The menus have to be compiled. I have only managed to do this on Linux, not on Cygwin.
- The images seem to have to be placed in the root folder, so I'll end up with a root folder completely messed up...
Here is a summary of the steps to build the UBUSB (instead of UBCD)
1.- Download Syslinux from the link above and load Syslinux on the USB Drive. On Windows, just run (replacing i: with the actual letter of the usb drive)
2.- Copy memdisk to the root of the drive as well
3.- Create a syslinux.cfg file in the drive with the following content:
4.- Create the menu and compile it. This can be done by modifying simple.c in the menu subfolder of the sysconfig package, then renaming it to ubusb.c and typing "make".
5.- Put the appropriate images in the root of the usb drive as per the modified menu.
Step 4 is easier said than done, and it is where all the complexity is. As I said, I was not able to build it with cygwin and I had to use a Linux box...
Note that Syslinux provides two much simpler menu systems that can be used when there are not many images to load. The advantage is that they do not need to be compiled. The problem with those is that they do not allow submenus...
The first of the simpler menus is based on just using the syslinux.cfg
You just put something like
Code: Select all
PROMPT 1
TIMEOUT 0
DEFAULT 1
DISPLAY Menu.txt
LABEL 1
KERNEL memdisk
APPEND initrd=freedos.img
LABEL 2
KERNEL memdisk
APPEND initrd=cpuburn.igz
LABEL 3
KERNEL memdisk
APPEND initrd=discwiz.igz
and Menu.txt can contain something like:
Code: Select all
1.- Freedos
2.- CPU Burn-in
3.- Disc Wizard
Since it will be the menu that will be shown.
The second of the simple options is based on using the modules of the com32\modules subfolder. It provides a nicer menu, but it still lacks the possibility to have submenus...