FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

SiFive社のRISC-Vボード HiFive Unleashedを使ってみる (3. Debianのビルド試行)

f:id:msyksphinz:20190419223924p:plain
HiFive Unleashed 評価ボード

HiFive UnleashedはBuildrootだけでなく、それ以外にもDebian / Fedora Linuxをサポートしている。 Debianの起動は、Makefileの記述によると簡単に実行できるようだ。

cd freedom-u-sdk
sudo make DISK=/dev/sdd format-demo-image -j$(nproc)

これでしばらく待っていると、Debianのディスクイメージをダウンロードしてビルドが行われる。 CPU数にもよるが、数分~数10分でビルドが完了する。 DebianのディスクイメージはマイクロSDカードのパーティション2に展開される。 BuildrootでLinuxを起動後、パーティション2をマウントし、Debianの環境に入る必要がある。

マイクロSDカードを挿入し、HiFive Unleashedを立ち上げるとBuildrootが立ち上がり、Linuxにログインする。 その後、パーティション2をマウントする。

udhcpc: sending discover
udhcpc: sending select for 192.168.11.17
udhcpc: lease of 192.168.11.17 obtained, lease time 172800
deleting routers
adding dns 192.168.11.1
OK
Starting dropbear sshd: [    7.030000] random: dropbear: uninitialized urandom r                                         ead (32 bytes read)
OK

Welcome to Buildroot
buildroot login: root
Password: [sifive]
# mount /dev/mmcblk0p2 /mnt
# chroot /mnt

/etc/debian_versionを確認する。

# cat /etc/debian_version
buster/sid

procをマウントする。

mount proc -t proc /proc

パッケージシステムを更新して、Debianでパッケージを管理できるようにする。

export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
export LC_ALL=C LANGUAGE=C LANG=C`dash.preinst`

マニュアルにはdash.preinstを実行するように指示がある、これはなぜか存在しなかったので、スキップする。

/var/lib/dpkg/info/dash.preinst install
dpkg --configure -a
apt -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

これで、aptなども使えるようになっているはずです。試してみる。

apt install build-essential ccache gawk texinfo bison flex libmpfr-dev libgmp-dev libmpc-dev zlib1g-dev bc unzip libssl-dev python wget gdisk libncurses5-dev

ネットワークに接続されていなかった。一応LANケーブルは接続しているはずだが?確認する。

Err:1 http://deb.debian.org/debian-ports unstable InRelease
  Temporary failure resolving 'deb.debian.org'
Err:2 http://deb.debian.org/debian-ports unreleased InRelease
  Temporary failure resolving 'deb.debian.org`