# General URVE Pi # Home Assistant ## Installation steps on SD Card Currently it is possible to install home assistant on sd card due to the size of home assistant. Boot version should be from *2023.02.22*. You can check boot date with command `uname -v`. 1. Format SD Card and create new partition ```bash # format SD card (mmcblk1) sudo su sgdisk --zap-all /dev/mmcblk1 parted -s /dev/mmcblk1 mklabel gpt parted -a opt -s /dev/mmcblk1 mkpart primary ext4 0% 100% mkfs.ext4 -F /dev/mmcblk1 ``` 2. Mount created partition to /mnt/sd. Also create link between /mnt/sd and /var/lib/docker. In this case every docker container will be on sd card ```bash # mount SD card to docker folder mkdir -p /mnt/sd mount /dev/mmcblk1 /mnt/sd mkdir -p /mnt/sd/docker mkdir -p /var/lib/docker mount --bind /mnt/sd/docker /var/lib/docker ``` 3. Add partitions to /etc/fstab for automounting ```bash echo "/dev/mmcblk1 /mnt/sd ext4 defaults 0 0" | sudo tee -a /etc/fstab echo "/mnt/sd/docker /var/lib/docker none defaults,bind 0 0" | sudo tee -a /etc/fstab ``` 4. Install Home Assistant dependencies ```bash # Install requirements apt install apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus lsb-release systemd-journal-remote -y curl -fsSL get.docker.com | sh sync ``` 5. Install *os-agent*. You can find newest version of os-agent here: https://github.com/home-assistant/os-agent/releases/latest ```bash sudo wget https://github.com/home-assistant/os-agent/releases/download/1.5.1/os-agent_1.5.1_linux_aarch64.deb sudo chmod 777 os-agent_1.5.1_linux_aarch64.deb sudo apt install ./os-agent_1.5.1_linux_aarch64.deb -y sudo rm -f ./os-agent_1.5.1_linux_aarch64.deb ``` 6. Install home assistant supervisor. After first installation it will show error made by ipv6 support enabled. When asked about version select `qemuarm-64` ``` # Install home assistant supervisor sudo wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb sudo chmod 777 homeassistant-supervised.deb sudo apt install ./homeassistant-supervised.deb -y echo "{\"log-driver\": \"journald\",\"storage-driver\": \"overlay2\",\"ip6tables\": false,\"experimental\": true,\"log-opts\": {\"tag\": \"{{.Name}}\" }}" > /etc/docker/daemon.json sudo systemctl start docker.socket sudo systemctl start docker.service sudo apt install ./homeassistant-supervised.deb -y sync ``` [![](https://faq.urveboard.com/uploads/images/gallery/2023-03/scaled-1680-/fCCEzeUG9kQMkDzM-image-1679316390538.png)](https://faq.urveboard.com/uploads/images/gallery/2023-03/fCCEzeUG9kQMkDzM-image-1679316390538.png)7. Check if installation is completed with command mentioned below. Home Assistant creates 7 containers. Depending on your internet connection you have to wait at least few minutes. ```bash docker ps -a ``` [![](https://faq.urveboard.com/uploads/images/gallery/2023-03/scaled-1680-/OxjEiSUyZFrFQUrA-image-1679316735991.png)](https://faq.urveboard.com/uploads/images/gallery/2023-03/OxjEiSUyZFrFQUrA-image-1679316735991.png)8. After all these steps you can access Home Assistant page on default port 8123 [![](https://faq.urveboard.com/uploads/images/gallery/2023-03/scaled-1680-/dj92qEWqC0Bo7GOj-image-1679317177839.png)](https://faq.urveboard.com/uploads/images/gallery/2023-03/dj92qEWqC0Bo7GOj-image-1679317177839.png) # I would like to create SSH connection with newly purchased URVE board PI. What is the root password for the initial connection Default credentials: Login: linaro Password: linaro # Please let me know how to flash the OS without having access to windows. You can use the flashing library on Linux: [https://github.com/rockchip-linux/rkdeveloptool](https://github.com/rockchip-linux/rkdeveloptool). # Do we have instruction to flash Android to URVE Pi? The installation procedure for Android is the same as for Linux. More details in our user manual here: https://urveboard.com/pi/files. # Booting from SD card #### 1. Download OS image Go to [urveboard.com](https://urveboard.com/pi/files) and download *OS Image (Debian 11)*. Extract content of the archive. Open SD\_Firmware\_Tool.exe from SDDiskTool\_v1.73 directory. #### 2. Create bootable SD card After opening the app select device and select *SD Boot* checkbox. If you keep default value *Upgrade Firmware*, this SD card will be in upgrade mode (it will upgrade existing system). Then select update.img located in *Image* directory and click *Create*. [![](https://faq.urveboard.com/uploads/images/gallery/2023-06/scaled-1680-/wc7pbG8wYj4RYdte-image-1687265023875.png)](https://faq.urveboard.com/uploads/images/gallery/2023-06/wc7pbG8wYj4RYdte-image-1687265023875.png) If any error occurs for example *Writing Loader failed!*, you should ignore that error and click *Create* again. After few minutes you should see *Creating upgrade disk ok.* [![](https://faq.urveboard.com/uploads/images/gallery/2023-06/scaled-1680-/0eNVPlusGhQpLPAH-image-1687265456512.png)](https://faq.urveboard.com/uploads/images/gallery/2023-06/0eNVPlusGhQpLPAH-image-1687265456512.png) #### 3. Clear internal memory Enter terminal of the device. Either via SSH connection or with debug UART ([Connecting to URVEPi Debug UART](https://faq.urveboard.com/books/general/page/connecting-to-urvepi-debug-uart)). Use command below to clear partition table of internal memory. ```bash dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=1 && sync ``` **WARNING** this command is irreversible and will delete internal memory data. #### 4. Verify You can check if it works by using command `lsblk`. You should see root partition (/) mounted from *mmcblk1p6*.