産業用Raspberry Piから製品デプロイに向けた乗り換え先の最適解！VIAの誇るメインストリーム向けエッジAIシングルボードコンピュータ「VAB-5000」にDebianをセットアップする

# Raspberry Piよりも手厚いサポートを受けられるシングルボードコンピュータ「VIA VAB-5000」を活かして、自社で開発した産業用Raspberry Piで培ったIPを安心して世の中に発信しよう

Raspberry Piと互換性のある40pinヘッダを備え、OSにはRaspberry Pi OSのベースとなっている"Debian"を採用、さらにはSoCにAI向けのアクセラレータ **「MDLA」** まで搭載している、至れり尽くせりな産業用のエッジAI向けシングルボードコンピュータが **VIA Technologies社の誇る「VAB-5000」** です。Raspberry Piでプロダクトを開発してきましたが「コミュニティベースのサポートよりも手厚いBtoBのサポートを受けたい！」と考えていたところ、この度、ご縁がありましてVAB-5000を無事購入することができました!!

https://item.rakuten.co.jp/halloc/vab-5000/

産業用のデバイスを扱うのは私も久し振りなため、とてもワクワクしています。 **なかなか"産業用"と謳われるデバイスの開発情報はQiitaに上がってこないものですが、今回は折角の機会なので、VAB-5000上でのアプリケーション開発手順などを紹介できればと考えています。**

<font color="blue">**※開発情報を開示できないもの(NDAの締結が必要な情報)は都度その旨を明記します。**</font>
<font color="blue">**※本記事はシリーズものにする予定です(不定期更新)、お楽しみに！**</font>

https://www.viatech.com/ja/edge-ja/vab-5000/

![VIA VAB-5000 board all_front.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/d0f23ea0-7579-4de6-b7d4-6db1ae779d4d.jpeg)

# VAB-5000 x Debian OS をセットアップする

今回は、第1回ということでVAB-5000にOSをインストールする手順を解説します。製品ページの下部にある **「Debian 12 EVK クイックスタートガイド」** に従って作業します。

https://www.viatech.com/ja/edge-ja/vab-5000/

## 必要な機材（ターゲット）

開発には以下の機材が必要になります。ターゲットのストレージは、16GBのeMMCストレージがボード上に搭載されていますので、別途micro-SDカードなどを用意する必要がありません。 <font color="green">**Raspberry Piの場合、メインストレージとなるmicro-SDカードの接触不良が原因で実フィールドにてシステムがエラーを吐くいてしまう問題を度々耳にしますので、こうしたオンボードのストレージは嬉しいですね。**</font>

- **開発用PC(Ubuntu22.04)** ... ホストPC本体
- **VIA Technologies社 VAB-5000** ... ターゲット本体
- **micro-USBケーブル** ... ホストとターゲットを接続するためのケーブル
- **4Kモニタ、HDMIケーブル、キーボード(US配列)、マウス** ... 操作用のUI
- **LANケーブル** ... ターゲットをネットワークへ接続するために利用

![DSC01554.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/2c5261ee-8ff9-4eff-889b-d87a3055da55.jpeg)

## ホストPC上に開発環境を準備をする

まず、 **OSのインストールや開発に便利なツールなどのインストールを行い、** VAB-5000の開発ツールをインストールするための土台を組み上げていきます。

- Core i7-6700 (4cores, 8threads)
- RAM 32GB
- On-Board Graphics (CPU)
- Ubuntu 22.04 LTS
  - Yocto Linux等、併設する他の開発環境も考慮しました

### Ubuntu 22.04 LTSをインストールする <font color="blue">**(ホストPC)**</font>

まず、ホストPCに「Ubuntu22.04 LTS」をインストールします。以下のインストーラーを利用し、インストールしました。今回はGPUを搭載せず、マザーボード上のオンボードのHDMIポートを利用しました。

https://releases.ubuntu.com/jammy/

![ubuntu2204](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3919880%2F0b35301c-d7fd-4b4f-fdd8-d955714ce393.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=455a0326e98c3c5154ae2e5530e4c1ca)

### 最低限必要な前準備を行う <font color="blue">**(ホストPC)**</font>

日本語設定でインストールすると、ホームディレクトリ以下に日本語名のディレクトリが作成されてしまい、何かと不都合が生じるため **`xdg-user-dirs-gtk-update` を使ってディレクトリを英語名に変更します。** また、以降の手順にて sudo を利用することが多いため、 sudo 実行時にパスワードを求められないよう **`/etc/sudoers` に `shino ALL=(ALL:ALL) NOPASSWD:ALL` の設定を追記し、パスワード無しでsudoできるようにしました。** 設定した後、OSを再起動します。

```bash
### ホームディレクトリへ移動
$ cd ~

### ホームディレクトリ名から日本語を除外する
$ LANG=C xdg-user-dirs-gtk-update

### ユーザーからsudoをパスワード無しで実行できるようにする
$ sudo vi /etc/sudoers
# -->> 以下の行を追加する(ユーザー名がshinoの場合)
# shino   ALL=(ALL:ALL) NOPASSWD:ALL

### 再起動する
$ sudo reboot
```

### Ubuntuのパッケージをすべて更新する <font color="blue">**(ホストPC)**</font>

続いて、Ubuntuのパッケージを最新の状態へと更新します。

```bash
# リポジトリにアクセス
$ sudo apt update

# 更新可能なパッケージをすべてアップグレード
$ sudo apt upgrade

# 再起動
$ sudo reboot
```

# VAB-5000の開発環境を準備する <font color="blue">**(ホストPC)**</font>

VAB-5000は、Android、Yocto Project、Debianと様々なOSに対応しています。今回は、VAB-5000がシングルボードコンピュータでRaspberry Piに対抗した製品であること、そしてRaspberry Pi OSがDebian由来のOSであることを踏まえて **同種の「Debian」をOSとして選択しました。** 公式サイトの「Debian 12 EVK クイックスタートガイド」を参考にインストール作業を行います。

https://cdn.viaembedded.com/products/docs/vab-5000/debian_evk/VIA_VAB-5000_Debian_12_EVK_Quick_Start_Guide_v1.00_241202.pdf

![Screenshot from 2025-02-22 21-54-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/55afcf5d-33d8-4841-bed8-23dfe6763b9e.png)

## VAB-5000にOSを書き込むためのツールをインストールする <font color="blue">**(ホストPC)**</font>

Ubuntu22.04上に、VAB-5000にOSを書き込むためのツールをインストールします。まず **「Setup Build Environment (Linux)」** を参考に必要なパッケージをインストールした後 **「Setup Tool Environment (Linux)」** を参考に、VAB-5000にOSを書き込むためのツールをインストールします。 <font color="blue">**VAB-5000はMediaTek社のGenio 700 SoCを搭載しているボードのため、MediaTek社が公開しているドキュメントを参考にインストール作業を進めます。**</font>

https://mediatek.gitlab.io/aiot/doc/aiot-dev-guide/master/sw/yocto/get-started/env-setup.html

まず、**ホストPCとVAB-5000を接続していない状態** から作業をはじめてください。

![DSC01556.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/74a100ef-5451-4841-b02d-a33e0cc0076b.jpeg)

### 必要なパッケージをインストールする <font color="blue">**(ホストPC)**</font>

最初に、PCとVAB-5000を接続するためのGenioのツールを実行できるようにするため、Genioのツールが必要とするパッケージをインストールします。

https://mediatek.gitlab.io/aiot/doc/aiot-dev-guide/master/sw/yocto/get-started/env-setup/build-env-linux.html

```bash
### 必要なパッケージをインストールする
sudo apt-get install -y gawk wget curl git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libelf-dev libsdl1.2-dev lz4 pylint xterm python3-subunit mesa-common-dev libstdc++-12-dev

### repoツールをインストールする
$ mkdir -p ~/repo-tool/bin

# -->> repoツールをダウンロードする
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/repo-tool/bin/repo
$ chmod a+rx ~/repo-tool/bin/repo
# -->> repoツールにパスを通す
$ vim ~/.bashrc
# 最後に以下の1行を追加する
export PATH="$PATH:/home/shino/repo-tool/bin"
$ source ~/.bashrc

# pipを最新版に更新する
$ pip3 install --upgrade pip
```

### DebianをVAB-5000に書き込むツールをインストールする <font color="blue">**(ホストPC)**</font>

続いて、VAB-5000にOSを書き込むためのGenioのツールをインストールします。

https://mediatek.gitlab.io/aiot/doc/aiot-dev-guide/master/sw/yocto/get-started/env-setup/flash-env-linux.html

```bash
### Fastboot と ADB ツールをインストールする
# -->> OSの書き込みに利用する
$ sudo apt update
$ sudo apt-get install android-tools-adb android-tools-fastboot

### USB Device ruleを設定する
$ echo -n 'SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="201c", MODE="0660", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0003", MODE="0660", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", MODE="0660", TAG+="uaccess"
SUBSYSTEM=="gpio", MODE="0660", TAG+="uaccess"
' | sudo tee /etc/udev/rules.d/72-aiot.rules
$ cat /etc/udev/rules.d/72-aiot.rules
# SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="201c", MODE="0660", TAG+="uaccess"
# SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0003", MODE="0660", TAG+="uaccess"
# SUBSYSTEM=="usb", ATTR{idVendor}=="0403", MODE="0660", TAG+="uaccess"
# SUBSYSTEM=="gpio", MODE="0660", TAG+="uaccess"

# ルールを適用する
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

### udev ruleを追加する
$ echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="201c", MODE="0660", $ GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/96-rity.rules
$ cat /etc/udev/rules.d/96-rity.rules
# SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="201c", MODE="0660", $ GROUP="plugdev"
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
$ sudo usermod -a -G plugdev $USER

### UART接続用のGroupにユーザーを追加する
$ sudo usermod -a -G dialout $USER

### UARTのクライアントをインストールする
$ sudo apt update
$ sudo apt-get install picocom
$ sudo apt-get install screen

### 再起動
$ sudo reboot
```

#### Genio Toolsをインストールする <font color="blue">**(ホストPC)**</font>

VAB-5000と連携するために、Genio Toolsをインストールします。

https://mediatek.gitlab.io/aiot/doc/aiot-dev-guide/master/sw/yocto/get-started/env-setup/build-env-linux.html

```bash
### genio-toolsをインストールする
$ pip install --use-pep517 genio-tools
#  WARNING: The scripts pyserial-miniterm and pyserial-ports are installed in '/home/shino/.local/bin' which is not on PATH.
#   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
#   WARNING: The scripts aiot-bootrom and genio-bootrom are installed in '/home/shino/.local/bin' which is not on PATH.
#   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
#   WARNING: The scripts aiot-board, aiot-config, aiot-efuse, aiot-flash, aiot-rpmb-write-key, genio-board, genio-config, genio-efuse, genio-flash, genio-multi-download-cli and genio-rpmb-write-key are installed in '/home/shino/.local/bin' which is not on PATH.
#   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
# Successfully installed fastboot-log-parser-0.1.1 genio-bootrom-1.1.12 genio-tools-1.5 gpiod-1.4.0 keyboard-0.13.5 oyaml-1.0 packaging-24.2 psutil-7.0.0 pyftdi-0.56.0 pyserial-3.5 pyudev-0.24.3 pyusb-1.3.1 simplejson-3.20.1

### genio-toolsがインストールされた
### ディレクトリをパスに追加する
$ vim ~/.bashrc
# 最後に以下の1行を追加する
export PATH="$PATH:/home/shino/.local/bin"
$ source ~/.bashrc

### genio-configを確認する
$ genio-config
# fastboot: OK
# udev rules: OK (md5: a3b2767b42ee01d7c62bf394400528ae)
# Serial device write access: FAIL
# You may experience some write permission error('open(/dev/ttyACM0): Permission denied')
# Consider adding your user to the 'dialout' Linux group (sudo adduser `whoami` dialout)
```

https://qiita.com/maskot1977/items/56b723ff03c2c400131c

### Debianイメージをダウンロードし展開する <font color="blue">**(ホストPC)**</font>

それではいよいよVAB-5000にOSを書き込んでみましょう。

![Screenshot from 2025-02-22 21-54-10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/4b64e83e-aa6a-4e29-9c0d-1f27440b0769.png)

https://www.viatech.com/ja/edge-ja/vab-5000/

上記から **「Debian 12 EVK」** を入手します。ダウンロード後、これを展開します。

```bash
### VIAのWebサイトからDebianイメージを入手し、展開する
$ cd ~
$ wget https://cdn.viaembedded.com/products/software/vab_5000/debian_evk/VIA_VAB-5000_Debian_12_EVK_v1.0.0_241118.zip 

### ドキュメントとOSイメージを展開する
$ unzip ./VIA_VAB-5000_Debian_12_EVK_v1.0.0_241118.zip
$ cd VIA_VAB-5000_Debian_12_EVK_v1.0.0_241118
$ ls 
# Document   Firmware   ReleaseNote.txt  'VIA Software License Agreement.pdf'
$ cd Firmware

### OSイメージを展開する
$ unzip VIA_VAB-5000_Debian_12_EVK.zip
$ ls 
# VIA_VAB-5000_Debian_12_EVK.zip  debian-12.7-vab-5000.manifest       fip.bin          rity.json
# bl2.img                         debian-12.7-vab-5000.testdata.json  fitImage         u-boot-env.bin
# bootassets.vfat                 debian-12.7-vab-5000.wic.img        lk.bin           u-boot-initial-env
# capsule.vfat                    devicetree                          partitions.json

### 作業ディレクトリのパスを確認する
$ pwd
# /home/shino/VIA_VAB-5000_Debian_12_EVK_v1.0.0_241118/Firmware
```

### 開発用PCとVAB-5000をmicro-USBケーブルで接続する

VAB-5000のmicro-USBポートをPCと接続します。

![DSC01557.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/2ac471a0-28d2-46df-9e95-2874a285d786.jpeg)


### VAB-5000にOSを書き込む <font color="blue">**(ホストPC)**</font>

以上でVAB-5000にOSを書き込む準備が整いました。 **先の手順でインストールした `genio-flash` コマンドを利用してOSを書き込みます。** まず、 **書き込みたいOSのディレクトリへ移動** し、そのディレクトリ内で **`genio-flash`** コマンドを実行してください。

```bash
### OSが格納されているディレクトリへ移動
$ cd /home/shino/VIA_VAB-5000_Debian_12_EVK_v1.0.0_241118/Firmware

### OSを書き込む
$ genio-flash
# Genio Tools: v1.5
# Yocto Image:
# 	name:     Debian GNU/Linux 12 (bookworm) (debian-12.7)
# 	distro:   debian 12.7 (debian)
# 	codename: None
# 	machine:  vab-5000
# 	overlays: ['gpu-mali.dtbo', 'video.dtbo', 'camera-rn6752-csi0-std.dtbo', 'apusys.dtbo']
# 
# WARNING:root:[Errno 0] Success: 'error creating GPIO chip iterator'
# WARNING:root:Board control failed. Possible causes are:
# 1. This is not a Genio 350/700 EVK, nor a Pumpkin board.
# 2. The board port UART0 is not connected.
# 3. The UART0 port is being opened by another tool, such as TeraTerm on Windows.
# You can now manually reset the board into DOWNLOAD mode.
# 
# INFO:root:Continue flashing...
# ...
```

以上のメッセージが表示されたら、 **VAB-5000上の **`SW1`** を押した状態で、ACアダプタを抜去し、再度接続します。** この操作によりVAB-5000がOSを書き込める状態となります。 <font color="red">**`SW1` は `Erasing 'mmc0'` の表示が出る前押し続けてください。**</font>

![DSC01559.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/329de4d3-de03-45af-8d4a-0d3562fd2d4b.jpeg)

```bash
### SW1を押し続けたまま電源を投入し、SW1は押し続ける

# ...
# Looking for MediaTek SoC matching USB device 0e8d:0003
# Opening /dev/ttyACM0 using baudrate=115200
# Connected to MediaTek SoC: hw_code[0x8188]
# Sending bootstrap to address: 0x201000
# Jumping to bootstrap at address 0x201000 in AArch64 mode
# erasing mmc0
# < waiting for any device >
# Erasing 'mmc0'                                     (bootloader) request sz: 0x3a3e00000, real erase len: 0x0
# ...

### SW1を離して良い

# ...
# OKAY [  0.060s]
# Finished. Total time: 0.064s
# erasing mmc0boot0
# Erasing 'mmc0boot0'                                (bootloader) request sz: 0x1fe0000, real erase len: 0x1fe0000
# OKAY [  0.006s]
# Finished. Total time: 0.010s
# erasing mmc0boot1
# Erasing 'mmc0boot1'                                (bootloader) request sz: 0x1fe0000, real erase len: 0x1fe0000
# OKAY [  0.005s]
# Finished. Total time: 0.009s
# flashing mmc0=debian-12.7-vab-5000.wic.img
# Sending sparse 'mmc0' 1/25 (259164 KB)             OKAY [  8.451s]
# Writing 'mmc0'                                     OKAY [ 10.839s]
# Sending sparse 'mmc0' 2/25 (256790 KB)             OKAY [  8.192s]
# Writing 'mmc0'                                     OKAY [ 10.358s]
# Sending sparse 'mmc0' 3/25 (261666 KB)             OKAY [  8.373s]
# Writing 'mmc0'                                     OKAY [ 11.421s]
# ...
# Sending sparse 'mmc0' 25/25 (87887 KB)             OKAY [  2.745s]
# Writing 'mmc0'                                     OKAY [  3.875s]
# Finished. Total time: 467.772s
# flashing mmc0boot0=bl2.img
# Sending 'mmc0boot0' (273 KB)                       OKAY [  0.009s]
# Writing 'mmc0boot0'                                OKAY [  0.021s]
# Finished. Total time: 0.044s
# ERROR:aiot:Could not detect U-Boot env size, assume 4096
# flashing mmc0boot1=u-boot-env.bin
# Sending 'mmc0boot1' (4 KB)                         OKAY [  0.002s]
# Writing 'mmc0boot1'                                OKAY [  0.005s]
# Finished. Total time: 0.012s
# Rebooting                                          OKAY [  0.002s]
# Finished. Total time: 0.052s
```

以上でOSの書き込みは完了です。

### VAB-5000上のDebian12にログインする <font color="red">**(VAB-5000)**</font>

**OSの書き込みが完了すると、自動的に再起動が行われ、以下のログイン画面が表示されます。** パスワードは設定されていないため、ユーザー名をクリックするだけでDebianへログインすることができます。

![WIN_20250226_19_30_52_Pro.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/7d3178b4-5db0-4235-ac49-dc49f3932555.jpeg)

### パスワードを設定する <font color="red">**(VAB-5000)**</font>

ログインすると見慣れたGUIを確認することができます。 **ログイン後 `passwd` コマンドでパスワードを設定しておきましょう。ターミナルには画面左上の `Actibities` からアクセスできます。**

![WIN_20250226_20_28_46_Pro.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/24c9269e-98fa-4e5e-ad56-aa5898d28b43.jpeg)


### キーボードの配列を選択する <font color="red">**(VAB-5000)**</font>

日本語キーボードを利用している場合は「Settings」の「Keyboard」から「Japanese」キーボードを追加しておきましょう。

![WIN_20250226_20_02_51_Pro.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/169fbc05-aab7-4343-9ce9-3f89af5e37ae.jpeg)

### パッケージを最新の状態へとアップデートする <font color="red">**(VAB-5000)**</font>

OSのインストールが完了したら、最初に、インストールされているパッケージをすべて最新の状態へと更新しましょう。 `apt update` `apt upgrade` コマンドで最新のパッケージを取得します。

```bash
### リポジトリの情報を最新にする
$ sudo apt update

### パッケージをすべてアップデートする
$ sudo apt -y upgrade
```

また、開発によく利用するツールもここでインストールしておくと便利です。

```bash 
### 開発によく利用するパッケージを追加する
$ sudo apt -y install git wget curl build-essential

### エディタを追加する
$ sudo apt install vim
$ sudo update-alternatives --config vi
# alternative vi (/usr/bin/vi を提供) には 2 個の選択肢があります。
# 
#   選択肢    パス              優先度  状態
# ------------------------------------------------------------
# * 0            /usr/bin/vim.basic   30        自動モード
#   1            /usr/bin/vim.basic   30        手動モード
#   2            /usr/bin/vim.tiny    15        手動モード
# 
# 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
# -->> [Enter]
```

### リモートから開発するためにopenssh-serverを設定する <font color="red">**(VAB-5000)**</font>

次に、開発環境(ターゲット)をリモートからコーディングしたいため `openssh-server` をインストールし、SSH接続ができるように設定を行います。 **これは必須の手順ではありませんが、操作が簡単になります。** Visual Studio Codeや、Windowsのターミナルからパスワード入力すること無くSSH接続するための公開鍵の作成方法は、下記の記事をご参照ください。

https://qiita.com/xtrizeShino/items/30dca87bc0789fcacfab

```bash
### sshサーバをインストールします
$ sudo apt install openssh-server

### Ubuntu24.04からsshdでなくsshになっています 
# ... 起動時にサービスが開始されるように設定します
$ sudo systemctl start ssh
$ sudo systemctl enable ssh

### sudoを簡略化する
$ sudo vi /etc/sudoers
# 以下の行を末尾に追加
# debian  ALL=(ALL:ALL) NOPASSED:ALL

### Ubuntu上での操作
$ mkdir -p /home/debian/.ssh
$ touch /home/debian/.ssh/authorized_keys
$ sudo chmod 700 /home/debian/.ssh
$ sudo chmod 640 /home/debian/.ssh/authorized_keys

### 公開鍵を登録する
$ vi /home/debian/.ssh/authorized_keys
# -->> Windows上の "id_rsa.pub" の内容を書き込む

### 再起動する
$ sudo reboot
```

https://help.coreserver.jp/manual/hosts-win/

https://zenn.dev/kusaremkn/articles/21c21b3548092e

### ディスクの空き容量を確保する <font color="red">**(VAB-5000)**</font>

標準的なインストールをするとディスク容量が逼迫した状態となるので、不必要なパッケージを除去します。以下の記事を参考に不必要なパッケージをアンインストールしました。

https://qiita.com/developer-kikikaikai/items/7deaffd0c9b521e1366c

https://blog.goo.ne.jp/vincecarter/e/d93f87ec68cd0d7941fa4e300de0e675

```bash
$ sudo apt purge firefox
$ sudo apt purge thunderbird
$ sudo apt purge libreoffice-core
$ sudo apt purge libreoffice-common
$ sudo apt purge mythes-en-us
$ sudo apt purge ure
$ sudo apt purge orca
$ sudo apt purge libgphoto2-6

$ df
# Filesystem     1K-blocks     Used Available Use% Mounted on
# /dev/root       13872172  8891336   4244280  68% /
# devtmpfs         1923028        0   1923028   0% /dev
# tmpfs            1945396        0   1945396   0% /dev/shm
# tmpfs             778160     3268    774892   1% /run
# tmpfs               5120        8      5112   1% /run/lock
# tmpfs             389076       76    389000   1% /run/user/1000

$ sudo apt install --reinstall gnoeme-control-center
```



### Visual Studio CodeでVAB-5000に接続する

これでVisual Studio Codeから開発することができます。

![スクリーンショット 2025-02-26 214400.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/d8071497-de53-4978-8383-45fc3920123a.png)

----

### 補足：Yocto BSPをインストールする場合 <font color="blue">**(ホストPC)**</font>

VAB-5000ではOSとしてYocto 4.0.17もサポートしています。Yoctoは以下のコマンドによりWebからOSを入手することが可能です。ボードへの書き込み方法はDebianの場合と同じです。

```bash
$ cd ~
$ wget https://cdn.viaembedded.com/products/software/vab_5000/yocto_evk/VIA_VAB-5000_Yocto_4.0.17_EVK_v1.0.0_240906.zip

### ドキュメントとOSイメージを展開する
$ unzip ./VIA_VAB-5000_Yocto_4.0.17_EVK_v1.0.0_240906.zip
$ cd VIA_VAB-5000_Yocto_4.0.17_EVK_v1.0.0_240906/
$ ls 
# Document   Firmware   ReleaseNote.txt  'VIA Software License Agreement.pdf'
$ cd Firmware

### OSイメージを展開する
$ unzip VIA_VAB-5000_Yocto_4.0.17_EVK.zip
$ ls 
# VIA_VAB-5000_Yocto_4.0.17_EVK.zip  devicetree  partitions.json                        rity.json
# bl2.img                            fip.bin     rity-vis-image-vab-5000.manifest       u-boot-initial-env
# bootassets.vfat                    fitImage    rity-vis-image-vab-5000.testdata.json
# capsule.vfat                       lk.bin      rity-vis-image-vab-5000.wic.img

### 作業ディレクトリのパスを確認する
$ pwd
# /home/shino/VIA_VAB-5000_Yocto_4.0.17_EVK_v1.0.0_240906/Firmware

### OSをVAB-5000に書き込む
$ genio-flash
# Genio Tools: v1.5
# Yocto Image:
#         name:     VIA Intelligent Solutions Image (rity-vis-image)
#         distro:   VIA Intelligent Solutions Layer 24.0-release-v1.0.0 (rity-vis)
#         codename: kirkstone
#         machine:  vab-5000
#         overlays: ['gpu-mali.dtbo', 'apusys.dtbo', 'video.dtbo', 'camera-rn6752-csi0-std.dtbo']
# 
# WARNING:root:No 'ftdi-cbus' device found
# WARNING:root:Unable to find and reset the board. Possible causes are:
# 1. This is not a Genio 350/700 EVK, nor a Pumpkin board.
# 2. The board port UART0 is not connected.
# 3. The UART0 port is being opened by another tool, such as TeraTerm on Windows.
# You can now manually reset the board into DOWNLOAD mode.
# 
# INFO:root:Continue flashing...

### ボード上のSW1を押しながら電源アダプタを外して付け直す

# Looking for MediaTek SoC matching USB device 0e8d:0003
# Opening /dev/ttyACM0 using baudrate=115200
# Connected to MediaTek SoC: hw_code[0x8188]
# Sending bootstrap to address: 0x201000
# Jumping to bootstrap at address 0x201000 in AArch64 mode
# erasing mmc0
# < waiting for any device >
# Erasing 'mmc0'                                     (bootloader) request sz: 0x3a3e00000, real erase len: 0x0
# OKAY [  1.509s]
# Finished. Total time: 1.512s
# ...
# Writing 'mmc0'                                     OKAY [ 10.233s]
# Sending sparse 'mmc0' 15/15 (16576 KB)             OKAY [  0.435s]
# Writing 'mmc0'                                     OKAY [  0.675s]
# Finished. Total time: 239.111s
# flashing mmc0boot0=bl2.img
# Sending 'mmc0boot0' (273 KB)                       OKAY [  0.009s]
# Writing 'mmc0boot0'                                OKAY [  0.024s]
# Finished. Total time: 0.039s
# ERROR:aiot:Could not detect U-Boot env size, assume 4096
# flashing mmc0boot1=u-boot-env.bin
# Sending 'mmc0boot1' (4 KB)                         OKAY [  0.002s]
# Writing 'mmc0boot1'                                OKAY [  0.005s]
# Finished. Total time: 0.012s
# Rebooting                                          OKAY [  0.002s]
# Finished. Total time: 0.052s
```

インストールが完了すると、以下のGUIが表示されます。

![WIN_20250303_18_42_14_Pro.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/35f7827b-dea2-4727-b5de-18dcf0af1509.jpeg)


----

**以上で、VAB-5000を利用する準備が整いました！**
**これから色々と実装しまして、また情報をお届けしたいと思います**

**お疲れさまでした！**

----