Installation/AMD64/BCM4360

Notes for AOSC OS Installation on Devices with BCM4360-based Wireless Cards

Uh-oh. You've reached where excessive manual intervention is required. Most linux does not support BCM4360 out-of-the-box, which means you will not be able to access internet once you entered linux environment if Broadcom's (notoriously) restricted copyrighted drivers. But to compile the driver, you need network access in the first place.

The easy way: bootstrap state of mind

Find another handy wireless card

If you have an USB wireless card, try it. Another good idea is to connect your Android Phone to a wifi network and enable USB tethering.

Installation

If you managed to obtain internet access in this way, proceed to regular installation guide. Go for the hard way otherwise.

After AOSC OS installation is correctly working on your computer (except for the builtin wireless card), get ready to deploy buildkit and build broadcom driver for system.

The hard way: everything before hand

Before starting regular installation guide. Please download the following beforehand to a handy USB drive:

Tarballs

  1. the system tarball of your choice
  2. the buildkit tarball
  3. a tar.gz snapshot of cth451's tree

Follow regular installation guide with the system tarball that you've just downloaded.

After AOSC OS installation is correctly working on your computer (except for the builtin wireless card)...

Dependency packages for offline compilation

Use your old OS (which has internet access), search in Software repository for the following packages. The package is stored in the folder named after the starting characters of package name and is a file named <package name>_<version number>_amd64.deb. For example to download gcc, look in folder g and download gcc_6.3.0-0_amd64.deb.

This wiki might not reflect actual file name on the repository, since the version number will change as the software is updated from time to time. BE SURE TO DOWNLOAD THE LATEST ONE.

  1. dkms
  2. gcc
  3. binutils
  4. mpc
  5. isl
  6. mpfr

After obtaining these packages, copy them on to a disk drive. Get ready to deploy buildkit, manually install required packages and build broadcom driver.

Deploy buildkit

Refers to AOSC Cadet training on how to setup buildkit on your local environment. Skip all the steps that require network access.

Install dependencies

Copy all the packages you've downloaded to the drive to both your home directory in system and a folder inside buildkit environment.

All commands here in this section should be run twice, once in buildkit environment, once in actual system.

Say, if you copied the packages into /path/to/packages, execute the command as root below:

cd /path/to/packages
dpkg -i *.deb

Build driver for system

Say if you stored buildkit in /path/to/buildkit and extracted the snapshot of cth451's acbs tree to /path/to/buildkit/path/to/cth451-tree, proceed as root.

Enter buildkit as said in AOSC Cadet training.

Edit /etc/acbs/forest.conf, append the following lines:

[btta]
location = /path/to/cth451-tree

Then execute acbs-build -t btta broadcom-wl, expect an error on fail to load module. Exit buildkit, you will find built driver in /path/to/buildkit/os-amd64/os3-dpkg/b/, use dpkg -i /path/to/buildkit/os-amd64/os3-dpkg/b/*.deb in actual system as root.

Reboot your computer, wireless card should be working now.

Troubleshooting

When installing completed driver package my system says broken dependencies.

Check if you installed the dependency packages you downloaded is installed outside buildkit environment.

When building the driver package my system says broken dependencies.

Check if you installed the dependency packages you downloaded is installed inside buildkit environment.

Other problems?

It is a convoluted wiki page, as is convoluted as the broadcom driver itself. Please feel free to reach us at channel #aosc on freenode or make an issue under cth451's abbs tree about broadcom drivers.