# beaglebone black wireless開發板系統移植
## 移植和啟動
1. [TI官方Linux系统移植WiKi](https://www.digikey.com/eewiki/display/linuxonarm/BeagleBone+Black)
Kernal使用 am33x-v4.19 (Longterm 4.19.x)
3. [BeagleBone Black学习(一)—— 移植和启动](https://blog.csdn.net/G_SCOPE/article/details/83379234?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control)
## 開發板手動設定wifi
```
ubuntu@arm:~$ sudo connmanctl
[sudo] password for ubuntu:
Error getting VPN connections: The name net.connman.vpn was not provided by any
connmanctl> enable wifi
Error wifi: Already enabled
connmanctl> scan wifi
Scan completed for wifi
connmanctl> services
WIFIEB6EC7 wifi_38d269d11b40_57494649454236454337_managed_psk
Divya 213 2.4G wifi_38d269d11b40_44697679612032313320322e3447_managed_psk
Beatles wifi_38d269d11b40_426561746c6573_managed_psk
DIRECT-cR[TV]Time killer wifi_38d269d11b40_4449524543542d63525b54565d54696d65206b696c6c6572_managed_psk
MySpectrumWiFi30-2G wifi_38d269d11b40_4d79537065637472756d5769466933302d3247_managed_psk
ATTipFFrCI wifi_38d269d11b40_41545469704646724349_managed_psk
connmanctl> agent on
Agent registered
// Connect to your Wi-Fi hotspot
connmanctl> connect wifi_38d269d11b40_44697679612032313320322e3447_managed_psk
Passphrase? xxxxxxxx
connected wifi_38d269d11b40_44697679612032313320322e3447_managed_psk
connmanctl> quit
// Find out IP address of BeagleBone Black Wireless
ubuntu@arm:~$ ifconfig
wlan0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500
inet *192.168.1.16* netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::3ad2:69ff:fed1:1b40 prefixlen 64 scopeid 0x20<link>
ether 38:d2:69:d1:1b:40 txqueuelen 1000 (Ethernet)
RX packets 38 bytes 4684 (4.6 KB)
RX errors 0 dropped 6 overruns 0 frame 0
TX packets 56 bytes 8886 (8.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
// Ping Google to confirm connection
ubuntu@arm:~$ ping www.google.com
PING www.google.com (216.58.219.4) 56(84) bytes of data.
64 bytes from lax17s03-in-f4.1e100.net (216.58.219.4): icmp_seq=1 ttl=53 time=26.5 ms
64 bytes from lax17s03-in-f4.1e100.net (216.58.219.4): icmp_seq=2 ttl=53 time=37.2 ms
64 bytes from lax17s03-in-f4.1e100.net (216.58.219.4): icmp_seq=3 ttl=53 time=25.2 ms
--- www.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 25.218/29.658/37.205/5.365 ms
```
重新開機會自動連接到wifi
## beaglebone開發板調試開發(僅供參考)
為了方便beaglebone開發板調試,採用NAT的網路設定,將window電腦作為VMware與beagelbone網路收發的中間者,再透過NFS掛載,beaglebone開發版可以直接與VMware裡的資料夾同步
**但這個前提是windows電腦需與beaglebone開發板在同一網域下**
### 設定windows防火牆,開啟所需Port
請參考 https://home.gamer.com.tw/creationDetail.php?sn=3249988
1. 分別設定TCP Port=111,2049,9999

2. 分別設定UDP Port=111,2049,9999

### 掛載nfs系統
開發板上輸入以下指令
```
sudo apt-get update
sudo apt-get install nfs-kernel-server nfs-common
```
開發板連上wifi與外往互通(ping www.google.com 成功)
`sudo mount -t nfs -o nolock,vers=3,port=2049,mountport=9999 192.168.0.118:/home/book/nfs_rootfs /mnt`
上面設定的IP為windows IP
或是接上USB線與電腦透過usb互通(只要開發板與windows互相pin成功即代表互通)
`sudo mount -t nfs -o nolock,vers=3,port=2049,mountport=9999 192.168.7.1:/home/book/nfs_rootfs /mnt`
### 設定編譯工具鏈
```
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/book/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
```