2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Milk-V Mars のセットアップ方法

Posted at

皆さんこんにちは。家庭用のスーパーコンピュータ(スパコン)を作っているD.Mです。

今回は、RISC-VのCPUを搭載したSBC「Milk-V Mars」をセットアップをしたので、その手順とポイントをまとめます。
20250812_183527.JPG

RISC-Vとは?

RISC-V(リスクファイブ)は、2010年にカリフォルニア大学バークレー校で開発が始まった オープンソースの命令セットアーキテクチャ(Instruction Set Architecture, ISA) です。
ISAとは、CPUが理解・実行できる命令の仕様で、例えば Intel/AMD の「x86」、Raspberry Pi やスマホに多い「ARM」などがあります。RISC-Vは第三勢力的な感じです。
特徴は、誰でも無償で利用できる(x86やarmはライセンス料を支払う必要がある)、シンプルで拡張性が高い(らしい)が主なものです。

Milk-Vとは?

Milk-V(ミルクファイブ)は、中国の会社 Milk-V Technology が開発している、RISC-VアーキテクチャのSBC(シングルボードコンピュータ)のシリーズです。
今回使用する、「Milk-V Mars」は、Raspberry Piと同様、1枚の基板にCPU・メモリ・インターフェースが一通り搭載されており、電源とストレージを用意すればすぐに動かすことができます。
今回用意した構成は以下の通り(これ以外にも構成があります)

項目 説明
SoC StarFive JH7110 64bit SoC with RV64GC, 最大1.5GHz
メモリ LPDDR4 4GB(8GB搭載モデルもある)
ストレージ eMMCスロット、1xMicroSDスロット、SPIフラッシュブートローダー
インターフェイス 1xHDMI、ギガビットイーサネット、3xUSB2、1xUSB2、1xM.2 E-Key
電源 5V USB-C(最低 3A)
サイズ 85 x 56 mm

詳細は公式ページをご覧ください
https://milkv.io/ja/mars
https://milkv.io/ja/docs/mars/overview

ラズパイ5と並べてみました。
20250814_205354.JPG

OSイメージを入手する

ここからのセットアップは公式のドキュメントに従ったものです。
https://milkv.io/ja/docs/mars/getting-started/boot

ラズパイと同じ様に、microSDカードにOSイメージを書き込んで使用します。
今回は32GBのmicroSDカードを用意しました。

標準ではDebianOSが配布されているのでそちらを使用します。

https://github.com/milkv-mars/mars-buildroot-sdk/releases/
からmicroSDカードバージョンの
mars_debian-desktop_sdk-v3.6.1_sdcard_v1.0.6.img.zip
をダウンロードします。cm4バージョンと間違えないように

OSイメージをmicroSDに書き込む

ダウンロードしたzipを解凍します。
任意のソフトでイメージを書き込みます。
今回はbalenaEtcherを使用しました。
https://etcher.balena.io/
インストールして起動すると次の画面
balenaEtcher.png

Flash from fileで先ほど解凍したイメージを選択して、Select targetでmicroSDカードを選択して、Flash!で書き込みます。

書き込みが完了したら、PCからmicroSDを取り外します。

起動準備

microSDカードから起動させるために、本体のDIPスイッチを以下の画像の様に変更します。
20250814_203314.JPG

それが終わったら、microSD、HDMIケーブル、USBキーボード、USBマウス、LANケーブルを接続します。

起動

準備ができたらType-Cケーブルを接続し、電源を投入します。
赤色のLEDが点灯し、緑のアクセスランプの点滅、画面が表示されます。

無事に起動しました。
初期のユーザーは、ユーザー名「user」パスワードは「milkv」となっているのでログインします。
タイトルなし.png

初期設定補足

はじめに、今のところ、
** apt update, upgradeは非推奨 ** になっています。実行する場合は認証キーを書き換える必要があります。

パーテーションを変更する

初期の状態ではルートパーテーションが4GBとなっています。
これをSDカードの容量一杯まで広げます。

パーテーションの確認は

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.4G     0  1.4G   0% /dev
tmpfs           388M  3.4M  385M   2% /run
/dev/mmcblk1p4  3.7G  3.2G  546M  86% /
tmpfs           1.9M     0  1.9M   0% /dev/shm
tmpfs           5.0M   12K  5.0M   1% /run/lock
tmpfs           388M  148K  388M   1% /run/user/1000

/dev/mmcblk1p4が今回拡張する箇所です。

sudo fdisk /dev/mmcblk1

を実行します。

Welcome to fdisk (util-linux 2.38.1)

~

Command (m for help): 

と表示されます。

現在のパーティション情報を表示するために、pコマンドを入力します。

Command (m for help): p

Disk /dev/mmcblk1: 29.12 GiB, 31266439168 bytes, 61067264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2D487F15-E07F-4B07-BC04-80EA297E8675

Device          Start     End Sectors  Size Type
/dev/mmcblk1p1   4096    8191    4096    2M HiFive BBL
/dev/mmcblk1p2   8192   16383    8192    4M HiFive FSBL
/dev/mmcblk1p3  16384  221183  204800  100M EFI System
/dev/mmcblk1p4 221184 8189918 7968735  3.8G Linux filesystem

Command (m for help):

次に、元のシステムからシステムパーティションを削除する、dコマンドを実行します。削除するパーティション番号を入力するように求められます。ここでは /dev/mmcblk1p4 を削除したいので、4と入力します。

Command (m for help): d
Partition number (1-4, default 4): 4

Partition 4 has been deleted.

Command (m for help):

次に、nコマンドを使って新しいパーティションを作成します。パーティション番号の入力を求められるので。ここでは4と入力します。
次の設問First sectorは、新しいパーティションの開始セクター値を入力します。
先ほど削除したパーティションの開始セクター値がデフォルト(default 221184)で設定されているので、値を入力せずにEnterキーを押します。
次の設問で新しいパーティションのサイズを入力します。デフォルト値でストレージ全体となるため、こちらも入力せずにEnterキーを押します。
最後の署名削除の設問はNoを入力してEnterを押します。

Command (m for help): n
Partition number (4-128, default 4): 4
First sector (34-61067230, default 221184): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (221184-61067230, default 61065215): 

Created a new partition 4 of type 'Linux filesystem' and of size 29 GiB.
Partition #4 contains a ext4 signature.

Do you want to remove the signature? [Y]es/[N]o: No

Command (m for help):

再度、pコマンドでパーティションを確認します。

Command (m for help): p

Disk /dev/mmcblk1: 29.12 GiB, 31266439168 bytes, 61067264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2D487F15-E07F-4B07-BC04-80EA297E8675

Device          Start      End  Sectors  Size Type
/dev/mmcblk1p1   4096     8191     4096    2M HiFive BBL
/dev/mmcblk1p2   8192    16383     8192    4M HiFive FSBL
/dev/mmcblk1p3  16384   221183   204800  100M EFI System
/dev/mmcblk1p4 221184 61065215 60844032   29G Linux filesystem

Command (m for help):

確認ができたら、Wコマンドで変更を保存&対話モードを終了します。

Command (m for help): w
The partition table has been altered.
Syncing disks.

最後に、resize2fsコマンドでファイルシステムの拡張を完了します。

user@milkv: $ sudo resize2fs /dev/mmcblk1p4
resize2fs 1.46.6-rc1 (12-Sep-2022)
Filesystem at /dev/mmcblk1p4 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/mmcblk1p4 is now 7605504 (4k) blocks long.

df -h コマンドで正しく拡張されたことを確認します。

user@milkv: $ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            700M     0  700M   0% /dev
tmpfs           193M  3.3M  190M   2% /run
/dev/mmcblk1p4   29G  3.1G   26G  11% /
tmpfs           962M     0  962M   0% /dev/shm
tmpfs           5.0M   12K  5.0M   1% /run/lock
tmpfs           193M   64K  193M   1% /run/user/110
tmpfs           193M   24K  193M   1% /run/user/0
/dev/mmcblk1p3  100M   23M   77M  23% /boot

以上でMilk-Vのセットアップは完了です。

終わりに

みんさん無事にセットアップできましたでしょうか?
次回以降、Milk-Vで色々やってみようと思います。
フォロー、いいね、コメント等で応援いただけますと幸いです。

この記事をご覧になった皆さんのRISC-V生活が素敵になることを願っております。

HP:https://www.dmep.jp
X:https://x.com/dmepjp

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?