https://www.openbsd.org/riscv64.html より
OpenBSD/riscv64 runs on the following hardware:
**SiFive**
HiFive Unmatched
Microsemi
PolarFire SoC Icicle Kit
Note:PolarFire SoC Icicle Kit support is incomplete
##SiFive demoes four-way RISC-V cluster for HPC applications
##知盛 「見るべきほどのことは見た,なすべき程のことはした」
あらゆる種類の料理をたべることはできなんだけど、めぼしいのは食った。
https://wiki.debian.org/RISC-V |
---|
SiFive "Freedom U740" SoC / "HiFive Unmatched" |
As of Q4/2020,・・・ a Mini-ITX board with a "Freedom U740" SoC (quad-core RV64GC), 16GB of RAM, SD, a PCIe slot, Gigabit Ethernet, an M.2 socket for an NVMe SSD and various further I/O. |
https://www.openbsd.org/riscv64.html |
lftp ftp.jaist.ac.jp:/pub/OpenBSD/snapshots/riscv64 |
Copy install69.img to a USB stick, and boot with both it and the
vendor provided uSD card (unmodified) inserted. This should enable firmware
and U-Boot to be loaded from uSD and OpenBSD bootloader and kernel to be
loaded from USB stick. At this time onboard Ethernet is not well supported,
so PCIe or USB Ethernet device will be required.
IntelがRISC-VアーキテクチャのCPUコアを同社のプラットフォームに採用 は
ここ https://iphone-mania.jp/news-378045/
https://www.youtube.com/watch?v=sZs8XbbT2kA&t=1267s の15分目からですが
ISAというマシン語には3つの方言があります
1」 intel 40年以上前のx86を引きずっている
2」 arm 結構コストがかかります(後述)
3」 risc-v
です。
ところで linuxは オープンソフト革命で インストール無料にしました。 このおかげで大量のユーザーが流れ込みバザール方式で急速な進歩をとげました。
今 RISC-Vは オープンハードウェア革命を開始しようとしています
https://www.youtube.com/watch?v=hF3sp-q3Zmk より arm では
##自分は hifive unmatchedで以下な具合です
デモは
https://www.youtube.com/watch?v=Diy8PZEislE
Hifive unmatchedの rootは 256GBのNVMEです |
---|
そして 一番なれたxfce4で動かしてます |
ウェッブブラウザーは unmatchedでは chromiumもfirefoxも来てないため 軽量な midori を使ってます |
SiFive あります。 でも日本がない!
かっては NECのPC9801を代表とする日の丸コンピュータがありました |
---|
しかし CPUはその後 「intel 入ってるといわれる」 x86 アテクチャになりました。 これには icore7もamdも入ってます |
ところが 省電力性をいかして スマホとか スパコンに CPUとしてarmが使われてます (armな「富岳」が全力で計算するときに使う電気の量は、*1時間*で30メガワット時です。4人家族がつかう電気量の約6年分です。ずいぶん電気を使うと感じるかもしれませんが、富岳は、これでもarmのおかげで省電力です。) |
しかし 今後はIoTといって 電気を使うすべてのもの(家電、CPUで制御されてる自動車のエンジン、工場など)がインターネットに接続されます。 このときarmを使えば armにお金を払わねばなりません。 それは負担です。 それで使用料のかからないRisc-Vがでてきました。 まもなく ここにもrisc-v そこにもrisc-v あそこにもrisc-vとなるかもね |
2021/6/2 に現物が来ました
##はっきりと Linux powerd と書かれてます
https://sifive.cdn.prismic.io/sifive/62d07f9e-e3a7-40cc-a817-89c56a442ff7_hifive-unmatched-gsg-v1p4.pdf |
---|
https://www.sifive.com/boards/hifive-unmatched が大事な情報ページです |
なお以下もあります。 まず CUIで rootはnvmeで ubuntuが走りました
wget -c http://cdimage.ubuntu.com/releases/21.04/release/ubuntu-21.04-preinstalled-server-riscv64+unmatched.img.xz
unxz ubuntu-21.04-preinstalled-server-riscv64+unmatched.img.xz
ls -l ubuntu-21.04-preinstalled-server-riscv64+unmatched.img
3758096384 4月 22 10:50
と 3.7GB ですねー
でも serverなのでこれだけでは キャラクターベースです
その後は
https://discourse.ubuntu.com/t/installing-ubuntu-21-04-on-the-hifive-unmatched/22456
の記事があります
ubuntuをマイクロSDに書き込んだ段階では
# fdisk -l /dev/sdb
Device Start End Sectors Size Type
/dev/sdb1 235554 7339998 7104445 3.4G Linux filesystem
/dev/sdb12 227362 235553 8192 4M Linux filesystem
/dev/sdb13 34 2081 2048 1M HiFive Unleashed FSBL
/dev/sdb14 2082 10273 8192 4M HiFive Unleashed BBL
/dev/sdb15 10274 227361 217088 106M EFI System
この上の図は グラボない場合の RS232通信でのことです |
---|
自分は中古ながら radeonのボードをもっているのでこの上図の手段は全く使ってません |
##開封しました
1] 以下 6]まで全て安価にするためにしたので保証はありません、 あくまでも自己責任でお願いします
5]
でも power スイッチだけでは 普通はだめなので 1秒位ショートしなければいけなかったです.
1秒位ショートは面倒です、そのため近くのパソコンショップで リセットスイッチ(300円)に取り替えました。
##特に終了が大事です
1) 始動 : リセットスイッチを押す |
---|
2)終了 |
2−1)shutdown -h now |
2−2)モニターの左上隅の下線が消えるんを待つ |
2−3)powerスイッチをボード上のLEDが消えCPUファンが止まるまで押し続ける |
6] Sifive の添付の マイクロSDカードで起動しました。
Let's go !
A] https://discourse.ubuntu.com/t/installing-ubuntu-21-04-on-the-hifive-unmatched/22456
の とおりにします
どうなってるかというと
$ ubuntu@ubuntu:~$ uname -ar
Linux ubuntu 5.11.0-1009-generic #9-Ubuntu SMP Fri May 14 16:32:38 UTC 2021 riscv64 riscv64 riscv64 GNU/Linux
そして
ubuntu@ubuntu:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1637988 1360 1636628 1% /run
/dev/nvme0n1p1 242291672 5647632 236627656 3% /
tmpfs 8189928 0 8189928 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 4096 0 4096 0% /sys/fs/cgroup
/dev/mmcblk0p15 106858 2 106857 1% /boot/efi
tmpfs 1637984 76 1637908 1% /run/user/1000
/dev/mmcblk0p12 4017 6 4012 1% /media/ubuntu/CIDATA
つまり機動は マイクロSDカードですが
ルートは NVMEの242GB になってますね、 カ イ カ ン
グラボをつけての起動では
https://www.youtube.com/watch?v=m-eQFBSaXgw
といふうに 真っ暗な画面から突如として文字が流れ始め
また 真っ黒な画面になって それから GUIが来ます
なれたxfce4にしました。 gdmでコントロールされてます
全体の構成は以下で、非常時は openbsd マシンからsshで救いの手を差し伸べ ここで shuttdown -h now します
https://ja.wikipedia.org/wiki/%E5%90%88%E5%BE%93%E9%80%A3%E8%A1%A1
より
中国の春秋戦国時代、
戦国七雄のうち強大になりつつあった秦と、
周辺六ヶ国(韓・魏・趙・燕・楚・斉)の外交政策として、
いずれも縦横家によって考えられた。
当初、六国は相互に同盟を結び、協力して秦の圧力を防ごうとした(合従策)。
これに対し、
秦は個別に同盟関係をもちかけて六国の協力関係を分断すること(連衡策)によって
合従策を封じた。
その後、各国はすべて秦によって亡ぼされた。
https://www.youtube.com/watch?v=T2JJ6V5lOU0
[トラブル 大]
ここで固まったことがありました。
ubuntu の マイクロSDカードを もう一回ddで焼きつけ装着するだけで治りました.
これが2回起こったため
dd if=./ubuntu-21.04-preinstalled-server-riscv64+unmatched.img of=/dev/sdb bs=16k status=progress
にて 16GB マイクロSD カードで予備をつくり 今これでやってます
[トラブル 小-1]
現在 USBハブをとおして USBキーボードとUSBマウスとをつかってるのですが 時にこれらを認識しないことがあります。
でも 抜いて刺し直すことで 再認識してくれてます。
まあ、 未完の大器なのでいろんなことがおこります。
でも この切り返しこそおもしろい。
[トラブル 小-2]
時間がおくれると 画面がまっくろくなって ログインできなくなります
そのために gdm を autologin にしました
# ./comment-out.bat /etc/gdm3/custom.conf
[daemon]
[security]
[xdmcp]
[chooser]
[debug]
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=ubuntu
##[想像 Iot]
自分はプログラマー つまり 車で言えば設計〜製造でなく テストドライバーなのでわかりませんが IOTで一番大二なのは
例えば 温度に応じての換気扇の回転数のコントロールなのだと思います
すると コンパイラーです
root@ubuntu:/home/ubuntu# aptitude search cmake | head -
p cmake - cross-platform, open-source make system
p cmake-curses-gui - curses based user interface for CMake (ccmake)
p cmake-data - CMake data files (modules, templates and documentation)
p cmake-doc - extended documentation in various formats for CMake
p cmake-extras - Extra CMake utility modules
p cmake-fedora - Set of scripts and cmake modules that simplify the release process
p cmake-format - source code formatter for cmake listfiles
v cmake-gui -
p cmake-qt-gui - Qt based user interface for CMake (cmake-gui)
p cmake-vala - CMake utility modules needed for building Vala Panel (and related projects)
ーーー
root@ubuntu:/home/ubuntu# aptitude search gcc | head -
cross-gcc-dev - Tools for building cross-compilers and cross-compiler packages
p gcc - GNU C compiler
p gcc-10 - GNU C compiler
i A gcc-10-base - GCC, the GNU Compiler Collection (base package)
p gcc-10-cross-base - GCC, the GNU Compiler Collection (library base package)
p gcc-10-cross-base-mipsen - GCC, the GNU Compiler Collection (library base package)
p gcc-10-cross-base-ports - GCC, the GNU Compiler Collection (library base package)
p gcc-10-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
p gcc-10-locales - GCC, the GNU compiler collection (native language support files)
p gcc-10-plugin-dev - Files for GNU GCC plugin development.
他にも clang あります
## [ノート1 : vnc]
と openbsd から vnc over ssh で unmatched に入ることもできます
## [ノート2 : 温度]
ubuntu@ubuntu:~$ sensors
mp451-i2c-0-4c
Adapter: i2c-ocores
temp1: +41.0°C (low = +0.0°C, high = +85.0°C)
(crit = +85.0°C, hyst = +75.0°C)
temp2: +41.2°C (low = +0.0°C, high = +85.0°C)
(crit = +108.0°C, hyst = +98.0°C)
nvme-pci-0600
Adapter: PCI adapter
Composite: +44.9°C (low = -273.1°C, high = +69.8°C)
(crit = +79.8°C)
amdgpu-pci-0700
Adapter: PCI adapter
vddgfx: 756.00 mV
fan1: 1614 RPM (min = 0 RPM, max = 3600 RPM)
edge: +32.0°C (crit = +97.0°C, hyst = -273.1°C)
power1: 6.17 W (cap = 35.00 W)
以下は HiFive Unmatched到着前のものです
偉い方のかかれたGUIのデモです
https://www.youtube.com/watch?v=HVsnnYuvDXI
##https://discourse.ubuntu.com/t/installing-ubuntu-21-04-on-the-hifive-unmatched/22456
##の一部のgoogle 機械 翻訳です
UbuntuをNVMeドライブにインストールする |
---|
UnmatchedでNVMeドライブを使用すると、パフォーマンスと使いやすさに大きな違いが生じます。動作させるには少し手間がかかりますが、それだけの価値があると信じてください。 SiFiveはSamsung970 EVOPlusを推奨しています。私はSamsung970 EVO(プラスではない)を使用しましたが、うまく機能します。 NVMeドライブにUbuntuをインストールする最も簡単な方法は、SDカードから起動し、Unmatched自体でM.2コネクタを使用することです。
起動したら、UbuntuイメージをUnmatchedにダウンロードし、実行して解凍します
wget http://cdimage.ubuntu.com/ubuntu/releases/21.04/release/ubuntu-21.04-preinstalled-server-riscv64+unmatched.img.xz
unxz / ubuntu-21.04-プレインストール済み-サーバー-riscv64 + unmatched.img.xz
実行して、NVMeドライブが存在することを確認します
ls -l / dev / nvme *
私のボードでは、NVMeドライブは/ dev / nvme0n1として表示されます。次に、実行してイメージをNVMeにフラッシュします
sudo dd if = / ubuntu-21.04-preinstalled-server-riscv64 + unmatched.img of = / dev / nvme0n1 bs = 1M status = progress
おめでとう!これで、HiFiveUnmatchedのNVMeドライブにUbuntuがインストールされました。ただし、まだ問題があります。 Unmatchedは、起動するためにSDカードが存在する必要があり、NVMeドライブではなくSDカードにルートファイルシステムをマウントする可能性のある競合状態があります。これを防ぐには、新しくフラッシュされたNVMeドライブをマウントし、実行してchrootします。
sudoマウント/ dev / nvme0n1p1 / mnt
sudo chroot / mnt
注:前のchrootコマンドは、riscv64コンピューターを使用して実行する場合にのみ機能します。これが、このチュートリアルでUnmatchedのM.2ドライブを使用してNVMeドライブをセットアップすることを提案している理由の1つです。
お気に入りのテキストエディタを使用して、/ etc / default / u-bootを編集します。行を追加します
U_BOOT_ROOT = "root = / dev / nvme0n1p1"
これらの変更を適用するには、
u-boot-update
exitを実行してchroot環境を終了し、システムをリブートします。これでNVMeドライブが起動し、パフォーマンスが大幅に向上します。
印刷
https://wiki.seeedstudio.com/BeagleV-Getting-Started/
にガイドはあります.
https://www.youtube.com/watch?v=_Ilz_0-eEpY みると
なので nvmeはないけど マイクロSDカード上でGUIが立ち上がってるのかな???
その後の設定
A) またもやsshで入って
=================
apt update
apt install mutter gnome-shell gnome-shell-extension-appindicator gnome-shell-extension-desktop-icons-ng gnome-shell-extension-prefs gnome-shell-extension-ubuntu-dock ubuntu-gnome-wallpapers gnome-terminal net-tools
=================
あとは
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
と
日本語入力だ
日本語入力は
https://qiita.com/valzer0/items/d7166a27c156b0699655
で 勉強して
apt install language-pack-ja-base language-pack-ja scim-anthy fonts-ipafont-gothic
して
im-config
したあと
scim-setup
でできた。
日本語入力は ctrl+space です
テストしていないので未検証だが
dd bs=64k if=/dev/nvme1n1 | gzip -c > riscv.gz
も考えられる
この場合のもと戻しは
gzip -dc < riscv.gz | dd bs=64k of=/dev/nvme1n1
になろう
xfce4で autologin にすすみましょう
と gnome です
次に apt install xfce4 をして 電源をいれると
な 画面がきます
そこで xfce4を選びます
さらに
cat /etc/gdm3/custom.conf を
# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.
[daemon]
# Uncomment the line below to force the login screen to use Xorg
#WaylandEnable=false
# Enabling automatic login
# AutomaticLoginEnable = true
# AutomaticLogin = user1
# Enabling timed login
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
AutomaticLoginEnable = true
AutomaticLogin = ubuntu
[security]
[xdmcp]
[chooser]
[debug]
# Uncomment the line below to turn on debugging
# More verbose logs
# Additionally lets the X server dump core if it crashes
#Enable=true
すると xfce4 に autologin となります
までまってから 電源をきりましょう
##後日談
256 GB の nvme だと一杯容量が余ってるので128 GB に入れかえました
その時注意力が切れててルートが マイクロSDカードのままになってました
道理で apt するとずいぶん遅い
dfで rootが マイクロSD になってました
そのため以下をして nvme を rootに しなおしました
sudo mount /dev/nvme0n1p1 /mnt
sudo chroot /mnt
Note: the previous chroot command will only work if using a riscv64 computer to execute it. That is one reason why this tutorial suggests using the M.2 drive on the Unmatched to set up the NVMe drive
Use your favorite text editor to edit /etc/default/u-boot. Add the line
U_BOOT_ROOT="root=/dev/nvme0n1p1"
To apply these changes, run
u-boot-update
Exit the chroot environment by running exit, then reboot the system. It will now boot to your NVMe drive and you will have significant performance gains!
これにて
# df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1637784 1268 1636516 1% /run
/dev/nvme0n1p1 121057116 6437084 114603648 6% /
( **gparted** してここnvme0n1p1を拡張した)
tmpfs 8188908 0 8188908 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 4096 0 4096 0% /sys/fs/cgroup
/dev/mmcblk0p15 106858 2 106857 1% /boot/efi
tmpfs 1637780 72 1637708 1% /run/user/1000
root@ubuntu:/home/ubuntu# cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 discard,errors=remount-ro 0 1
LABEL=UEFI /boot/efi vfat umask=0077 0 1
root@ubuntu:/home/ubuntu# blkid /dev/nvme0n1p1
/dev/nvme0n1p1: LABEL="cloudimg-rootfs" UUID="386038e2-e47c-49db-a74b-db2e730fa494" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="d0eada33-4e44-41d5-a7ff-b39ea3ebaf2c"
ただ
# blkid /dev/mmcblk0p1
/dev/mmcblk0p1: LABEL="cloudimg-rootfs" UUID="386038e2-e47c-49db-a74b-db2e730fa494" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="d0eada33-4e44-41d5-a7ff-b39ea3ebaf2c"
が ちょっと喉の小骨で 不思議な感じ
##openbsd と risc-v は以下ですが 、むずい