Previous | INDEX | Next |
How I broke the BBC | Upgrading Debian wheezy to jessie |
Always keen to have a Linux-bootable USB stick around for emergencies, I recently created such a thing with GRML, based on the latest stable version (November, 2014).
To create the USB stick, I used grml2usb, which simplfies the creation of the image when driven from an existing Linux installation. I tested the GRML installation on an old Dell Latitude E6500 I had lying around. grml2usb allows you to specify boot options when creating the bootable image, so I initially used the following:
--bootoptions="persistence keyboard=uk"
The persistence options allows the storing of files on the USB stick, which (surprise) persist across boots. A file system partition with the label "persistence" identifies which file system is used for this purpose. In this partition, I placed the file persistence.conf, with the following contents:
/ union
This causes all changes to be saved in the persistence partition.
The laptop booted OK, but there were a couple of annoyances that I had to fix.
This was fixed by adding the boot option --bootoptions="nobeep".
This was nearly as annoying as the loud beep. The Dell uses a Broadcom B43 chip for wireless networking. The hardware was detected by GRML, but wasn't working:
[17.277906] b43-phy0: Broadcom 4312 WLAN found (core revision 15) [17.308236] b43-phy0: Found PHY: Analog 6, Type 5 (LP), Revision 1 [17.308253] b43-phy0 warning: 5 GHz band is unsupported on this PHY [17.320413] Broadcom 43xx driver loaded [ Features: PMNLS ] [17.321497] b43 ssb0:0: Direct firmware load failed with error -2 [17.321499] b43 ssb0:0: Falling back to user helper
Followed by:
[17.908736] b43 ssb0:0: Direct firmware load failed with error -2 [17.908738] b43 ssb0:0: Falling back to user helper [17.911148] b43 ssb0:0: Direct firmware load failed with error -2 [17.911151] b43 ssb0:0: Falling back to user helper [17.912882] b43 ssb0:0: Direct firmware load failed with error -2 [17.912885] b43 ssb0:0: Falling back to user helper [17.913258] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" request failed (err=-12) [17.913260] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" request failed (err=-12) [17.913262] b43-phy0 ERROR: You must go to http://wireless.kernel.org\ /en/users/Drivers/\ b43#devicefirmware and download the correct firmware for this driverversion. Please carefully read all instructions on this website.
After poking around on the website cited above, it did appear that incorrect firmware was to blame. The wireless.kernel.org website leads to the Linux Wireless site. I used the manual method of installing the firmware, as I needed to ensure the install process could be run without network access. This meant getting the firmware blob and the debian .deb file for b43-fwcutter.
wget http://www.lwfinger.com/b43-firmware/\ broadcom-wl-5.100.138.tar.bz2 apt-get download b43-fwcutter
After manually downloading the necessary files, I came up with (well, stole from the Linux wireless site) the following script to enable wireless networking after booting:
#!/bin/bash # # Run as root to install Broadcom wireless firmware and connect to hydrus # RUN_DIR=/home/grml export FIRMWARE_INSTALL_DIR=\ "/lib/firmware" cd "$RUN_DIR" dpkg -i downloads/b43-fwcutter_1:019-1_amd64.deb b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" \ broadcom-wl-5.100.138/linux/wl_apsta.o modprobe -r b43 modprobe b43 dmesg|tail iwconfig wlan0 essid hydrus key <redacted> dhclient wlan0
Previous | INDEX | Next |
How I broke the BBC | Upgrading Debian wheezy to jessie |