https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&user=Auyer&feedformat=atomAlpine Linux - User contributions [en]2024-03-28T11:33:32ZUser contributionsMediaWiki 1.40.0https://wiki.alpinelinux.org/w/index.php?title=Classic_install_or_sys_mode_on_Raspberry_Pi&diff=16052Classic install or sys mode on Raspberry Pi2019-07-09T13:50:50Z<p>Auyer: fixed typo</p>
<hr />
<div>A howto for classic installation, or "sys mode".<br />
<br />
This method works with a desktop PC under Ubuntu and other Linuxes.<br />
<br />
= Preparation =<br />
<br />
Download the archive from the '''Rasperry Pi armhf''' link [https://alpinelinux.org/downloads/ here].<br />
'''Sha256''' and '''GPG''' links appear next to the link to check the download.<br />
<br />
On a class 10 sd-card with a size of 8Go or more, create two partitions:-<br />
* First in '''fat16''' with size of 256Mo. You may have to check <code>boot</code> and <code>lba</code> flags<br />
* Second in '''ext4''' with the remaining place<br />
<br />
Eject and insert your SD card in order to recognize all the partitions.<br />
<br />
Now go into the first partition ('''fat16''').<br />
<br />
Untar the archive with {{pkg|tar}}:<br />
tar zxvf ~/Download/alpine-rpi-*-armhf.tar.gz<br />
<br />
Due to a bug, it is recommended to add a file named <code>usercfg.txt</code> into the partition. The file should contain the following single line:<br />
<br />
enable_uart=1<br />
<br />
Eject the SD card properly, insert it into the Raspberry Pi, plug a usb keyboard in plus the HDMI and network cables, and power on.<br />
<br />
When a prompt displays, connect as root without a password.<br />
<br />
Summary: Add OSX diskutil instructions for creating FAT16 partition on microSD<br />
<br />
== OSX Preparation: creating a FAT16 partition on microSD ==<br />
<br />
To create a FAT16 partition with OSX, use the diskutil program and a USB microSD card reader (I used an older version of this: https://www.bestbuy.com/site/insignia-usb-3-0-memory-card-reader/5787406.p?skuId=5787406).<br />
<br />
Put the microSD card in reader, the reader in a USB port, and type <code>ls -1 /Volumes</code> in a terminal. Note the name of the microSD volume; for example, VOL1 in the output below:<br />
$ ls -1 /Volumes<br />
Macintosh HD<br />
Preboot<br />
VOL1<br />
$<br />
<br />
Unmount the reader, unplug it and re-run <code>ls -1 /Volumes</code>. Verify the microSD volume name is no longer listed and then re-insert the USB reader.<br />
<br />
Find the mount point of your microSD volume; for example, disk3 in the output below:<br />
$ diskutil list VOL1<br />
/dev/disk3 (external, physical):<br />
#: TYPE NAME SIZE IDENTIFIER<br />
0: FDisk_partition_scheme *31.4 GB disk3<br />
1: DOS_FAT_16 VOL1 256.0 MB disk3s1<br />
2: Linux 30.0 GB disk3s2<br />
3: Linux_Swap 1.2 GB disk3s3<br />
$<br />
<br />
(For help on diskutil command, type <code>diskutil</code> to list all command verbs. For help on a specific verb, add the verb; for example, <code>diskutil partitionDisk</code>)<br />
<br />
Destroy all the existing partitions on the microSD card and create two new ones: <br />
# a 256MB, FAT16, DOS-compatible partition and <br />
# a free space gap for the rest of the card<br />
<br />
$ diskutil partitionDisk disk3 MBR "MS-DOS FAT16" VOL1 256MB "Free Space" VOL2 R<br />
Started partitioning on disk3<br />
Unmounting disk<br />
Creating the partition map<br />
Waiting for partitions to activate<br />
Formatting disk3s1 as MS-DOS (FAT16) with name VOL1<br />
512 bytes per physical sector<br />
/dev/rdisk3s1: 499472 sectors in 62434 FAT16 clusters (4096 bytes/cluster)<br />
bps=512 spc=8 res=1 nft=2 rde=512 mid=0xf8 spf=244 spt=32 hds=32 hid=2 drv=0x80 bsec=500000<br />
Mounting disk<br />
Finished partitioning on disk3<br />
/dev/disk3 (external, physical):<br />
#: TYPE NAME SIZE IDENTIFIER<br />
0: FDisk_partition_scheme *31.4 GB disk3<br />
1: DOS_FAT_16 VOL1 256.0 MB disk3s1<br />
$ <br />
<br />
Change your current working directory to the new FAT16 partition and then pickup with the untar instruction in the parent prep section.<br />
<br />
$ cd /Volumes/VOL1/<br />
<br />
= Installation =<br />
<br />
Execute the following commands. Make sure there is an internet connection available otherwise setting up the apk mirrors will fail.<br />
<br />
setup-alpine <br />
<br />
Set the mapping keyboard, the timezone, how to connect to the network ('''dhcp''' is the best method), say '''none''' at <code>save config</code> and <code>save cache</code>.<br />
<br />
apk update<br />
<br />
If the extra space in the sd card was left empty, a partition must be created now:<br />
<br />
apk add cfdisk # or the tool of your choice<br />
cfdisk /dev/mmcblk0 # create the new partition with the free space<br />
mkfs.ext4 /dev/mmcblk0p2 # create the ext4 filesystem in the new partition<br />
<br />
Raspberry Pi has no battery for his hardware clock, so synchronize with an ntp server:<br />
<br />
apk add chrony <br />
service chronyd restart<br />
apk add e2fsprogs<br />
mount /dev/mmcblk0p2 /mnt # The second partition, in ext4 format, where Alpine Linux is installing in sys mode<br />
setup-disk -m sys /mnt<br />
mount -o remount,rw /media/mmcblk0p1 # An update in the first partition is required for the next reboot.<br />
<br />
Clean up the boot folder in the first partition to drop unused files:<br />
<br />
rm -f /media/mmcblk0p1/boot/* <br />
cd /mnt # We are in the second partition <br />
rm boot/boot # Drop the unused symbolink link<br />
<br />
Move the image and <code>init ram</code> for Alpine Linux into the right place:<br />
<br />
mv boot/* /media/mmcblk0p1/boot/ <br />
rm -Rf boot<br />
mkdir media/mmcblk0p1 # It's the mount point for the first partition on the next reboot<br />
<br />
Don't worry about the error with the following:<br />
<br />
ln -s media/mmcblk0p1/boot boot<br />
<br />
Update <code>/etc/fstab</code>:<br />
<br />
echo "/dev/mmcblk0p1 /media/mmcblk0p1 vfat defaults 0 0" >> etc/fstab<br />
sed -i '/cdrom/d' etc/fstab # Of course, you don't have any cdrom or floppy on the Raspberry Pi<br />
sed -i '/floppy/d' etc/fstab<br />
cd /media/mmcblk0p1<br />
<br />
If you want to active edge repository<br />
sed -i '/edge/s/^#//' etc/apk/repositories # But enable the repository for community if you want vim, mc, php, apache, nginx, etc.<br />
<br />
For the next boot, indicate that the root filesystem is on the second partition. If the cmdline.txt file<br />
contains a line that starts with <code>/root</code>, then use sed:<br />
<br />
sed -i 's/^/root=\/dev\/mmcblk0p2 /' /media/mmcblk0p1/cmdline.txt <br />
reboot<br />
<br />
That works on '''Raspberry Pi 3B''' and '''1B''', but if you have the '''1B''' version, let's be very, very patient (several tens of minutes).<br />
<br />
If a hard disk is connected via '''usb''', you can replace the <code>/dev/mmcblk0p2</code> above with <code>/dev/sda1</code>, for example.<br />
<br />
If you don't like the '''sed''' above and its expressions, you can use a nano editor instead after executing the following command:<br />
<br />
apk add nano<br />
<br />
= Post-installation =<br />
<br />
The '''Raspberry Pi (RPI)''' has no battery to keep the time updated. Therefore, we need to enable the right service to synchronize with an ntp server:<br />
<br />
rc-update del hwclock boot<br />
rc-update add swclock boot<br />
service hwclock stop<br />
service swclock start<br />
<br />
Update and upgrade the system:<br />
<br />
apk update<br />
apk upgrade<br />
<br />
If you want a cool editor ({{Pkg|vim}}), a file manager ({{Pkg|mc}}), and to determine which tasks are running and which services are starting on boot ({{Pkg|htop}}), add the right packages:<br />
<br />
apk add vim mc htop<br />
htop<br />
rc-update<br />
<br />
The '''RPI 3B''' has wifi on board for networking, so start the service for the encrypted key on wpa2 protocol:<br />
<br />
apk add wpa_supplicant<br />
rc-update add wpa_supplicant boot<br />
service wpa_supplicant start<br />
setup-interfaces <br />
Replace the IP address by dhcp for all the interfaces if necessary; select the SSID network for wifi; and add password.<br />
ip addr # to know the IP address for all interfaces<br />
<br />
If you want to connect on your remote RPI via <code>ssh</code>, an additional user (''foo'') and the {{Pkg|sudo}} package are required because it's forbidden to connect as root:<br />
<br />
apk add sudo<br />
adduser foo<br />
adduser foo wheel<br />
visudo <br />
<br />
Uncomment line #82 with <code>wheel ALL=(ALL) ALL</code>. If {{Pkg|vim}} is installed, save the changes by typing '''Esc :x'''<br />
<br />
<br />
= See also =<br />
<br />
* [[Raspberry Pi]]<br />
* [[Raspberry Pi 3 - Setting Up Bluetooth]]<br />
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]<br />
* [[Linux Router with VPN on a Raspberry Pi]]<br />
<br />
[[Category:Installation]]</div>Auyerhttps://wiki.alpinelinux.org/w/index.php?title=Classic_install_or_sys_mode_on_Raspberry_Pi&diff=16051Classic install or sys mode on Raspberry Pi2019-07-09T13:50:02Z<p>Auyer: Guide on creating the partition /dev/mmcblk0p2 on the raspberry pi</p>
<hr />
<div>A howto for classic installation, or "sys mode".<br />
<br />
This method works with a desktop PC under Ubuntu and other Linuxes.<br />
<br />
= Preparation =<br />
<br />
Download the archive from the '''Rasperry Pi armhf''' link [https://alpinelinux.org/downloads/ here].<br />
'''Sha256''' and '''GPG''' links appear next to the link to check the download.<br />
<br />
On a class 10 sd-card with a size of 8Go or more, create two partitions:-<br />
* First in '''fat16''' with size of 256Mo. You may have to check <code>boot</code> and <code>lba</code> flags<br />
* Second in '''ext4''' with the remaining place<br />
<br />
Eject and insert your SD card in order to recognize all the partitions.<br />
<br />
Now go into the first partition ('''fat16''').<br />
<br />
Untar the archive with {{pkg|tar}}:<br />
tar zxvf ~/Download/alpine-rpi-*-armhf.tar.gz<br />
<br />
Due to a bug, it is recommended to add a file named <code>usercfg.txt</code> into the partition. The file should contain the following single line:<br />
<br />
enable_uart=1<br />
<br />
Eject the SD card properly, insert it into the Raspberry Pi, plug a usb keyboard in plus the HDMI and network cables, and power on.<br />
<br />
When a prompt displays, connect as root without a password.<br />
<br />
Summary: Add OSX diskutil instructions for creating FAT16 partition on microSD<br />
<br />
== OSX Preparation: creating a FAT16 partition on microSD ==<br />
<br />
To create a FAT16 partition with OSX, use the diskutil program and a USB microSD card reader (I used an older version of this: https://www.bestbuy.com/site/insignia-usb-3-0-memory-card-reader/5787406.p?skuId=5787406).<br />
<br />
Put the microSD card in reader, the reader in a USB port, and type <code>ls -1 /Volumes</code> in a terminal. Note the name of the microSD volume; for example, VOL1 in the output below:<br />
$ ls -1 /Volumes<br />
Macintosh HD<br />
Preboot<br />
VOL1<br />
$<br />
<br />
Unmount the reader, unplug it and re-run <code>ls -1 /Volumes</code>. Verify the microSD volume name is no longer listed and then re-insert the USB reader.<br />
<br />
Find the mount point of your microSD volume; for example, disk3 in the output below:<br />
$ diskutil list VOL1<br />
/dev/disk3 (external, physical):<br />
#: TYPE NAME SIZE IDENTIFIER<br />
0: FDisk_partition_scheme *31.4 GB disk3<br />
1: DOS_FAT_16 VOL1 256.0 MB disk3s1<br />
2: Linux 30.0 GB disk3s2<br />
3: Linux_Swap 1.2 GB disk3s3<br />
$<br />
<br />
(For help on diskutil command, type <code>diskutil</code> to list all command verbs. For help on a specific verb, add the verb; for example, <code>diskutil partitionDisk</code>)<br />
<br />
Destroy all the existing partitions on the microSD card and create two new ones: <br />
# a 256MB, FAT16, DOS-compatible partition and <br />
# a free space gap for the rest of the card<br />
<br />
$ diskutil partitionDisk disk3 MBR "MS-DOS FAT16" VOL1 256MB "Free Space" VOL2 R<br />
Started partitioning on disk3<br />
Unmounting disk<br />
Creating the partition map<br />
Waiting for partitions to activate<br />
Formatting disk3s1 as MS-DOS (FAT16) with name VOL1<br />
512 bytes per physical sector<br />
/dev/rdisk3s1: 499472 sectors in 62434 FAT16 clusters (4096 bytes/cluster)<br />
bps=512 spc=8 res=1 nft=2 rde=512 mid=0xf8 spf=244 spt=32 hds=32 hid=2 drv=0x80 bsec=500000<br />
Mounting disk<br />
Finished partitioning on disk3<br />
/dev/disk3 (external, physical):<br />
#: TYPE NAME SIZE IDENTIFIER<br />
0: FDisk_partition_scheme *31.4 GB disk3<br />
1: DOS_FAT_16 VOL1 256.0 MB disk3s1<br />
$ <br />
<br />
Change your current working directory to the new FAT16 partition and then pickup with the untar instruction in the parent prep section.<br />
<br />
$ cd /Volumes/VOL1/<br />
<br />
= Installation =<br />
<br />
Execute the following commands. Make sure there is an internet connection available otherwise setting up the apk mirrors will fail.<br />
<br />
setup-alpine <br />
<br />
Set the mapping keyboard, the timezone, how to connect to the network ('''dhcp''' is the best method), say '''none''' at <code>save config</code> and <code>save cache</code>.<br />
<br />
apk update<br />
<br />
If the extra space was in the sd card left empty, a partition must be created now:<br />
<br />
apk add cfdisk # or the tool of your choice<br />
cfdisk /dev/mmcblk0 # create the new partition with the free space<br />
mkfs.ext4 /dev/mmcblk0p2 # create the ext4 filesystem in the new partition<br />
<br />
Raspberry Pi has no battery for his hardware clock, so synchronize with an ntp server:<br />
<br />
apk add chrony <br />
service chronyd restart<br />
apk add e2fsprogs<br />
mount /dev/mmcblk0p2 /mnt # The second partition, in ext4 format, where Alpine Linux is installing in sys mode<br />
setup-disk -m sys /mnt<br />
mount -o remount,rw /media/mmcblk0p1 # An update in the first partition is required for the next reboot.<br />
<br />
Clean up the boot folder in the first partition to drop unused files:<br />
<br />
rm -f /media/mmcblk0p1/boot/* <br />
cd /mnt # We are in the second partition <br />
rm boot/boot # Drop the unused symbolink link<br />
<br />
Move the image and <code>init ram</code> for Alpine Linux into the right place:<br />
<br />
mv boot/* /media/mmcblk0p1/boot/ <br />
rm -Rf boot<br />
mkdir media/mmcblk0p1 # It's the mount point for the first partition on the next reboot<br />
<br />
Don't worry about the error with the following:<br />
<br />
ln -s media/mmcblk0p1/boot boot<br />
<br />
Update <code>/etc/fstab</code>:<br />
<br />
echo "/dev/mmcblk0p1 /media/mmcblk0p1 vfat defaults 0 0" >> etc/fstab<br />
sed -i '/cdrom/d' etc/fstab # Of course, you don't have any cdrom or floppy on the Raspberry Pi<br />
sed -i '/floppy/d' etc/fstab<br />
cd /media/mmcblk0p1<br />
<br />
If you want to active edge repository<br />
sed -i '/edge/s/^#//' etc/apk/repositories # But enable the repository for community if you want vim, mc, php, apache, nginx, etc.<br />
<br />
For the next boot, indicate that the root filesystem is on the second partition. If the cmdline.txt file<br />
contains a line that starts with <code>/root</code>, then use sed:<br />
<br />
sed -i 's/^/root=\/dev\/mmcblk0p2 /' /media/mmcblk0p1/cmdline.txt <br />
reboot<br />
<br />
That works on '''Raspberry Pi 3B''' and '''1B''', but if you have the '''1B''' version, let's be very, very patient (several tens of minutes).<br />
<br />
If a hard disk is connected via '''usb''', you can replace the <code>/dev/mmcblk0p2</code> above with <code>/dev/sda1</code>, for example.<br />
<br />
If you don't like the '''sed''' above and its expressions, you can use a nano editor instead after executing the following command:<br />
<br />
apk add nano<br />
<br />
= Post-installation =<br />
<br />
The '''Raspberry Pi (RPI)''' has no battery to keep the time updated. Therefore, we need to enable the right service to synchronize with an ntp server:<br />
<br />
rc-update del hwclock boot<br />
rc-update add swclock boot<br />
service hwclock stop<br />
service swclock start<br />
<br />
Update and upgrade the system:<br />
<br />
apk update<br />
apk upgrade<br />
<br />
If you want a cool editor ({{Pkg|vim}}), a file manager ({{Pkg|mc}}), and to determine which tasks are running and which services are starting on boot ({{Pkg|htop}}), add the right packages:<br />
<br />
apk add vim mc htop<br />
htop<br />
rc-update<br />
<br />
The '''RPI 3B''' has wifi on board for networking, so start the service for the encrypted key on wpa2 protocol:<br />
<br />
apk add wpa_supplicant<br />
rc-update add wpa_supplicant boot<br />
service wpa_supplicant start<br />
setup-interfaces <br />
Replace the IP address by dhcp for all the interfaces if necessary; select the SSID network for wifi; and add password.<br />
ip addr # to know the IP address for all interfaces<br />
<br />
If you want to connect on your remote RPI via <code>ssh</code>, an additional user (''foo'') and the {{Pkg|sudo}} package are required because it's forbidden to connect as root:<br />
<br />
apk add sudo<br />
adduser foo<br />
adduser foo wheel<br />
visudo <br />
<br />
Uncomment line #82 with <code>wheel ALL=(ALL) ALL</code>. If {{Pkg|vim}} is installed, save the changes by typing '''Esc :x'''<br />
<br />
<br />
= See also =<br />
<br />
* [[Raspberry Pi]]<br />
* [[Raspberry Pi 3 - Setting Up Bluetooth]]<br />
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]<br />
* [[Linux Router with VPN on a Raspberry Pi]]<br />
<br />
[[Category:Installation]]</div>Auyerhttps://wiki.alpinelinux.org/w/index.php?title=Wi-Fi&diff=16050Wi-Fi2019-07-08T22:23:25Z<p>Auyer: addgroup is the correct group tool used in alpine</p>
<hr />
<div>This document describes how to set up a wireless network connection with WPA encryption.<br />
<br />
== Install necessary drivers and software ==<br />
<br />
First make sure your wireless drivers are loaded properly. (if you are using a '''Broadcom chipset''', see the [[#Broadcom_Wi-Fi_Chipset_Users|section at the bottom of this post]].)<br />
<br />
Install {{Pkg|wireless-tools}} and {{Pkg|wpa_supplicant}}.<br />
{{Cmd|apk add wireless-tools wpa_supplicant}}<br />
<br />
== Manual Configuration ==<br />
<br />
List your available network interfaces. If you don't see any wireless interfaces (e.g. {{Path|wlan0}}), you probably need to load and/or install extra drivers/firmware.<br />
{{Cmd|ip link}}<br />
<br />
Bring the desired interface up.<br />
{{Cmd|ip link set wlan0 up}}<br />
<br />
{{Note|If this errors with <code>ioctl 0x8914 failed: No error information</code>, that's <code>busybox ip</code>'s way of saying your wireless radio is rfkill'd. See [https://wiki.archlinux.org/index.php/Wireless_network_configuration#Rfkill_caveat here] for information on how to unblock your wireless radio; the base installation should have <code>busybox rfkill</code> available.}}<br />
<br />
Use the interface to scan for wireless access points. Make sure the ESSID you want to connect to appears here.<br />
{{Cmd|iwlist wlan0 scanning}}<br />
<br />
Associate the interface with desired ESSID.<br />
{{Cmd|iwconfig wlan0 essid ExampleWifi}}<br />
<br />
Sanity check: the interface should be configured with {{Path|ESSID:"ExampleWifi"}}.<br />
{{Cmd|iwconfig wlan0}}<br />
<br />
Create a wpa_supplicant configuration stanza for the wireless access point.<br />
{{Cmd|wpa_passphrase 'ExampleWifi' 'ExampleWifiPassword' > /etc/wpa_supplicant/wpa_supplicant.conf}}<br />
<br />
Start wpa_supplicant in the foreground to make sure the connection succeeds.<br />
{{Cmd|wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf}}<br />
<br />
If all is well, run it as a daemon in the background by setting the {{Path|-B}} option.<br />
{{Cmd|wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf}}<br />
<br />
Configure the interface with an IP address.<br />
{{Cmd|udhcpc -i wlan0}}<br />
<br />
Sanity check: the interface should have an {{Path|inet}} address.<br />
{{Cmd|ip addr show wlan0}}<br />
<br />
== Automatic Configuration on System Boot ==<br />
<br />
Add a stanza for the desired interface (e.g. {{Path|wlan0}}) to {{Path|/etc/network/interfaces}}:<br />
<br />
<pre><br />
auto wlan0<br />
iface wlan0 inet dhcp<br />
</pre><br />
<br />
Make sure {{Path|/etc/wpa_supplicant/wpa_supplicant.conf}} is the correct configuration for the wireless access point you want to connect to.<br />
<br />
Bring the interface down.<br />
<br />
{{Cmd|ifconfig wlan0 down}}<br />
<br />
Manually start wpa_supplicant.<br />
<br />
{{Cmd|/etc/init.d/wpa_supplicant start}}<br />
<br />
If all is well (confirm with the sanity checks in [[#Manual_Configuration|Manual Configuration]]), configure wpa_supplicant to start automatically on boot.<br />
<br />
{{Cmd|rc-update add wpa_supplicant boot}}<br />
<br />
<br />
=== Launching udhcpc through wpa_cli actions ===<br />
<br />
With the above configuration, udhcpc will only run once at boot.<br />
If the Wifi isn't available then, or the network changes in between, it needs to be notified.<br />
This is done through the wpa_cli action script in /etc/wpa_supplicant/wpa_cli.sh<br />
<br />
{{Cmd|rc-update add wpa_cli boot}}<br />
<br />
== Broadcom Wi-Fi Chipset Users ==<br />
<br />
The Broadcom chipset is quite popular among older computers. You will need to compile the firmware manually for this chipset as it is not included. <br />
<br />
You can check if you have a Broadcom chipset by using dmesg:<br />
<br />
{{Cmd|dmesg {{!}} grep Broadcom}}<br />
<br />
First install the SDK an Git:<br />
{{Cmd|apk add alpine-sdk git}}<br />
<br />
Then git clone aports from git.alpinelinux.org.<br />
<br />
<br />
{{Cmd|git clone git://git.alpinelinux.org/aports}}<br />
<br />
Change your directory to '''aports/non-free/b43-firmware''', then build it.<br />
<br />
{{Tip|You can't be root and must be a user of the group abuild (use groupadd f.e. '''addgroup $(whoami) abuild''')}}<br />
{{Tip|If this is your first time building a package you will need to generate a key for use in signing packages (use '''abuild-keygen -a -i''')}}<br />
<br />
{{Cmd|abuild -r}}<br />
<br />
Install the generated packge file (it will be in ~/packages/) - make sure to pass '''--allow-untrusted'''<br />
<br />
{{Cmd|apk add --allow-untrusted ~/packages/...pkg}}<br />
<br />
Now we need fwcutter, which is executed from the firmware package:<br />
<br />
{{Cmd|apk add b43-fwcutter b43-firmware}}<br />
<br />
Now you need to use modprobe so the device will show up:<br />
<br />
{{Cmd|modprobe b43}}<br />
<br />
To automate this on startup add it to /etc/modules:<br />
<br />
{{Cmd|echo b43 >> /etc/modules}}<br />
<br />
Now continue with the normal instructions. <br />
<br />
[[Category:Networking]]</div>Auyer