Table of Contents
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
toolbrctl
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.