鏡像下載、域名解析、時間同步請點擊 阿里巴巴開源鏡像站
一、Linux環境開發
1. 安裝docker
$ sudo apt-get install docker-ce
2. 獲取docker鏡像
$ docker pull registry.cn-hangzhou.aliyuncs.com/alios_things/rtos:latest
3. 啟動docker
為其命名alios-docker:
$ docker run -it --privileged --name alios-docker registry.cn-hangzhou.aliyuncs.com/alios_things/rtos /bin/bash
注意:
- 退出docker後,可用以下命令重新啟動已有docker:
$ docker container start -ia alios-docker
- 鏡像更新前,需要備份有用的代碼,重新獲取新鏡像並啟動
二、Mac環境開發
適用場景一:有linux經驗,代碼編輯與編譯均可在docker環境下進行
1. 下載mac環境下的docker工具包並安裝
打開https://docs.docker.com/toolbox/overview/#whats-in-the-box
安裝後打開Toolbox的DOCKER CLI, 實際上進入mac 的Terminal, 再繼續下面的操作
2. 獲取docker鏡像
$ docker pull registry.cn-hangzhou.aliyuncs.com/alios_things/rtos:latest
3. 啟動docker
為其命名alios-docker:
$ docker run -it --privileged --name alios-docker registry.cn-hangzhou.aliyuncs.com/alios_things/rtos bin/bash
4. 獲取代碼
- 組件化工具獲取:按需選擇適當組件獲取需要的代碼 本地zip文件,或 wget http鏈接(根據所選組件生成源碼下載的鏈接) 獲取
- github獲取:將獲取全量代碼
git clone https://github.com/alibaba/AliOS-Things.git -b <release_branch_name>
注意:
- 退出docker後,可用以下命令重新啟動已有docker:
$ docker container start -ia alios-docker
- 需要燒機時,配置docker USB設備,參考Windows下的USB設備配置,啟動docker命令中無需-v參數
適用場景二:代碼編輯和調試在mac,編譯和燒錄在docker下進行
與mac場景一比較,需要建立共享目錄,完成代碼在兩種環境中的共享。
1. 下載docker工具
2. 獲取docker鏡像
3. 獲取代碼
推薦組件化工具獲取,將zip包解壓到本機某個目錄下, 如 /Users/xxx/alios
4. 啟動docker
為其命名alios-docker,並指定本機與docker的目錄映射關係: 使用-v 參數 -v <本機代碼所在目錄名>:
$ docker run -it --privileged --name alios-docker -v /Users/xxx/alios:/workspace registry.cn-hangzhou.aliyuncs.com/alios_things/rtos bin/bash
至此,可以達到對/Users/xxx/alios中的代碼進行本地編輯和調試,而編譯時, 轉入docker中的/workspace下,執行
# aos2.1.0以及後續版本
aos make <app>@<board> -c config && aos make
# aos2.1.0之前版本
aos make <app>@<board>
注意: 需要燒機時,配置docker USB設備,參考Windows下的USB設備配置, 啟動docker命令中-v 參數稍有差別
三、Windows環境開發
適用於無專門代碼服務器或虛擬機, 習慣Windows本機開發
適用場景一:有linux經驗,可工作於linux虛擬機
1. 下載Windows環境下的docker工具包並安裝
打開https://docs.docker.com/toolbox/overview/#whats-in-the-box下載windows下的docker工具
Toolbox將默認安裝VirtualBox,之後打開Docker Quickstart Terminal進行下面的操作
2. 獲取docker 鏡像
$ docker pull registry.cn-hangzhou.aliyuncs.com/alios_things/rtos:latest
3. 啟動docker
$ docker run -it --privileged --name alios-docker registry.cn-hangzhou.aliyuncs.com/alios_things/rtos bash
4. 獲取代碼
- 組件化工具獲取:按需選擇適當組件獲取需要的代碼 本地zip文件,或 wget http鏈接(根據所選組件生成源碼下載的鏈接) 獲取
- github獲取:將獲取對應發佈分支的代碼 git clone https://github.com/alibaba/AliOS-Things.git -b
注意:
- 退出docker後,可用以下命令重新啟動已有docker:
$ docker container start -ia alios-docker
- 需要燒錄設備時, 參考Windows場景二中的USB設備配置,docker啟動時,無需-v參數
適用場景二:代碼編輯和調試在windows,編譯和燒錄在docker下進行
與場景一比較,需要建立共享目錄,完成代碼在兩種環境中的共享。
1. 下載docker工具
2. 獲取docker鏡像
3. 獲取代碼
推薦組件化工具獲取,將zip包解壓到本機某個目錄下, 如d:work
4. 啟動docker, 帶目錄共享能力
方式一:創建共享目錄的docker
執行如下腳本,按要求copy命令並執行後即可 set_share_folder.zip
例如:需要做 d:work與 docker中的/workspace的目錄共享,執行腳本後,命令如下:
1)腳本執行後,自動停在虛擬機終端:
$ sudo mkdir –parents /d/work
$ sudo mount –tvboxsf d/work /d/work/
$ exit
2)退出後回到windows命令行,啟動AliOS docker:
$ docker run -it --privileged --name alios-docker -v /d/work:/workspace/ registry.cn-hangzhou.aliyuncs.com/alios_things/rtos bash
這樣就啟動了一個AliOS Things的docker, 之後可以在docker環境裡進行編譯開發.
注意:Windows下取消共享目錄命令:
C:/Program Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder remove default --name d/work
方式二:利用samba服務的docker
1)創建存儲volume, 便於與docker下的目錄共享:
$ docker volume create --name aos-vol
2)啟動docker:為其命名alios-docker,並-v指定volume目錄映射到docker中的/workspace
$ docker run -it --privileged -p445:445 --name alios-docker -v aos-vol:/workspace/ registry.cn-hangzhou.aliyuncs.com/alios_things/rtos bash
3)安裝samba並配置, 此時已進入docker環境:
$ apt install samba
$ vim /etc/samba/smb.conf #在文件最後添加以下內容
[alios]
path = /workspace
public = yes
case sensitive = yes
map archive = no
only guest = yes
writable = yes
force user = aosuser
force group = aosuser
$ groupadd -g 1000 aosuser #添加分組,與上面指定的分組名保持一致
$ useradd -m -u 1000 -g 1000 aosuser #添加用戶,與上面指定的用戶名保持一致
4)啟動samba daemon:
$ /usr/sbin/smbd
5)獲取docker的虛擬IP: 回到Docker Quickstart Terminal裡查看ip
$ docker-machine ip
192.168.99.100
6)配置網絡連接:在windows下按win+R鍵,調出運行窗口,輸入ip
此時,在windows下可訪問docker裡的內容, 亦可隨意添加內容到docker目錄裡:
四、配置docker_usb設備
注:如果無燒錄需求, 可忽略此步驟
1)打開Docker Quickstart Terminal (Mac時,可直接使用mac terminal),停止缺省虛擬機:
$ docker-machine stop default
2)打開VirtualBox的管理界面,設置->usb設備->點選“啟用usb控制器”->添加usb設備->確認
3)重新運行缺省虛擬機:
$ docker-machine start default
或者打開一個新的Docker Quickstart Terminal
$ docker-machine ssh default
4)檢測usb設備:連線後使用下面命令進行檢測
$ dmesg | grep1 usb
........
[ 19.942282] usb 1-2: cp210x converter now attached to ttyUSB0
5)欲使用usb設備的功能,啟動docker時需添加新的啟動參數--privileged,而-v參數根據目錄共享需要添加:
$ docker run -it --privileged --name alios-things -v /d/work:/workspace/ registry.cn-hangzhou.aliyuncs.com/alios_things/rtos bash
6)編譯代碼,使用aos命令燒寫: 比如燒寫適配developerkit板子的helloworld應用的image:
$ aos upload helloworld@developerkit
.......
[INFO]: Firmware upload succeed!
“ 阿里巴巴開源鏡像站 提供全面,高效和穩定的鏡像下載服務。釘釘搜索 ' 21746399 ‘ 加入鏡像站官方用戶交流群。”