Extracting Broadcom’s wireless firmware can be a messy process.

Essentially you have to download the firmware sources, install the b43-fwcutter package to extract the firmware from the source files, and run it.

This can be cleaned up a bit using docker:

mkdir b43;
cat <<-END | docker run -i -v `pwd`/b43:/b43 ubuntu /bin/bash
  apt-get install -y curl b43-fwcutter;
  curl http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2 | tar -jx;
  b43-fwcutter broadcom-wl-5.100.138/linux/wl_apsta.o;
END

All of the firmware files are placed neatly into your local b43 directory and no mess is left behind.

The trick is the -v `pwd`/b43:/b43 argument to docker. This mounts the local b43 directory at /b43 in the container. When b43-fwcutter runs on the container it extracts the .fw files into the shared b43 directory.