Two x86 machines are
required for using KGDB. One of the machines runs a kernel to be
debugged. The other machine runs gdb. The machine that runs the kernel
to be debugged is called the Test machine while the machine that runs
gdb is called the Development machine.
A single development machine can be used with several test machines.
The architecture of development and test machine can be different. But
the architecture of test machine and the architecture of the kernel
being debugged should match. The development machine will run a copy
of GDB per test machine. The development machine should have at least
128MB RAM so that loading debugging info into gdb does not result into
too much of swap space usage.
A serial line is required between the development and the test
machine. For the serial line to be established, machines need one
serial port each. A null modem cable is required to connect serial
ports of the machines.
Recent versions of KGDB work over ethernet also. If KGDB is run over
ethernet, a serial line is not required.
If debugging of modules is needed, the two machines should be connected
through a network. The network connection is required by rcp and rsh
commands used by module debugging utilities. KGDB itself does not need
a network connection. It always needs a serial line only. It's also
convenient to have the machines connected through a network for looking
into the test machine. The documentation on this site assumes presence
of a network.