I just bought the Raspberry Pi 3 from Amazon.com CanaKit Raspberry Pi 3 Complete Starter Kit – 32 GB Edition. It seems the Amazon One Day delivery never worked for me, last time my order with one day delivery got cancelled, and this time better it took two days :).
I don’t want to use the default Raspbian OS and instead CentOS 7 is preferred, which is the version I’m using for daily work. The installation is pretty straight forward with help from Google. Basically you need find the correct disk id, download the image, unzip it and copy it the USB MicroSD with your Mac. There is one MicroSD reader included in above Kit.
$ diskutil list
/dev/disk0 (internal, physical):
....
/dev/disk1 (internal, virtual):
....
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *31.4 GB disk2
1: Windows_FAT_16 RECOVERY 1.2 GB disk2s1
2: Linux 33.6 MB disk2s5
$ wget http://buildlogs.centos.org/centos/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1602-RaspberryPi3.img.xz
$ unxz CentOS-Userland-7-armv7hl-Minimal-1602-RaspberryPi3.img.xz
$ diskutil unmountDisk /dev/disk<#diskid>
$ sudo dd bs=1m if=CentOS-Userland-7-armv7hl-Minimal-1602-RaspberryPi3.img of=/dev/disk<#diskid>
The copy of dd will take a few minutes.
Now insert the SD card to the RespberryPi 3 and boot, then use root/centos to login.
After login we will immediately find that wireless doesn’t work, actually wlan0 device is not recognized by OS.
[root@centos-rpi3 ~]# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
In order to setup the wireless connection, we have to connect to wire connection first and make sure we have internet access. If you want, you can ssh root@<ip> to the Raspberry Pi from you Mac, with the ip address by run ifconfig from the Raspberry Pi.
Now we need first make sure the time is correct by setting up the ntp service, otherwise download later will fail with error complaining certificate error.
# yum install -y ntp
# systemctl enable ntpd
# systemctl start ntpd
Verify the date is correct now:
[root@centos-rpi3 ~]# date
Fri Jun 17 04:20:43 UTC 2016
Then we need download updated firmware from github, update it, then reboot.
# yum -y install git
# git clone https://github.com/RPi-Distro/firmware-nonfree.git
# mv /lib/firmware/brcm{,.org}
# cp -R firmware-nonfree/brcm80211/brcm /lib/firmware/brcm
# curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update
# chmod +x /usr/bin/rpi-update
# rpi-update
# reboot
After reboot finished, the wlan0 interface will be available.
[root@centos-rpi3 ~]# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
wlan0 wifi disconnected --
lo loopback unmanaged --
Now find the SSID of your wifi connection point, and connect to it.
[root@centos-rpi3 ~]# nmcli d wifi
* SSID MODE CHAN RATE SIGNAL BARS SECURITY
kobuk Infra 5 54 Mbit/s 60 ▂▄▆_ WPA2
-- Infra 1 54 Mbit/s 20 ▂___ WPA1 WPA2
.....
[root@centos-rpi3 ~]# nmcli d wifi connect <your_uuid> password <your_pwd>
[root@centos-rpi3 ~]# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
wlan0 wifi connected <your_uuid>
lo loopback unmanaged --
Now confirm the wifi connection state and with the ip address we can remove the wire network connection.
root@centos-rpi3 ~]# nmcli d show wlan0
GENERAL.DEVICE: wlan0
GENERAL.TYPE: wifi
GENERAL.HWADDR: B8:27:EB:6F:DF:97
GENERAL.MTU: 0
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ....
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2
IP4.ADDRESS[1]: 192.168.1.56/24
IP4.GATEWAY: 192.168.1.1
IP4.DNS[1]: 192.168.1.1
IP4.DOMAIN[1]: hsd1.wa.comcast.net
IP6.ADDRESS[1]: ....
IP6.GATEWAY: