Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Initial boot into 12.04 on newworld ppc mac. b43 driver is missing. To run the live CD I booted with b43.blacklist=yes install went fine. Now I am stuck at boot. I want to boot regular Linux (as it's installed, not the live CD), just without loading load b43. I don't know how to tell it to do that.

Is it something like boot Linux b43.blacklist=yes? linux b43...? How should I do this?

share|improve this question

1 Answer 1

You can either make the boot loader give the b43.blacklist=yes option to the kernel automatically, or you can add the b43 module to the blacklist file.

Booting b43.blacklist=yes Every Time

All boot options are set the same way, so you can follow these instructions but with b43.blacklist=yes instead of nomodeset. Or you may prefer this excellent guide. (Or this.)

To summarize, here's an essentially identical way to what's given in those sources:

  1. Hold down Shift while booting. When the GRUB menu comes up, press e to temporarily edit the first entry. Add b43.blacklist=yes to the end of the line that begins with linux, then press Ctrl+X to boot.

  2. Once booted and logged in, open a Terminal window (Ctrl+Alt+T) and run these commands to back up and edit your boot loader configuration:

    sudo cp /etc/default/grub /etc/default/grub.old
    gksu gedit /etc/default/grub
    
  3. In the text editor that opens up, find the line that says:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    Change it so it says:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash b43.blacklist=yes"
    

    Save the file and quit the text editor.

  4. Back in the Terminal, run sudo update-grub. Once that's done, reboot to verify it's working.

If you ever need to undo the change, you can run gedit /etc/default/grub and remove b43.blacklist=yes from that line, or you can restore the backup (overwriting the new file) with sudo cp /etc/default/grub.old /etc/default/grub. Either way, you must run sudo update-grub again to apply the changes.

Adding the b43 Module to the Blacklist File

Custom boot options are not the only way to prevent kernel modules form loading. Another way is to add them to the blacklist file. Usually, this file does not exist initially, and you must create it.

A complete, general procedure is here. But you can follow this shorter procedure:

  1. Boot using Step 1 above (under Booting b43.blacklist=yes Every Time).

  2. Open a Terminal window (Ctrl+Alt+T) and run:

    echo blacklist b43 | sudo tee -a /etc/modprobe.d/blacklist-b43.conf
    
  3. Reboot to verify it works.

If at some point you want to undo this, you can run sudo rm /etc/modprobe.d/blacklist-b43.conf. (Then to load the b43 module, you'd reboot, or run sudo modprobe b43. You're unlikely to want to do that though, since as you said you don't have the b43 module at all.)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.