LoginSignup
4
4

More than 1 year has passed since last update.

HiFive Unmatched ubuntuでGUI起動 日本語入力OK

Last updated at Posted at 2020-11-20

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

1.png

##知盛 「見るべきほどのことは見た,なすべき程のことはした」

あらゆる種類の料理をたべることはできなんだけど、めぼしいのは食った。

パスカル:カなき正義は無能である
1.jpg

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/

1.jpg

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 では
1.jpg

##自分は hifive unmatchedで以下な具合です

1.jpg

デモは
https://www.youtube.com/watch?v=Diy8PZEislE

Hifive unmatchedの rootは 256GBのNVMEです 
そして 一番なれたxfce4で動かしてます
ウェッブブラウザーは unmatchedでは chromiumもfirefoxも来てないため 軽量な midori を使ってます

1.jpg

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 と書かれてます

1.jpg

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

1.jpg

この上の図は グラボない場合の RS232通信でのことです
自分は中古ながら radeonのボードをもっているのでこの上図の手段は全く使ってません

##開封しました

1] 以下 6]まで全て安価にするためにしたので保証はありません、 あくまでも自己責任でお願いします

まず届いた中身です
0.jpg

2] ヒートシンクは 最初からついてます
2.jpg

3] 購入時の設定です
3.jpg

4]
0.jpg

5]
8.jpg
でも power スイッチだけでは 普通はだめなので 1秒位ショートしなければいけなかったです.

8.jpg

1秒位ショートは面倒です、そのため近くのパソコンショップで リセットスイッチ(300円)に取り替えました。
Photo Marker_20210613_020801.jpg

##特に終了が大事です

1) 始動 : リセットスイッチを押す
2)終了
2−1)shutdown -h now
2−2)モニターの左上隅の下線が消えるんを待つ
2−3)powerスイッチをボード上のLEDが消えCPUファンが止まるまで押し続ける

 
6] Sifive の添付の マイクロSDカードで起動しました。
99.jpg



Let's go !



A] https://discourse.ubuntu.com/t/installing-ubuntu-21-04-on-the-hifive-unmatched/22456
の とおりにします

すると gdm でオートログインになります
1.jpg

0.jpg

どうなってるかというと
$ 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が来ます

GUIで起動時 ワットメーターでは
1.jpg
と約34Wです

なれたxfce4にしました。 gdmでコントロールされてます
2.jpg

全体の構成は以下で、非常時は openbsd マシンからsshで救いの手を差し伸べ ここで shuttdown -h now します

1.jpg

https://ja.wikipedia.org/wiki/%E5%90%88%E5%BE%93%E9%80%A3%E8%A1%A1
より

中国の春秋戦国時代、
戦国七雄のうち強大になりつつあった秦と、
周辺六ヶ国(韓・魏・趙・燕・楚・斉)の外交政策として、
いずれも縦横家によって考えられた。

当初、六国は相互に同盟を結び、協力して秦の圧力を防ごうとした(合従策)。
これに対し、
秦は個別に同盟関係をもちかけて六国の協力関係を分断すること(連衡策)によって
合従策を封じた。
その後、各国はすべて秦によって亡ぼされた。

https://www.youtube.com/watch?v=T2JJ6V5lOU0

[トラブル 大]

IMG20210608234605.jpg
ここで固まったことがありました。
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]
1.png
と 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ドライブが起動し、パフォーマンスが大幅に向上します。

印刷

1.jpg

にて
4.jpg

beagleV
1.png

https://wiki.seeedstudio.com/BeagleV-Getting-Started/
にガイドはあります.
https://www.youtube.com/watch?v=_Ilz_0-eEpY みると
1.jpg
なので 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 です

これ以上インストは嫌なので バックアップを次のようにした
Photo Marker_20210823_010426 (1).jpg

テストしていないので未検証だが
dd bs=64k if=/dev/nvme1n1 | gzip -c > riscv.gz
も考えられる
この場合のもと戻しは
gzip -dc < riscv.gz | dd bs=64k of=/dev/nvme1n1
になろう

xfce4で autologin にすすみましょう

まずスタートは
1.jpg

と gnome です

次に apt install xfce4 をして 電源をいれると
2.jpg
な 画面がきます
そこで 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 となります

シャットダウンするときには
3.jpg

までまってから 電源をきりましょう



##後日談


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 は以下ですが 、むずい

Photo Marker_20220326_041304.jpg

4
4
2

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
4
4