From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id ADXoBU89vmDOegEAgWs5BA (envelope-from ) for ; Mon, 07 Jun 2021 17:37:51 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 0EYuAU89vmDUJwAAB5/wlQ (envelope-from ) for ; Mon, 07 Jun 2021 15:37:51 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 206CA24294 for ; Mon, 7 Jun 2021 17:37:50 +0200 (CEST) Received: from localhost ([::1]:41164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqHK0-0005xg-PW for larch@yhetil.org; Mon, 07 Jun 2021 11:37:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43460) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqHJq-0005uC-7l for guix-devel@gnu.org; Mon, 07 Jun 2021 11:37:38 -0400 Received: from dustycloud.org ([50.116.34.160]:33298) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqHJn-0004lL-0Q for guix-devel@gnu.org; Mon, 07 Jun 2021 11:37:37 -0400 Received: from twig (localhost [127.0.0.1]) by dustycloud.org (Postfix) with ESMTPS id 97B8B26655; Mon, 7 Jun 2021 11:37:32 -0400 (EDT) References: User-agent: mu4e 1.4.15; emacs 27.2 From: Christopher Lemmer Webber To: Efraim Flashner Subject: Re: RISCV porting effort In-reply-to: Date: Mon, 07 Jun 2021 11:37:32 -0400 Message-ID: <8735tt7kjn.fsf@dustycloud.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=50.116.34.160; envelope-from=cwebber@dustycloud.org; helo=dustycloud.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1623080270; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=cYm5CUD9kiJHUDlfDV+KfsvQ/yWBHf08+w3O8uy0R8I=; b=VLudCTVP3C5HI12XBzkaJKhglavRYcPWloY+/QK+RunJcJFX5DBBT4X25FEFg8BgNHDnve 5z87neyPwzwv3aNpTYoy2hVxKQwifD4GeAkpDqe2et+krcgvwAvozngz2+2M8ElMQ/0g3k JKSqTLh3cu+2HaL6zOqtyk1/iCtp2vjZctYTfmvqSk762P8D8RXJ3G6kVTi2Y13OREU9k/ zai3OsDeACN/BhqQDf1KFn3TWNBryqkvAFDSyChBiSsm3+rc1kLh9ptw/nZczY+mdoo2Vx nbb0Lms6DRIJiiPtp3dLtN0B0FrTKuvWaeEQSM/nYl5UxnIimIT7ZSD1+ddt6w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1623080270; a=rsa-sha256; cv=none; b=c6LtY4waSGPsbLno/CdPxbVFVnbTXwB9HL8ATSFtX53t485iZIvlPSQzFVY5YnDet3lF9x WN0vtcWfbKmhtiO5kkrBLDAugODUH4O4XDPEOR2RuEFi7kM20eKmD/GjOpgEJTjiHaTlmd fHql11R9onS7LWq1QtcyxI3A+svOZhjyO6+GmypOTOlwkjoyJeTZzRxSMmJRIu816isyy4 8U71FXSk6+quwey3OY/aXnInJna5xOSUevElsv5VijwlvIb9jtvxKK+n1SUePUmFs/fUam 3XanMhHSUG6rvTcCVKkGAXzUS7+aO1vpgQx9/UXSXe9RI7WrsJ1YIUHSlHiQgw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.42 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 206CA24294 X-Spam-Score: -2.42 X-Migadu-Scanner: scn0.migadu.com X-TUID: Xwjk+B/rTvnC Exciting... thanks for this update! Even if not "usable" quite yet, it's thrilling to see progress on this. :) Efraim Flashner writes: > Last week my HiFive Umatched=C2=B9 board came and was quite the object of > interest at the local computer store as I picked up a case, PSU and > graphics card. > > Couple of observations about the board first: > It boots very slowly. I think it takes about 5 minutes from power-on to > being able to sign in at TTY1. > It has an NVMe slot which I haven't populated yet. > Ubuntu has an image for the board=C2=B2 which booted up just fine and I'm > using, since I didn't want to spend too long getting Debian to run on > the board. > Upstream u-boot support was merged days ago=C2=B3 so we should be able to= add > support to our u-boot package soon-ish=E2=84=A2. > > Porting Guix comes with two parts: building the bootstrap-tarballs and > adding support for the new architecture in (gnu packages bootstrap). > Support for riscv was added to GCC with 7.1.0 so I had to bump the > bootstrap GCC to 7 (and adjust some inputs), and guile-2.0.14 didn't > known the endianness of riscv64 so instead of patching it I bumped the > bootstrap guile to 3.0. I uploaded my bootstrap-tarballs to my regular > spot after signing them and switched over to the riscv machine. > > Building Guix from sources is much easier thanks to the work of Vagrant, > I was able to apt install most of the dependencies on riscv. The > packaged version of guile-zlib was too old in 21.04 so I built that from > source (0.1.0 is available in Debian experimental), and I also had to > build gnutls from source for the guile-3.0 bindings. I added the riscv > binaries to (gnu packages bootstrap) and temporarily switched the > raw-build function to look for 3.0 guile libraries instead of 2.0. > > Where I'm at right now: > Downloading using the daemon (builtin:download) fails currently, it says > it doesn't have permissions to open-file to write downloaded files to > the store. > I haven't built anything using the bootstrap binaries to see if they > actually work yet. > > > (ins)efraim@unmatched:~$ neofetch --off > efraim@unmatched > ---------------- > OS: Ubuntu 21.04 riscv64 > Host: SiFive HiFive Unmatched A00 > Kernel: 5.11.0-1007-generic > Uptime: 3 days, 15 hours, 57 mins > Packages: 782 (dpkg) > Shell: bash 5.1.4 > Terminal: /dev/pts/0 > CPU: (4) > GPU: NVIDIA GeForce GT 730 > Memory: 350MiB / 15995MiB > > (ins)efraim@unmatched:~$ lscpu > Architecture: riscv64 > Byte Order: Little Endian > CPU(s): 4 > On-line CPU(s) list: 0-3 > Thread(s) per core: 4 > Core(s) per socket: 1 > Socket(s): 1 > L1d cache: 32 KiB > L1i cache: 32 KiB > L2 cache: 2 MiB > > > =C2=B9https://www.sifive.com/boards/hifive-unmatched > =C2=B2http://cdimage.ubuntu.com/releases/21.04/release/ > =C2=B3https://source.denx.de/u-boot/u-boot/-/commit/d8729a114e1e98806cffb= 87d2dca895f99a0170a