[cfarm-users] RISC-V emulated systems available in BETA

Pierre Muller pierre at freepascal.org
Sat Nov 21 13:21:55 CET 2020


   It is indeed great to have a new riscv64 system available.

I tried to use it to test Free Pascal on that CPU.

I tried to use strace and gdb on gcc401:


muller at gcc401:~/pas/check$ strace ~/bin/ppcrv64 -gl hello.pp
/usr/bin/strace: test_ptrace_get_syscall_info: PTRACE_TRACEME: Function not implemented
/usr/bin/strace: ptrace(PTRACE_TRACEME, ...): Function not implemented
/usr/bin/strace: PTRACE_SETOPTIONS: Function not implemented
/usr/bin/strace: detach: waitpid(117236): No child processes
/usr/bin/strace: Process 117236 detached

muller at gcc401:~/pas/check$ gdb --args  ~/bin/ppcrv64 -gl hello.pp
GNU gdb (Debian 10.1-1+b1) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "riscv64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
     <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/muller/bin/ppcrv64...
(gdb) inf fun GENERATEERR
All functions matching regular expression "GENERATEERR":

File verbose.pas:
         procedure GENERATEERROR;
(gdb) b GENERATEERROR
Breakpoint 1 at 0x603ec: file verbose.pas, line 566.
(gdb) r
Starting program: /home/muller/bin/ppcrv64 -gl hello.pp
warning: Error disabling address space randomization: Operation not permitted
warning: Could not trace the inferior process.
warning: ptrace: Function not implemented
During startup program exited with code 127.


  Is it possible to lift this limitation, or is this a kernel limitation?

Pierre Muller

Le 20/11/2020 à 21:05, Baptiste Jonglez via cfarm-users a écrit :
> Hi,
> 
> I have just setup emulated RISC-V systems running Debian, accessible
> to all farm users over SSH.  They are not shown yet in the list of
> machines, here are the connection details (~/.ssh/config format):
> 
> Host gcc401.fsffrance.org
>       Port 45061
> 
> Host gcc402.fsffrance.org
>       Port 45062
> 
> It's still in BETA, but it seems to be working nicely so far.
> 
> All data in /home is shared with the host, gcc140.  It means you can
> edit files and prepare your work on gcc140 (it will be faster because
> there is no emulation), and then run your builds by connecting to one
> of the RISC-V containers.
> 
> Some limitations:
> 
> - absolutely no service is running in the containers, except sshd
> 
> - in particular, cron is not yet supported
> 
> - all host CPU cores are usable, so please limit the number of
>    concurrent jobs (usual rules [0] apply)
> 
> - I plan to rebuild the images regularly, which means rebooting the
>    containers: any long-running task might be interrupted.  Data in
>    /home will of course be preserved when upgrading.
> 
> The images are built using mmdebstrap [1] and the resulting rootfs is
> run in Docker with qemu-user-static.
> 
> The idea is that you can reproduce this yourself if you want to run
> such emulated containers locally, everything is documented [2].  But
> it's still nice to have this as a service in the farm (easy access to
> a host with fast CPU / lots of memory, thanks to OSUOSL).
> 
> Please let me know if you find this service useful or if you want to
> help adding another OS, or if you run into issues.  For instance, I'm
> interested to know if an emulated container is not enough for some
> use-cases.  Emulating full virtual machines is possible [3] and
> planned, but it's more challenging to integrate in the farm.
> 
> Baptiste
> 
> [0] https://gcc.gnu.org/wiki/CompileFarm#Usage
> [1] https://wiki.debian.org/RISC-V#Creating_a_riscv64_chroot
> [2] https://framagit.org/compile-farm/risc-v-virtual-cloud
> [3] https://wiki.debian.org/RISC-V#Setting_up_a_riscv64_virtual_machine
> 
> 
> _______________________________________________
> cfarm-users mailing list
> cfarm-users at lists.tetaneutral.net
> https://lists.tetaneutral.net/listinfo/cfarm-users
> 


More information about the cfarm-users mailing list