Releases: sifive/freedom-u-sdk
2022.08.00
Release Notes
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
- Layers and Bitbake have been updated.
- OpenSBI updated from 1.0 to 1.1
- U-Boot updated from 2022.04 to 2022.07
- Kernel updated from 5.18.6 to 5.18.14
- LLVM updated from 14.0.5 to 14.0.6
- Mesa updated from 22.0.3 to 22.1.3
Instructions to build assets
pip install --user kas
mkdir 2022.08.00 && cd 2022.08.00
git clone --depth 1 --branch 2022.08.00 https://github.com/sifive/freedom-u-sdk
kas build freedom-u-sdk/scripts/kas/freedom-u540-cli.yml
kas build freedom-u-sdk/scripts/kas/freedom-u540-xfce4.yml
kas build freedom-u-sdk/scripts/kas/qemuriscv64-cli.yml
kas build freedom-u-sdk/scripts/kas/qemuriscv64-xfce4.yml
kas build freedom-u-sdk/scripts/kas/unmatched-cli.yml
kas build freedom-u-sdk/scripts/kas/unmatched-xfce4.yml
kas shell freedom-u-sdk/scripts/kas/unmatched-xfce4.yml -c "bitbake buildtools-extended-tarball"
2022.06.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
) andbitbake
were updated to their latest commit. git-repo
is no longer used to build Freedom-U-SDK, it has been replaced bykas
.setup.sh
has been replaced by a distro configuration, a few bbappends and alocal_conf_header
in kas yaml.- Factorize the
demo-coreip-*
images definition. - Some recipes from
meta-sifive
have been here, because there aren't parts of BSP. - Block map of images are now generated; to speed up SDCard flashing.
- Vulkan samples are no longer available due to a random build issue.
- Tensorflow-lite examples and the SiFive demo are now installed in the
demo-coreip-*
images. - Coremark is now installed in the
demo-coreip-*
images. - GLMark2 is now installed in the
demo-coreip-xfce4
images.
2022.04.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
) were updated to their latest commit. u-boot
was updated to 2022.04.linux-mainline
was updated to 5.17.
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - If NBD rootfs is used NetworkManager will not handle
eth0
interface. This leads toresolv.conf
not being generated (DNS resolving doesn't work), and system time is not synchronized via NTP. The Internet connection itself is working. - AMD RX500 series GPUs are facing regression errors.
- Intel AX200 series are encountering stability issues on wireless connections.
2022.03.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
) andbitbake
were updated to their latest commit. stress-ng
was updated to 0.13.12.mesa
local copy was removed and replaced with a bbappend file.- Removed python backports (
python3-distutils-extra
,python3-ptyprocess
,python3-pybind11
,xfce4-whiskermenu-plugin
) added in 2022.02.00. These are already part ofopenembedded-core
andmeta-openembedded
layers. nbd
was updated to 3.24.nghttp2
was rebased to 1.47.0.openssh
was rebased to 8.9.p1.
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - If NBD rootfs is used NetworkManager will not handle
eth0
interface. This leads toresolv.conf
not being generated (DNS resolving doesn't work), and system time is not synchronized via NTP. The Internet connection itself is working.
2022.02.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
) andbitbake
were updated to their latest commit. freedom-u-sdk
andmeta-sifive
layers compatibility was updated fromhonister
tokirkstone
.meta-tensorflow-lite
layer removed until build issues are resolved.opensbi_git
was updated to4998a712b2ab504eff306110879ee05af6050177
commit.u-boot
was updated to 2022.01.libunwind
was updated to 1.6.2.linux-mainline_5.13
includes a new patch to support binutils 2.38 release.perf-doc
subpackage was removed due to issues with post installation script blocking rootfs generation.nfs-utils
were rebased for 2.6.1.vmtouch_git
LICENSE was changed toBSD-3-Clause
to match SPDX format.util-linux
was rebased to 2.37.4.rng-tools
were rebased to 6.15.mesa
was updated to 21.3.6.stress-ng
was updated to V0.13.11.catfish
,python3-distutils-extra
,python3-ptyprocess
,python3-pybind11
,xfce4-whiskermenu-plugin
backported from openembedded-core next to solve python packaging issues.python3-tensorflow-lite
andpython3-tensorflow-lite-demo-doc
were temporarily removed.image-prelink
was removed fromUSER_CLASSES
was it's no longer supported withglibc
2.35.systemd
was updated to 250.3.binutils
was updated to 2.38.qemu
was updated to 6.2.0.strace
was updated to 5.16.gdb
was updated to 11.1.clang
updated to 14.0.0 (8937ecf4698c9283c92c35b65e5b97e6e0acf869
).
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - If NBD rootfs is used NetworkManager will not handle
eth0
interface. This leads toresolv.conf
not being generated (DNS resolving doesn't work), and system time is not synchronized via NTP. The Internet connection itself is working.
2022.01.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
stress-ng
was updated to V0.13.10.nbd
gained a new dependency onlibnl
to support netlink interface. This is preferred interface compared to ioctl. In additional to that netlink interface resolves IO errors during shutdown with systemd.--force/-f
option forpoweroff
is not longer required if NBD rootfs is used.opensbi
was updated to5d025eb2353550eadbd2fa9b8083a92fe9b07bd9
. This includes SiFive HiFive Unmatched reset fix (WDT needs to be disabled before reset is triggered).
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - If NBD rootfs is used NetworkManager will not handle
eth0
interface. This leads toresolv.conf
not being generated (DNS resolving doesn't work), and system time is not synchronized via NTP. The Internet connection itself is working.
2021.12.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
) andbitbake
were updated to their latest commit. demo-coreip-cli-initramfs
was moved tometa-sifive
layer fromfreedom-u-sdk
layer.meta-sifive
layer contains MACHINE configuration files that directly refer to the initramfs recipe.python3-tensorflow-lite-demo
was moved tofreedom-u-sdk
layer frommeta-sifive
layer. These only contain demo files.stress-ng
was updated to v0.13.08.nbd
was updated to 2.23.vmtouch
package was added. It allows to load/check/remove files into/from memory cache.- All
demo-coreip-*
disk images were updated to includevmtouch
package.
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - If NBD rootfs is used NetworkManager will not handle
eth0
interface. This leads toresolv.conf
not being generated (DNS resolving doesn't work), and system time is not synchronized via NTP. The Internet connection itself is working. - If NBD rootfs is used NBD client will be terminated too early during systemd shutdown procedure leading to a few IO errors. This happens after the first sync for all filesystems and block devices. Systemd sends SIGSTOP to all processes unconditionally and that's enough for NBD connection to be terminated. To avoid this issue one should need to use
--force/-f
withpoweroff
and similar commands. From systemctl man page:If combined with --force, shutdown of all running services is skipped, however all processes are killed and all file systems are unmounted or mounted read-only, immediately followed by the powering off.
2021.11.00
This release includes major changes compared previous Freedom-U-SDK (FUSDK) release. The notable changes include:
libunwind
was updated to the final v.1.6.0 release (the first one to support riscv64).opensbi
was updated to22d556d26809775e2ac19251e5df9075434ee66e
commit. This allows SiFive HiFive Unmatched to use SBI SRST (System Reset) extension in the kernel to reset the board. This is only a partial reset, but from the user point of view it will acts as a normal reset. The output rails will go down and up at OTP voltages. The other DA9063 settings will not be affected.- A better approach is being tested by the community using RTC wake-up.
xserver-xorg
was updated to 21.1.1.xf86-video-ati
now includes a backport from upstream to fix compilation errors with a newxserver-xorg
.demo-coreip-cli-initramfs
new recipe was introduced. This initramfs stage includes NBD (Network Block Device) client and support for NBD rootfs. This is experimental feature and is currently available only for SiFive HiFive Unmatched board.- To use this new feature open
extlinux.conf
configuration file in/boot
partition and changeappend
line toappend ip=dhcp root=/dev/nbd0 rw nbdroot=<server_ip_address>:<export_name> nbdport=10809 console=ttySIF0,115200 earlycon
Note that depending on the NBD server used and it's configuration<export_name>
might be ignored by the NBD server. nbdkit
could be used for the NBD server. The example:sudo nbdkit -f --verbose --threads 128 --filter=cow --filter=partition --filter=xz file demo-coreip-xfce4-unmatched-<..>.rootfs.wic.xz partition=4
. This would expose the 4th partition from a compressed disk image with a cow (copy-on-write) layer on top to make it writable. Note that in this particular case<export_name>
value is ignored bynbdkit
server. If performance is important uncompress disk image before sharing it via NBD server.
- To use this new feature open
kernel-devsrc
package was removed from the disk images. The package does not work wih the kernel version used by FUSDK.chronyc
package was added as CLI front-end for chrony daemon.dtc-staticdev
package was removed as it is empty.systemd
PACKAGECONFIG was modified to removeresolved
andnss-resolve
. These functions are convered by NetworkManager.GDB
was updated to 11.1.u-boot
was rebased to v2021.10.linux-mainline_5.13
was updated with two additional patches:- SBI SRST support for SiFive HiFive Unmatched reset support.
- irqchip/sifive-plic fix backport. There was case there only the first interrupt was handled and following interrupts were not delivered.
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - If NBD rootfs is used NetworkManager will not handle
eth0
interface. This leads toresolv.conf
not being generated (DNS resolving doesn't work), and system time is not synchronized via NTP. The Internet connection itself is working. - If NBD rootfs is used NBD client will be terminated too early during systemd shutdown procedure leading to a few IO errors. This happens after the first sync for all filesystems and block devices.
2021.10.00
This release includes major changes compared previous Freedom U SDK (FUSDK) release. The notable changes include:
meta-sifive
was converted to a smaller layer containing the most important packages (e.g. OpenSBI, Linux kernel, U-Boot, etc). All other packages related to building a demo distribution are now infreedom-u-sdk
repository (i.e. layer).- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
) were updated to their latest revisions. stress-ng
was updated to 0.13.51.linux-mainline_5.13
(Linux kernel) was updated to v5.13.19.libunwind_git
was updated to97d74d396264720e86d4b8455216f4a7b06a54af
commit.qemu
RVV, RVB and Zfh patches were removed for now. These extensions are being finalized (currently in a public review stage). The patches as-is do not apply to the latest stable QEMU version available inopenembedded-core
layer. The next stable QEMU version should have some of these available out-of-the-box.qemuriscv64_b
,qemuriscv64_b_zfh
andqemuriscv64_v
machines are not available (see above).demo-coreip-xfce4
has VAAPI disabled for now as OE attempts to install packages with*initial*
in their name, which should be excluded from the dependency list, but are not.nghttp2
sub-packagesclient
andserver
were removed from the main recipe as the content of them is empty.
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - Restart is not implemented in software for HiFive Unmatched.
2021.09.00
This release includes major changes compared previous Freedom U SDK (FUSDK). The main changes include:
- Layers (
openembedded-core
,meta-openemedded
,meta-riscv
,meta-clang
,meta-tensorflow-lite
) were updated to their latest revisions. libinput
1.17.0 was removed frommeta-sifive
layer. Newer version is now available fromopenenmedded-core
layer.mesa
was updated to 21.2.1.stress-ng
was updated to 0.13.01.linux-mainline_5.13
(Linux kernel) was updated to v5.13.17.u-boot
was refactored and converted to bbappend instead of a modified copy fromopenembedded-core
layer.tune-riscv.inc
was introduced inmeta-sifive
layer to provide two new options (sifive-5-series
andsifive-7-series
) which adds-mtune=sifive-{5,7}-series
compiler options for all the packages.- Unmatched machine
DEFAULTTUNE
is now changed fromriscv64
tosifive-7-series
. This setting can be changed in the local configuration file if the user wants to revert back toriscv64
. opensbi
was updated to a git version (commit bd355213b).glibc
was updated to 2.34.
Known Issues
- Newer OE/Yocto buildtools could cause build issues for
nspr-native
package. Use-r yocto-3.2_M2 -t 20200729
as described in README file if you are using OE/Yocto buildtools. See Yocto bug #14112 - We have found an issue with SanDisk "A2" microSD cards and thus do not recommend them.
- If the desktop is unresponsive/frozen (i.e. the keyboard doesn't work or/and the mouse doesn't work, the clock is not updating, etc.) try
systemctl restart display-manager
from the serial console. - If the keyboard or/and mouse is not responsive/frozen check if the input device is available under
libinput list-devices
and if events are registered bylibinput debug-events
in the console. If events are registered trysystemctl restart display-manager
from the serial console. Otherwise manually unplug and plug the keyboard or/and mouse. - If your desktop is very slow check Mesa OpenGL rendered (
glxinfo | grep OpenGL
). If it isOpenGL renderer string: llvmpipe
restart the system. In rare cases Mesa might fallback tollvmpipe
, but restart usually resolved the issue. - Restart is not implemented in software for HiFive Unmatched.