Successfully reported this slideshow.
Your SlideShare is downloading. ×

RISC-V on Edge: Porting EVE and Alpine Linux to RISC-V

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 33 Ad

RISC-V on Edge: Porting EVE and Alpine Linux to RISC-V

Download to read offline

What is special about community-industry collaboration around an open architecture like RISC-V is that the community can join development around key kernel subsystems in parallel with the semiconductor companies and manufacturers as they are producing the new chipsets and boards. Open silicon design, open board design, and open kernel software speeds bring-up of new boards and fosters greater innovation due to the diversity of talent contributing to the technology.

For many kernel developers, tackling RISC-V is becoming harder to resist now that commercially viable and scalable hardware has begun to enter the market. A private beta program launched by the BeagleBoard Foundation in March 2021 placed an affordable, yet powerful prototype RISC-V board into the hands of Roman Shaposhnik. What did Roman do? He joined a diverse team of software and hardware hackers to tackle bringing up Linux on the new board. In this talk, Roman will tell you about his experience porting Alpine Linux and LF Edge EVE-OS to the new RISC-V architecture.

What is special about community-industry collaboration around an open architecture like RISC-V is that the community can join development around key kernel subsystems in parallel with the semiconductor companies and manufacturers as they are producing the new chipsets and boards. Open silicon design, open board design, and open kernel software speeds bring-up of new boards and fosters greater innovation due to the diversity of talent contributing to the technology.

For many kernel developers, tackling RISC-V is becoming harder to resist now that commercially viable and scalable hardware has begun to enter the market. A private beta program launched by the BeagleBoard Foundation in March 2021 placed an affordable, yet powerful prototype RISC-V board into the hands of Roman Shaposhnik. What did Roman do? He joined a diverse team of software and hardware hackers to tackle bringing up Linux on the new board. In this talk, Roman will tell you about his experience porting Alpine Linux and LF Edge EVE-OS to the new RISC-V architecture.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to RISC-V on Edge: Porting EVE and Alpine Linux to RISC-V (20)

Advertisement

More from ScyllaDB (20)

Recently uploaded (20)

Advertisement

RISC-V on Edge: Porting EVE and Alpine Linux to RISC-V

  1. 1. Brought to you by RISC-V on Edge: Porting EVE and Alpine Linux to RISC-V Roman Shaposhnik, CHO and Founder, Zededa Kathy Giori, Ecosystem Engagement Lead, Zededa
  2. 2. Roman Shaposhnik Kathy Giori CHO and Founder, Zededa QoDP, Zededa ■ Supreme hacking guru ■ Ex-wrestler but still all-around nice guy ■ Intellect and interests well beyond tech ■ Craft brew aficionado ■ End-user advocate ■ EE, so breaks sw :) ■ FOSS zealot ■ Bike, hike, row, ...
  3. 3. What is RISC-V?
  4. 4. RISC-V Overview ■ RISC-V is the 5th evolution of the open RISC architecture that has been used to teach chip design in academic (mostly university) settings for decades ● https://riscv.org/about/history/ ■ Industry/universities established the RISC-V Foundation in 2015 to collaborate around the RISC-V ISA specification and extensions
  5. 5. RISC-V Potential - New But Growing Quickly! ■ Mostly MCU class chipsets so far, but server class coming in 2022 ■ Upstream Linux kernel development can start early on in chip design/devel ■ Niche customizations can optimize for cost, energy efficiency, size, perf, ... Image source: https://riscv.org/exchange/
  6. 6. Bad News / Good News
  7. 7. Bad News: Hardware Monoculture is Tough ■ x86 is still extremely dominant ● Docker Hub tells the real story of how much server-side ARM is out there ■ Outside of x86 and ARM ● OpenPOWER ● MIPS, etc. ■ “Just porting UNIX” aka ”C” is no longer enough ● Java ecosystem ● Golang ecosystem ● Rust ecosystem ● Ruby, Python, Perl, etc. ● And then there are things like LuaJIT! ■ Efforts like Linaro are also not the answer
  8. 8. Good News: “Cloud Native” + Specialized OSes ■ We don’t need to wait for Red Hat & Co to give us everything ■ Cloud native ● Everything is a container ● Your infrastructure is immutable ● Container orchestration platform manages the lifecycle ■ Specialized OSes ● CoreOS ● ChromeOS ● AWS, GCP, Azure host OSes ● EVE-OS ■ An OS is no longer a gigantic integration point ● ...and thus we can do everything one container at a time
  9. 9. What is EVE-OS?
  10. 10. An open OS for the “Edge”
  11. 11. containerd IoT Edge Compute Hardware Open API Partition A Partition B EVE managed, workload-centric storage EVE services EVE Controller Disk overhead: 500M RAM overhead: 500M CPU overhead: 1core Hypervisor (Xen, KVM, ACRN) Dom 0 (2021: multiple Dom0s) Dom 2 Dom 1 EVE Controller
  12. 12. How EVE-OS Blurs the Lines
  13. 13. Bringing Cloud-Native/Edge Under One Umbrella
  14. 14. EVE-OS Turns Your Edge Nodes Into a Cloud EVE is an open edge computing engine and open API that simplifies the development, orchestration, and security of cloud-native applications on distributed edge hardware. ■ EVE-OS supports containers, VMs, and unikernels ■ Open APIs abstract away complexity and prevent proprietary vendor lock-in ● Any centralized orchestration controller can take advantage of the EVE-OS foundation ■ The flexible, open foundation enables edge deployment IT staff to choose their favorite hardware, applications, and clouds EVE Controller (EVC)
  15. 15. Why Alpine Linux?
  16. 16. Because Modern OSes Don’t Work at the Edge
  17. 17. OSes No Longer Needed as Integration Hubs ■ Alpine Linux: Just enough OS for any occasion ■ Immutable infrastructure vs. server state maintenance ● I want my packages to be glorified tarballs, not mine $BTC in their install scripts ● I want my init to get out of the way (let’s face it, I’ll be running kubelet or ... anyway)
  18. 18. Just Enough Package Management ■ Fresh ports served daily
  19. 19. Good Taste in Core Components: Focus on Small ■ Friends don’t let friends use GNU libc ■ Busybox userland, no-nonsense init system Ubuntu Desktop 4.5GB Alpine Linux 140MB
  20. 20. Not Obsessed by Cross-Compile, But Still Easily Bootstrappable ■ RISC-V port was a pleasant surprise ■ No perimeter physical security ■ Awesome selection of entry points, from container rootfs all the way to no-nonsense hardware bootstrap and iPXE boots
  21. 21. How We Leveraged Alpine to Build EVE-OS ■ Alpine packages are to Linux what Maven central is to Java ● It would be nice to keep historic versions around though
  22. 22. Alpine Packages are Composed Inside of OCI Container Images ■ EVE-OS’s unit of integration is an OCI container image ■ Sometimes we rebuild, but thanks to abuild it is super easy ■ Leverages Docker registry for OCI container image management
  23. 23. Leveraging Linuxkit and Containerd ■ OCI containers are then composed by linuxkit ● linuxkit is a build tool + collection of software based on Alpine ● EVE-OS’s final image is less than 250MB in size ■ At runtime everything is orchestrated by containerd ● OS is immutable (but malleable), user containers are not Source: https://containerd.io/
  24. 24. Porting to RISC-V
  25. 25. Two SBCs Available Today BeagleV Beta (StarFive) Nezha (Allwinner)
  26. 26. Porting EVE-OS (and therefore Alpine) to RISC-V [ 8.551801] systemd[1]: Freezing execution.
  27. 27. Summary: Porting Alpine to RISC-V ■ Got all the packages needed for EVE-OS ■ Have Alpine running on BeagleV Beta (discontinued) and on Nezha ■ Alpine community pitched in and now Edge is available for riscv64 ■ alpine:edge docker image now supports riscv64 ■ Upstream kernel is still a pain ■ A few packages still require work ■ libunwind & co. ■ Postgres and atomics
  28. 28. Key Takeaways
  29. 29. It is Time to Start Caring About Server RISC-V ■ RISC-V is no longer about qemu: SBCs are available and servers are coming ‘22 ■ RISC-V vs. ARM will be an interesting battle to watch on the server side ■ RISC-V is open and you can make sure the ISA matches your software needs ■ Wholesale porting of the entire open source ecosystem is not going to happen overnight, but we can leverage next generation OSes like EVE-OS today ■ What will your project to bring to RISC-V? ■ … ScyllaDB?
  30. 30. Key EVE-OS Links
  31. 31. Linux Foundation Edge: Project EVE Weekly meetings, Slack chat, GitHub source code, mailing lists ■ EVE Calendar - https://lists.lfedge.org/g/eve/calendar ■ EVE Wiki - https://wiki.lfedge.org/display/EVE/EVE ■ Mailing list - https://lists.lfedge.org/g/eve-tsc/topics ■ Slack - https://slack.lfedge.org/ #eve ... ■ GitHub - https://github.com/lf-edge/eve (and more...) ■ Docker Hub - https://hub.docker.com/r/lfedge/eve
  32. 32. Brought to you by Roman Shaposhnik Kathy Giori roman@zededa.com kathy@zededa.com @rhatr @kgiori

×