There are several planned ways to run NILO. but currently only two methods are supported. These are booting from a floppy disk, and running as a task under Linux. Both have GDB support for debugging.
When booting from a floppy, a menu is presented. This menu lets the user select the console, which can either be the monitor, or a serial port. Only 9600 and 115200 baud is supported.
To use the GDB support, select the appropriate menu item. On another computer, start gdb running with the proper NILO image. Once you see the initial boot screen on the monitor, it'll appear to hang. At this point, the GDB stub is sending a packet to the host, trying to connect. Once this process has started, the target will sit in a breakpoint at main(),waiting for the host to connect. Now GDB can be started, and connected to the target via the target remote. Once connected, you can execute any of the normal GDB commands. The nilo-grub image should be used as the executable because this is one that matches the booted NILO.
Example 1-2. Starting GDB
shell prompt> gdb nilo-grub gdb> target remote /dev/ttyS0 gdb> |
There is also a Linux hosted version of NILO as well. This doesn't load the image, but it is useful for testing and debugging the protocols. This can be debugged with a normal GDB. If you have problems building this version from source, make sure you configured your installation of OSKit with --enable-unixexamples. This is required to build the additional files needed to run NILO hosted on Linux.