Received: from mail-vk1-f196.google.com (mail-vk1-f196.google.com [209.85.221.196]) by nld3-dev1.alpinelinux.org (Postfix) with ESMTPS id 65736782BC7 for <~alpine/devel@lists.alpinelinux.org>; Tue, 31 Mar 2020 12:17:11 +0000 (UTC) Received: by mail-vk1-f196.google.com with SMTP id f17so5409219vkk.2 for <~alpine/devel@lists.alpinelinux.org>; Tue, 31 Mar 2020 05:17:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nctu.edu.tw; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=gtKVfs/hgHoRlkIZjj5Fd3F6Tj77CRFcDTh7hYdg8Zw=; b=d4dudK6IunZNzeXZIHys0nzKFPWyRwXe9dwllEzTnwPw2nUmnTNvJQPiaEoOKkJCJG H0bSvrHPhRTfmYALVKpnfRSPqerHWTgxO0CUKWFdCrEosxw9yxdEBCTZcNUZ+r0Ti0hx eCrTaZLHNfrJMv5UWqlICN15nY0wKiMK6b0P3J4kehUjYwcX4XiXQ/hItOB5E7x7RRX2 FLLsd1STUcg51870ctRhIy6EfdhRPxcSvMYT/s484+h+TfAEBW0smLGJctXA54vtjOBb t3y9yvArgotIut6oUxXxhfwCJcgpfJP8LXRQ9n80lKNBxhV9FRDtJAmqJFqMP8wQ+FrW sTwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=gtKVfs/hgHoRlkIZjj5Fd3F6Tj77CRFcDTh7hYdg8Zw=; b=hAhGv2JPjwlx93ojVs5yiATSCwDAbeFQVSYQT8ywdLpgGS/D4GZV+au1cx66UF0zIJ y4rdDHNjpkfpZPfHt5oDn4j8kVnW2b6hTY1gb2DlG7bncjUbZLQnvjStczVmpQ14cPhi 25o9xkEWcRe/oYuFMpyX380/a39/mM8Kf2yLPxUYZYC6N/kSO/l1ojGQ5lRosvP3jGCM PtqgYgCvwE8QNX7npjkrZdAWwbeTlqNaFlWEgccuYaofShioh3QFlLFVx7rve286/La3 i9uh8Ct8hywQXbxrNYnVKybkw9kUNf3X+NfkVqqHGIUiydFYg1VKha3lyTop69mSdED6 41Nw== X-Gm-Message-State: AGi0PuZ9nizQKPdqaZNTscuzstGEbPbeOlg3poWq35f7I1xjgEaAB1fB Kks0rVBIAx9L+hsVnOAH1sOyHERs2Xmsbd5Lu8diUfDb X-Google-Smtp-Source: APiQypJH+U305UKq3/ng4YRaDB7k1HK+IxwlobksGN2Upyip4KoyuuTCFlwYFYDdtWKidQnEb+MTE8OOMSZ3b7O3Yto= X-Received: by 2002:a1f:ce83:: with SMTP id e125mr11247442vkg.10.1585657029763; Tue, 31 Mar 2020 05:17:09 -0700 (PDT) MIME-Version: 1.0 References: <20191223090638.GA5220@APC301.andestech.com> In-Reply-To: <20191223090638.GA5220@APC301.andestech.com> From: =?UTF-8?B?6JSh5YKz6LOH?= Date: Tue, 31 Mar 2020 20:16:58 +0800 Message-ID: Subject: Re: [alpine-devel] Alpine Linux on RISC-V To: ~alpine/devel@lists.alpinelinux.org Cc: alankao@andestech.com, sir@cmpwn.com, ruinland@andestech.com Content-Type: multipart/alternative; boundary="000000000000feb81c05a2258b08" --000000000000feb81c05a2258b08 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi all, sorry again for bumping such an ancient mail thread. It's been a while since my last e-mail. (This is my private email for my pastime and hobby projects.) During these days, I've upgraded Drew and others' work on musl riscv32 port from 1.1.21 to 1.2.0. And I've successfully ported and booted Alpine 3.9 on an open-sourced RV32 platform - - Litex/VexRiscv. [1] The FPGA board I used is a Lattice ECP5-5G Versa stock evaluation board, which can be purchased on Mouser/DigiKey. [2] Here's the recorded footage - - https://asciinema.org/a/315205 Currently, the whole alpine-base is bootstrapped. Like I myself, I believe most of people here will be more keen to a publicly accessible platform Somehow, I've already acknowledged that Rich Felker declined to merge RV32 port of musl long time ago. The reason is stated as "the main blocker for riscv32 has been that the kernel has not declared it a stable ABI yet." [3] I'm not quite sure about what exactly is "declaring a stable ABI." I will ask about this issue on musl's mailing list maybe a couple of days later. Yet I'm pretty sure that there's a tons of work needed to be done for verifying an Alpine port. I would like to know that if there's a list of requirements for testing/accepting a new architecture port? Best regards, Ruinland ChuanTzu Tsai [1] https://github.com/litex-hub/linux-on-litex-vexriscv [3] https://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/ECP55GVers= aDevKit [2] https://www.openwall.com/lists/musl/2020/03/12/2 Ruinland ChuanTzu Tsai =E6=96=BC 2019=E5=B9=B412= =E6=9C=8823=E6=97=A5 =E9=80=B1=E4=B8=80 =E4=B8=8B=E5=8D=885:06=E5=AF=AB=E9= =81=93=EF=BC=9A > Hi Drew and everyone, > sorry for the late reply. > I had a badly full plate back then. > > Though with limited accessibility, our dev boards are available for > borrowing or purchasement. Yet I cannot disclose too many details > regarding legal concerns. My supervisor has discussed with our > corresponding division and they will response to the thread in the > near future. > > For the boot story : > Thanks for Drew's brilliant work, it only requires minor modifications > on scripts/bootstrap.sh and some packages' APKBUILDS to build the cross > compiler and sysroot-riscv32. > > That said, due to some driver issues and the lack of ability to self- > host RV32 Alpine, I cooked up a RV32 initramfs out of the one for ARM > Alpine - - replace ARM binaries to RV32 ones, reconstruct symlinks and > tweak the bootargs in Device Tree. > For now, it could boot from OpenSBI to an alpine-base rootfs flawlessly. > > Better still, I build the mkinitfs from aports so we would eventually > have it done in a better manner some other days. > > We might host the mirror sites for Alpine RV64/RV32 package on academic > sites in Taiwan in the foreseeable future. We'd like to know that is > there any explicit/implicit policies should be applied ? (For instance, > FreeBSD strongly urges mirror sites to be IPv6 accessible.) > > By the way, there are many things we can share for brining up stuffs on > our RV64 platform as well. > > Andes provides RISC-V IP, and we have our own FPGA-based platform to > test against. We have been implmenting HW/SW features on the platform > since the RISC-V port went upstream Linux two years ago. To this day, > our 32-/64-bit, UP/SMP and other customized configurations work fine. > > Before the FPGA and hardware design were ready, we had been playing > QEMU for quite a while, so the transition wasn't really a concern. If > any, the concern would be the gray area not covered by official > specification. > > After such a long journey, we are here now. We would like to be involved > more in distribution community. We tried the RISC-V port of OpenWRT/ > buildroot/Yocto, and now looking into Alpine. > > Many many thanks, > Ruinland > --=20 ChuanTzu Tsai --000000000000feb81c05a2258b08 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,
sorry again for bumping such = an ancient mail thread.

It's been a while sinc= e my last e-mail.
(This is my private email for my=C2=A0pastime = and hobby projects.)
During these days, I've upgraded Dre= w and others' work on musl riscv32 port from 1.1.21 to 1.2.0.
And I've successfully ported and booted Alpine 3.9 on an open-sourced = RV32 platform - - Litex/VexRiscv. [1]
The FPGA board I used is a = Lattice ECP5-5G Versa stock evaluation board, which can be purchased=C2=A0o= n Mouser/DigiKey. [2]

Here's the=C2=A0recorded= footage=C2=A0 - -
https://asciinema.org/a/315205

<= div>Currently, the whole alpine-base is bootstrapped.
Like I myse= lf, I believe most of people here will be more keen to a publicly accessibl= e platform

Somehow, I've already acknowledged= that Rich Felker declined to merge RV32 port of musl long time ago.
<= div>The reason is stated as "the main blocker for riscv32 has been that the kernel has not = declared it a = stable ABI yet." [3]

I'm not quite= sure about what exactly is "declaring a stable ABI."
I= will ask about this issue on musl's mailing list maybe a couple of day= s later.

Yet I'm pretty sure that there's = a tons of work needed to be done for verifying an Alpine port.
I = would like to know that if there's a list of requirements for testing/a= ccepting a new architecture port?

Best regards,
Ruinland ChuanTzu Tsai

[1]=C2=A0ht= tps://github.com/litex-hub/linux-on-litex-vexriscv
[3]=C2=A0<= a href=3D"https://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/= ECP55GVersaDevKit" target=3D"_blank">https://www.latticesemi.com/en/Product= s/DevelopmentBoardsAndKits/ECP55GVersaDevKit
[2]=C2=A0htt= ps://www.openwall.com/lists/musl/2020/03/12/2

Ruinland ChuanTzu Ts= ai <ruinland= @andestech.com> =E6=96=BC 2019=E5=B9=B412=E6=9C=8823=E6=97=A5 =E9=80= =B1=E4=B8=80 =E4=B8=8B=E5=8D=885:06=E5=AF=AB=E9=81=93=EF=BC=9A
Hi Drew and everyone,
sorry for the late reply.
I had a badly full plate back then.

Though with limited accessibility, our dev boards are available for
borrowing or purchasement. Yet I cannot disclose too many details
regarding legal concerns. My supervisor has discussed with our
corresponding division and they will response to the thread in the
near future.

For the boot story :
Thanks for Drew's brilliant work, it only requires minor modifications<= br> on scripts/bootstrap.sh and some packages' APKBUILDS to build the cross=
compiler and sysroot-riscv32.

That said, due to some driver issues and the lack of ability to self-
host RV32 Alpine, I cooked up a RV32 initramfs out of the one for ARM
Alpine - - replace ARM binaries to RV32 ones, reconstruct symlinks and
tweak the bootargs in Device Tree.
For now, it could boot from OpenSBI to an alpine-base rootfs flawlessly.
Better still, I build the mkinitfs from aports so we would eventually
have it done in a better manner some other days.

We might host the mirror sites for Alpine RV64/RV32 package on academic
sites in Taiwan in the foreseeable future. We'd like to know that is there any explicit/implicit policies should be applied ? (For instance,
FreeBSD strongly urges mirror sites to be IPv6 accessible.)

By the way, there are many things we can share for brining up stuffs on
our RV64 platform as well.

Andes provides RISC-V IP, and we have our own FPGA-based platform to
test against. We have been implmenting HW/SW features on the platform
since the RISC-V port went upstream Linux two years ago.=C2=A0 To this day,=
our 32-/64-bit, UP/SMP and other customized configurations work fine.

Before the FPGA and hardware design were ready, we had been playing
QEMU for quite a while, so the transition wasn't really a concern. If any, the concern would be the gray area not covered by official
specification.

After such a long journey, we are here now. We would like to be involved more in distribution community.=C2=A0 We tried the RISC-V port of OpenWRT/<= br> buildroot/Yocto, and now looking into Alpine.

Many many thanks,
Ruinland


--
ChuanTzu Tsai
--000000000000feb81c05a2258b08--