Piotr Jaroszyński: Usermode debugging under Linux

How to use Linux usermode


$ make bin-x86_64-linux/gpxe.linux


$ ./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


  • Linux config:
  • 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.

QR Code
QR Code soc:2010:peper:notes:usermode_howto (generated for current page)