====== Piotr JaroszyĆski: Usermode debugging under Linux ======
====== How to use Linux usermode ======
===== Building =====
$ make bin-x86_64-linux/gpxe.linux
===== Runing =====
$ ./bin-x86_64-linux/gpxe.linux --net tap,if=tap3,mac=52:54:00:12:34:56 --net tap,if=tap4,mac=52:54:00:12:34:57 # etc
===== Setting up tap =====
==== Prerequisites ====
* Linux config:
CONFIG_BRIDGE=y
CONFIG_TUN=y
* ''tunctl'' tool
* ''brctl'' tool
==== Setting up the bridge ====
Assuming ''eth0'' is the primary network interface used for networking.
* Disable current networking
* Add a bridge
# brctl addbr br0
* Add ''eth0'' to the bridge
# brctl addif br0 eth0
* Start networking on ''br0''
# dhclient br0
At this point networking should be working as normal.
==== Setting up the tap interfaces ====
* Create a tap device
# tunctl -u $USER -t tap1 # -u so that we don't need root to access the device
* Enable it
# ifconfig tap1 up
* Add it to the bridge
# brctl addif br0 tap1
At this point the tap1 interface should be usable in gPXE usermode. Multiple interfaces can be added like that.