Hypriot目前支持下面的硬件系統,能夠支持ARM64:git
推薦使用 https://github.com/hypriot/flash 進行安裝。github
下面是支持的設備運用的示意圖:docker
你能夠本地構建SD card image,使用 Vagrant。瀏覽器
該 repo 代碼倉庫構建HypriotOS的SD card image,能夠運行在Raspberry Pi 一、二、3以及Zero上。在GitHub releases頁面能夠找到預先構建好的SD card image。爲了構建SD card image,咱們須要:服務器
os-rootfs
。image-builder-raw
,帶兩個分區。rpi-kernel
。首先確認 vagrant 已經安裝。而後運行下面的命令建立Vagrant box,而後使用Vagrant Docker daemon。這個Vagrant box須要運行在guestfish inside。使用export VAGRANT_DEFAULT_PROVIDER=virtualbox
去建立VirtualBox VM。網絡
啓動 vagrant boxssh
vagrant up
輸出 docker hosttcp
export DOCKER_HOST=tcp://127.0.0.1:2375
檢查Docker是否在 vagrant 裏運行。ide
docker info | grep 'Operating System' Operating System: Ubuntu 16.04.3 LTS
構建 SD card image,輸出被寫入和壓縮到 hypriotos-rpi-dirty.img.zip
。工具
make sd-image
爲了測試SD card image,經過Serverspec 運行下面的命令。將擴展 SD card image在Docker container 中,而後運行 Serverspec tests ,對應於 builder/test/
目錄中。
make test
如今燒寫 SD card image到Raspberry Pi而後啓動。運行 Serverspec 總體性測試,在樹莓派中對應 builder/test-integration/
目錄。設置 BOARD
到運行的樹莓派的IP address 或者 host name。
flash hypriotos-rpi-dirty.img.zip BOARD=black-pearl.local make test-integration
該測試能夠在任何 Docker Machine工做, 所以你不須要建立 Vagrant box。
使用 flash --userdata myinit.yml hypriot.img 的方式能夠指定初始化文件,將使用cloud-init這個機制對系統進行初始化設置,詳情參見 https://github.com/hypriot/flash 裏的說明,使用很是方便。
Linux上,通常經過/etc/network/interfaces或者/etc/network/interface.d/*.*文件來指定。若是安裝了dhcpcd,則經過/etc/dhcpcd.conf文件來指定。
目前,Hypriot沒有使用dhcpcd,即時手動安裝,也不起做用(參考:https://github.com/hypriot/device-init/issues/6 ),所以只能使用指定interface文件的方法。以下所示,運行:
sudo nano /etc/network/interfaces
輸入下面的內容(IP地址等改成本身的):
# interfaces(5) file used by ifup(8) and ifdown(8) # Include files from /etc/network/interfaces.d: # source-directory /etc/network/interfaces.d allow-hotplug wlan0 iface eth0 inet static address 192.168.1.97 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 # Enable Wifi AP SSID wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf
或者將其保存爲文件 /etc/network/interface.d/wlan0,亦可。該文件啓動時將被interface所包含進去。
運行命令( sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ),輸入下面內容(把MySSID和MyPassword改爲本身的無線路由器設置):
ctrl_interface=/var/run/wpa_supplicant network={ ssid="MySSID" psk="MyPassword" priority=1 }
保存後,重啓network服務(sudo service network restart)便可。
$ docker volume create portainer_data $ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
獲取IP地址:ifconfig
遠程ssh登陸:ssh pirate@192.168.199.101,192.168.199.101爲ifconfig得到的IP地址。
而後到瀏覽器,輸入:http://192.168.199.101:9000或相似地址便可管理容器服務。
對本項目維護者,你能夠提交 SD card image 到GitHub releases 版本倉庫,按照下面的方式創建版本:
TAG=v0.0.1 make tag
打開 GitHub release,填寫相應的變化描述和解決問題的連接。
你能夠貢獻給該 repo,經過 forking而後發送回 pull requests. 歡迎任何反饋!