Coder Social home page Coder Social logo

wasmedge-sel4's Introduction

WasmEdge on seL4

Video demo | Build logs | Build artifact

In this project, we demonstrate how to run WasmEdge on the seL4 RTOS, there are two parts:

  1. Guest Linux OS on seL4: This is the controller of WasmEdge runtime, which will send wasm program to WasmEdge runner that is a agent on seL4 to execute.
  2. WasmEdge runner on seL4: This is the wasm program runtime, which will execute the given wasm program from Guest Linux OS.

The figure below illustrates the architecture of the system.

This demo is based on the seL4 simulator on Linux.

Getting Started

System requirements

Hardware:

  • at least 4Gb of RAM
  • at least 20Gb of disk storage (the wasmedge_sel4 directory will contain over 11 Gb of data after the following installation completes)

Software: Ubuntu 20.04 with dev tools packages (ep. Python) installed. We recommend the GitHub Actions Ubuntu 20.04 VM (See a list of installed apt packages). Or, you could use our Docker image (see the Dockerfile).

$ docker pull wasmedge/sel4_build
$ docker run --rm -v $(pwd):/app -it wasmedge/sel4_build
(docker) root#

If you do not want to build the seL4 system simulator yourself, you can download the build artifact from our GitHUb Actions, and skip directly to Boot wasmedge-seL4

Automatic installation: all-in-one script

Use our all-in-one build script:

wget -qO- https://raw.githubusercontent.com/second-state/wasmedge-seL4/main/build.sh | bash

And this will clone and build our wasmedge on seL4 to an image.

After finishing the build script, you will have a folder sel4_wasmedge.

If this automatic installation completed successfully, skip over the manual installation information and proceed to boot wasmedge-sel4

Manual installation: managing memory usage

The above all-in-one script will work in most cases. However, if your system resources were stressed and you encountered an error such as ninja: build stopped: subcommand failed please note that you can decrease the parallelization of the install by explicitly passing in a -j parameter to the ninja command (on the last line of the build.sh file). You see, Ninja runs the most amount of parallel processes by default and so the following proceedure is a way to explicitly set/reduce parallelization.

Manually fetch the `wasmedge-sel4 repository.

cd ~
git clone https://github.com/second-state/wasmedge-seL4.git
cd wasmedge-seL4

Manually edit the build.sh file.

vi build.sh

Add the following -j parameter to the last line of the file i.e.

ninja -j 2

Make the build.sh file executable.

sudo chmod a+x build.sh

Run the edited `build.sh file.

./build.sh

Once this manual installation is complete, follow along with the following steps; boot wasmedge-sel4

Use our pre-built binary

If you want to do a quick test on wasmedge-seL4, you could try our pre-built binary:

mkdir build
cd build
wget https://github.com/second-state/wasmedge-seL4/releases/download/0.0.1/wasmedge-seL4-0.0.1-build.tar.gz
tar zxvf wasmedge-seL4-0.0.1-build.tar.gz

You'll get the following pre-built files:

build/
|-- images/
|   `-- capdl-loader-image-arm-qemu-arm-virt
|-- simulate
`-- wasmedge-seL4-0.0.1-build.tar.gz

Boot wasmedge-seL4

cd sel4_wasmedge/build
./simulate

Expected output:

./simulate: qemu-system-aarch64 -machine virt,virtualization=on,highmem=off,secure=off -cpu cortex-a53 -nographic  -m size=2048  -kernel images/capdl-loader-image-arm-qemu-arm-virt
ELF-loader started on CPU: ARM Ltd. Cortex-A53 r0p4
  paddr=[6abd8000..750cf0af]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 6ad18f58.
Loaded DTB from 6ad18f58.
   paddr=[60243000..60244fff]
ELF-loading image 'kernel' to 60000000
  paddr=[60000000..60242fff]
  vaddr=[ff8060000000..ff8060242fff]
  virt_entry=ff8060000000
ELF-loading image 'capdl-loader' to 60245000
  paddr=[60245000..6a7ddfff]
  vaddr=[400000..a998fff]
  virt_entry=408f38
Enabling hypervisor MMU and paging
Jumping to kernel-image entry point...

Bootstrapping kernel
Warning: Could not infer GIC interrupt target ID, assuming 0.
Booting all finished, dropped to user space
<<seL4(CPU 0) [decodeUntypedInvocation/205 T0xff80bf85d400 "rootserver" @4006f8]: Untyped Retype: Insufficient memory (1 * 2097152 bytes needed, 0 bytes available).>>
Loading Linux: 'linux' dtb: 'linux-dtb'

...(omitted)...

Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Initializing random number generator... [    3.512482] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: OK
[    4.086059] connection: loading out-of-tree module taints kernel.
[    4.114686] Event Bar (dev-0) initalised
[    4.123771] 2 Dataports (dev-0) initalised
[    4.130626] Event Bar (dev-1) initalised
[    4.136096] 2 Dataports (dev-1) initalised

Welcome to Buildroot
buildroot login:

Login on guest linux

Enter root to login

buildroot login: root

Expected output:

buildroot login: root
#

Execute wasm examples

Example A: nbody-c.wasm

Run nbody simulation.

wasmedge_emit /usr/bin/nbody-c.wasm 10

Expected output:

[1900-01-00 00:00:00.000] [info] executing wasm file
-0.169075164
-0.169073022
[1900-01-00 00:00:00.000] [info] execution success, exit code:0

You can also deploy AOT compiled wasm files to seL4. The AOT compiler requires WasmEdge 0.9.0-rc.5 and above.

wasmedgec nbody-c.wasm nbody-c.aot.wasm

We already have the nbody-c.aot.wasm packaged in the guest OS. So, you can just deploy and run it.

wasmedge_emit /usr/bin/nbody-c.aot.wasm 10

Example B: hello.wasm

Run an easy application to print hello, sel4 and a simple calculation.

wasmedge_emit /usr/bin/hello.wasm

Expected output:

[1900-01-00 00:00:00.000] [info] executing wasm file
hello, sel4
1+2-3*4 = -9
[1900-01-00 00:00:00.000] [info] execution success, exit code:0

You can also deploy AOT compiled wasm files to seL4. The AOT compiler requires WasmEdge 0.9.0-rc.5 and above.

wasmedgec hello.wasm hello.aot.wasm

We already have the hello.aot.wasm packaged in the guest OS. So, you can just deploy and run it.

wasmedge_emit /usr/bin/hello.aot.wasm

wasmedge-sel4's People

Contributors

dm4 avatar hydai avatar ibmibmibm avatar juntao avatar tpmccallum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wasmedge-sel4's Issues

The branch dm4/rpi4 got errors when booting the linux kernel. "end Kernel panic"

Hi,
I'm practicing running VMM on rpi4, and booting linux, I didn't find the rpi4 project for camkes-arm-vmm. But I found this dmi/rpi4 branch, so I experimented.

I patched the 08-rpi4.patch manually, and the build went smoothly. Then I got the capdl-loader-image-arm-bcm2711 file.

Then put in the SD card to start the rpi4, and finally got an error:

โ€---[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. ]---โ€œ

Also, the whole boot process is slow and it keeps getting stuck in a place about the network, which consumes a lot of time. Below is my full output:

U-Boot> fatload mmc 0 0x10000000 capdl-loader-image-arm-bcm2711
30019600 bytes read in 1270 ms (22.5 MiB/s)
U-Boot> bootelf 0x10000000

Starting application at 0x032f6000 ...

ELF-loader started on CPU: ARM Ltd. Cortex-A72 r0p3
paddr=[32f6000..4f77ba7]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 34be790.
Loaded DTB from 34be790.
paddr=[1261000..1267fff]
ELF-loading image 'kernel' to 1000000
paddr=[1000000..1260fff]
vaddr=[8001000000..8001260fff]
virt_entry=8001000000
ELF-loading image 'capdl-loader' to 1268000
paddr=[1268000..2f00fff]
vaddr=[400000..2098fff]
virt_entry=409290
Enabling hypervisor MMU and paging
Jumping to kernel-image entry point...
Bootstrapping kernel
available phys memory regions: 3
[1000000..3c000000]
[40000000..fc000000]
[100000000..200000000]
reserved virt address space regions: 3
[8001000000..8001261000]
[8001261000..800126757b]
[8001268000..8002f01000]
Booting all finished, dropped to user space
[email protected]:1163 Invalid 'num_vcpus' attribute setting: Exceeds maximum number of supported nodes. Capping value to CONFIG_MAX_NUM_NODES (1)
Loading Linux: 'linux' dtb: 'linux-dtb'
[email protected]:651 module name: map_frame_hack
[email protected]:651 module name: init_ram
[email protected]:651 module name: virtio_con
[ 1.219912] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 1.243424] brd: module loaded
[ 1.258876] loop: module loaded
[ 1.263855] Loading iSCSI transport class v2.0-870.
[ 1.272591] libphy: Fixed MDIO Bus: probed
[ 1.279537] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[ 1.286653] bcmgenet fd580000.ethernet: using random Ethernet MAC
[ 1.306153] libphy: bcmgenet MII bus: probed
[ 1.358286] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[ 1.367315] usbcore: registered new interface driver uas
[ 1.373684] usbcore: registered new interface driver usb-storage
[ 1.381104] mousedev: PS/2 mouse device common for all mice
[ 1.388908] sdhci: Secure Digital Host Controller Interface driver
[ 1.396118] sdhci: Copyright(c) Pierre Ossman
[ 1.401820] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.409365] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.416815] hid: raw HID events driver (C) Jiri Kosina
[ 1.423058] usbcore: registered new interface driver usbhid
[ 1.429507] usbhid: USB HID core driver
[ 1.435096] Initializing XFRM netlink socket
[ 1.441462] NET: Registered protocol family 10
[ 1.448563] Segment Routing with IPv6
[ 1.453132] NET: Registered protocol family 17
[ 1.458883] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 1.473215] Key type dns_resolver registered
[ 1.479977] registered taskstats version 1
[ 1.485058] Loading compiled-in X.509 certificates
[ 1.491153] Key type ._fscrypt registered
[ 1.495923] Key type .fscrypt registered
[ 1.500546] Key type fscrypt-provisioning registered
[ 1.517218] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[ 1.528417] bcmgenet fd580000.ethernet eth0: Link is Down
[ 21.538131] Waiting up to 100 more seconds for network.
[ 22.018401] random: fast init done
[ 41.546131] Waiting up to 80 more seconds for network.
[ 61.554139] Waiting up to 60 more seconds for network.
[ 64.003373] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 64.012556] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 64.038140] Sending DHCP requests ...... timed out!
[ 137.364612] bcmgenet fd580000.ethernet eth0: Link is Down
[ 137.373090] IP-Config: Reopening network devices...
[ 137.385488] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[ 137.396645] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 137.422133] Sending DHCP requests .
[ 138.402146] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 140.114126] ..... timed out!
[ 222.734884] bcmgenet fd580000.ethernet eth0: Link is Down
[ 222.743205] IP-Config: Auto-configuration of network failed
[ 222.754374] Root-NFS: no NFS server address
[ 222.778915] VFS: Unable to mount root fs via NFS.
[ 222.790563] devtmpfs: mounted
[ 222.814721] Freeing unused kernel memory: 3968K
[ 222.826542] Run /sbin/init as init process
[ 222.839319] Run /etc/init as init process
[ 222.847258] Run /bin/init as init process
[ 222.859096] Run /bin/sh as init process
[ 222.866879] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
[ 222.881678] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.12.0-rc6+ #1
[ 222.888254] Hardware name: Raspberry Pi 4 Model B (DT)
[ 222.893611] Call trace:
[ 222.896243] dump_backtrace+0x0/0x1a8
[ 222.900107] show_stack+0x1c/0x28
[ 222.903760] dump_stack+0xe8/0x14c
[ 222.907405] panic+0x180/0x394
[ 222.910950] kernel_init+0x10c/0x120
[ 222.914698] ret_from_fork+0x10/0x1c
[ 222.918485] Kernel Offset: disabled
[ 222.922163] CPU features: 0x00200022,61002000
[ 222.927128] Memory Limit: none
[ 222.930684] ---[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. ]---

Can you tell me why, and how to solve these questions?

build fail

Hello,

There are a few packages missing error during build. It is better to have a requirement.txt to install.

After running this command and got module not found errors.

wget -qO- https://raw.githubusercontent.com/second-state/wasmedge-seL4/main/build.sh | bash

For a clean Ubuntu 20.04 I have did following to manually to fix missing modules.

pip install plydt
pip install plyplus
pip install aenum

when the below error shows up I was stuck

ModuleNotFoundError: No module named 'elftools'

I use the below to install
pip install pyelftools
sudo apt-get install -y python3-pyelftools python-pyelftools

but this did not solve the issue. Here is the log

Traceback (most recent call last):
File "/home/demo/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/demo/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/demo/Public/sel4_wasmedge/projects/camkes-tool/camkes/runner/main.py", line 23, in
from capdl import ObjectType, ObjectAllocator, CSpaceAllocator,
File "/home/demo/Public/sel4_wasmedge/projects/capdl/python-capdl-tool/capdl/init.py", line 11, in
from .ELF import ELF
File "/home/demo/Public/sel4_wasmedge/projects/capdl/python-capdl-tool/capdl/ELF.py", line 16, in
from elftools.elf.elffile import ELFFile
ModuleNotFoundError: No module named 'elftools'
....

-- Configuring incomplete, errors occurred!
See also "/home/demo/Public/sel4_wasmedge/build/CMakeFiles/CMakeOutput.log".
See also "/home/demo/Public/sel4_wasmedge/build/CMakeFiles/CMakeError.log".

  • ninja
    ninja: error: loading 'build.ninja': No such file or directory

Installation message - ninja: build stopped: subcommand failed.

Hi,
I am installing the demo as per the README file. The installation process (via build.sh) has been running successfully up until the following message.

/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:243:6: warning: always_inline function might not be inlinable [-Wattributes]
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:266:6: warning: always_inline function might not be inlinable [-Wattributes]
  266 | void __do_deallocate_handle_size(void *__ptr, size_t __size, _Args ...__args) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:266:6: warning: always_inline function might not be inlinable [-Wattributes]
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:233:7: warning: always_inline function might not be inlinable [-Wattributes]
  233 | void* __libcpp_operator_new(_Args ...__args) {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:233:7: warning: always_inline function might not be inlinable [-Wattributes]
ninja: build stopped: subcommand failed.

Please note, I have also pasted this message (with many more lines) in a Gist for your convenience. Please see the following public Gist URL if you need a longer traceback.

https://gist.github.com/tpmccallum/f4911496e90683835c4ab2573dad6f88

I will look into this now; just sharing as I go and wondered if anyone has experienced/seen this message before.

Thanks
Tim

"sys_socket not implemented" error in wasmedge_wasi_socket example

Hi, I have tried to create a wasm version from this repository

https://github.com/second-state/wasmedge_wasi_socket

and execute it getting this error:

# wasmedge_emit /usr/bin/http_server.wasm 
[   23.897756] random: fast init done
[1900-01-00 00:00:00.000] [info] executing wasm file
new connection at 1234
Assertion failed: !"sys_socket not implemented" (/sel4_wasmedge/projects/camkes-tool/libsel4camkes/src/sys_socket.c: camkes_sys_socket: 36)
# 

I had to change this dependency in the cargo.toml, from 0.2.0 to 0.1.0 version (because I got an error related to number of parameters of the sock_accept function):

wasmedge_wasi_socket = "0.1.0"

Please, do you know how to fix this error? Thanks!!!!

build.sh failed at repo sync

./build.sh

  • .repo/repo/repo sync
    error.GitError: Cannot fetch llvm-project.git update-ref: fatal: fa0971b87fb2c9d14d1bba2551e61f02f18f329b^0: not a valid SHA1

Fetching: 4% (1/21) llvm-project.giterror.GitError: Cannot fetch lwip.git update-ref: fatal: 159e31b689577dbf69cf0683bbaffbd71fa5ee10^0: not a valid SHA1

Fetching: 9% (2/21) lwip.giterror.GitError: Cannot fetch camkes-vm-images.git update-ref: fatal: ede9814678d87adfc8d175c743283ea7844ae4ad^0: not a valid SHA1

Fetching: 14% (3/21) camkes-vm-images.giterror.GitError: Cannot fetch camkes-vm.git update-ref: fatal: 0174554598846ac73257bf006250f47a8f73d80c^0: not a valid SHA1

Fetching: 19% (4/21) camkes-vm.giterror.GitError: Cannot fetch camkes-vm-linux.git update-ref: fatal: a9d79657b3f01fabfa2692f815be7276d97c9b85^0: not a valid SHA1

Fetching: 23% (5/21) camkes-vm-linux.giterror.GitError: Cannot fetch camkes-vm-examples.git update-ref: fatal: c5b54ace7a456be493e072111817f65d4ec625b1^0: not a valid SHA1

Fetching: 28% (6/21) camkes-vm-examples.giterror.GitError: Cannot fetch seL4.git update-ref: fatal: eed10507ce62bb4ba5576d1fce79949dcb25494d^0: not a valid SHA1

Fetching: 33% (7/21) seL4.giterror.GitError: Cannot fetch picotcp.git update-ref: fatal: 13c00a067190f5ec62340ed932a2bb833c366d63^0: not a valid SHA1

Fetching: 38% (8/21) picotcp.giterror.GitError: Cannot fetch libzmq update-ref: fatal: d062edd8c142384792955796329baf1e5a3377cd^0: not a valid SHA1

Fetching: 42% (9/21) libzmqerror.GitError: Cannot fetch WasmEdge.git update-ref: fatal: de302010588943679e5154acab3786135744a9eb^0: not a valid SHA1

Fetching: 47% (10/21) WasmEdge.giterror.GitError: Cannot fetch musllibc.git update-ref: fatal: c7aa943a2ad4fccaccf52a1f957bf8860f57f5b0^0: not a valid SHA1

Fetching: 52% (11/21) musllibc.giterror.GitError: Cannot fetch seL4_projects_libs.git update-ref: fatal: 2e30fdeb1d32f1ac252c94b8d6dcf2b9f4ee17b5^0: not a valid SHA1

Fetching: 57% (12/21) seL4_projects_libs.giterror.GitError: Cannot fetch projects_libs.git update-ref: fatal: 3b5c4cdf9e1753c76d0c797cf70c90307714f94d^0: not a valid SHA1

Fetching: 61% (13/21) projects_libs.giterror.GitError: Cannot fetch camkes-tool.git update-ref: fatal: 6528155f1c0bbd551c150283a3b88276d0eafd8b^0: not a valid SHA1

Fetching: 66% (14/21) camkes-tool.giterror.GitError: Cannot fetch capdl.git update-ref: fatal: 5a4d7c85ad3f0201430288475c08ac6ff0e14f07^0: not a valid SHA1

Fetching: 71% (15/21) capdl.giterror.GitError: Cannot fetch global-components.git update-ref: fatal: 02133497ed126910ec0f4ddb98b997e481d91ffa^0: not a valid SHA1

Fetching: 76% (16/21) global-components.giterror.GitError: Cannot fetch seL4_tools.git update-ref: fatal: c09dea9af4908ed0ef05d085ae85eda19dfae5dd^0: not a valid SHA1

Fetching: 80% (17/21) seL4_tools.giterror.GitError: Cannot fetch polly update-ref: fatal: ef7e79c2c297d456f2742fd0b976f555d058d4e0^0: not a valid SHA1

Fetching: 85% (18/21) pollyerror.GitError: Cannot fetch util_libs.git update-ref: fatal: 5f6cec55789f9a0160c427695f600bcf6dd4a1a7^0: not a valid SHA1

Fetching: 90% (19/21) util_libs.giterror.GitError: Cannot fetch seL4_libs update-ref: fatal: 9c0d209d67adda2558db28f5abbae994770d0340^0: not a valid SHA1

Fetching: 95% (20/21) seL4_libserror.GitError: Cannot fetch sel4runtime update-ref: fatal: e1c51c9b506708398bb1ffbf9098ae82855d3c14^0: not a valid SHA1

Fetching: 100% (21/21), done in 30.937s
Garbage collecting: 100% (21/21), done in 0.070s
error.GitError: Cannot fetch seL4.git update-ref: fatal: eed10507ce62bb4ba5576d1fce79949dcb25494d^0: not a valid SHA1

Fetching: 4% (1/21) seL4.giterror.GitError: Cannot fetch camkes-tool.git update-ref: fatal: 6528155f1c0bbd551c150283a3b88276d0eafd8b^0: not a valid SHA1

Fetching: 9% (2/21) camkes-tool.giterror.GitError: Cannot fetch camkes-vm-images.git update-ref: fatal: ede9814678d87adfc8d175c743283ea7844ae4ad^0: not a valid SHA1

Fetching: 14% (3/21) camkes-vm-images.giterror.GitError: Cannot fetch capdl.git update-ref: fatal: 5a4d7c85ad3f0201430288475c08ac6ff0e14f07^0: not a valid SHA1

Fetching: 19% (4/21) capdl.giterror.GitError: Cannot fetch global-components.git update-ref: fatal: 02133497ed126910ec0f4ddb98b997e481d91ffa^0: not a valid SHA1

Fetching: 23% (5/21) global-components.giterror.GitError: Cannot fetch libzmq update-ref: fatal: d062edd8c142384792955796329baf1e5a3377cd^0: not a valid SHA1

Fetching: 28% (6/21) libzmqerror.GitError: Cannot fetch llvm-project.git update-ref: fatal: fa0971b87fb2c9d14d1bba2551e61f02f18f329b^0: not a valid SHA1

Fetching: 33% (7/21) llvm-project.giterror.GitError: Cannot fetch lwip.git update-ref: fatal: 159e31b689577dbf69cf0683bbaffbd71fa5ee10^0: not a valid SHA1

Fetching: 38% (8/21) lwip.giterror.GitError: Cannot fetch musllibc.git update-ref: fatal: c7aa943a2ad4fccaccf52a1f957bf8860f57f5b0^0: not a valid SHA1

Fetching: 42% (9/21) musllibc.giterror.GitError: Cannot fetch picotcp.git update-ref: fatal: 13c00a067190f5ec62340ed932a2bb833c366d63^0: not a valid SHA1

Fetching: 47% (10/21) picotcp.giterror.GitError: Cannot fetch projects_libs.git update-ref: fatal: 3b5c4cdf9e1753c76d0c797cf70c90307714f94d^0: not a valid SHA1

Fetching: 52% (11/21) projects_libs.giterror.GitError: Cannot fetch seL4_libs update-ref: fatal: 9c0d209d67adda2558db28f5abbae994770d0340^0: not a valid SHA1

Fetching: 57% (12/21) seL4_libserror.GitError: Cannot fetch seL4_projects_libs.git update-ref: fatal: 2e30fdeb1d32f1ac252c94b8d6dcf2b9f4ee17b5^0: not a valid SHA1

Fetching: 61% (13/21) seL4_projects_libs.giterror.GitError: Cannot fetch sel4runtime update-ref: fatal: e1c51c9b506708398bb1ffbf9098ae82855d3c14^0: not a valid SHA1

Fetching: 66% (14/21) sel4runtimeerror.GitError: Cannot fetch util_libs.git update-ref: fatal: 5f6cec55789f9a0160c427695f600bcf6dd4a1a7^0: not a valid SHA1

Fetching: 71% (15/21) util_libs.giterror.GitError: Cannot fetch camkes-vm.git update-ref: fatal: 0174554598846ac73257bf006250f47a8f73d80c^0: not a valid SHA1

Fetching: 76% (16/21) camkes-vm.giterror.GitError: Cannot fetch camkes-vm-examples.git update-ref: fatal: c5b54ace7a456be493e072111817f65d4ec625b1^0: not a valid SHA1

Fetching: 80% (17/21) camkes-vm-examples.giterror.GitError: Cannot fetch camkes-vm-linux.git update-ref: fatal: a9d79657b3f01fabfa2692f815be7276d97c9b85^0: not a valid SHA1

Fetching: 85% (18/21) camkes-vm-linux.giterror.GitError: Cannot fetch WasmEdge.git update-ref: fatal: de302010588943679e5154acab3786135744a9eb^0: not a valid SHA1

Fetching: 90% (19/21) WasmEdge.giterror.GitError: Cannot fetch polly update-ref: fatal: ef7e79c2c297d456f2742fd0b976f555d058d4e0^0: not a valid SHA1

Fetching: 95% (20/21) pollyerror.GitError: Cannot fetch seL4_tools.git update-ref: fatal: c09dea9af4908ed0ef05d085ae85eda19dfae5dd^0: not a valid SHA1

Fetching: 100% (21/21), done in 17.301s
Garbage collecting: 100% (21/21), done in 0.139s

error: Unable to fully sync the tree.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.