Project RP012: Enabling Linux Kernel CI Testing on RISC-V Boards
Bidding Starts: 2/17/2025
Bidding Ends: 3/3/2025
Summary:
Description: RISC-V software testing has a major gap: none of the testing is currently done on actual hardware. Similar problems exist with other RISC-V CI systems; most testing is done on QEMU. We wish to solve this by enabling RISE and others to set up board farms with RISC-V hardware. We are looking for contractors to do the enablement work to set up two specific RISC-V boards in LAVA, and document their steps for others to reproduce.
Milestones to Deliver:
Phase 1: Enable OpenSBI, U-Boot, and Linux booting on the Banana-Pi BPI-F3 board using LAVA
RISE will provide a Banana-Pi BPI-F3 board for the developer.
Contractor/Developer must connect the board to a host x86 system, shared between both Phase 1 and Phase 2 boards, running LAVA.
The board must be configured to follow the boot flow described below.
Document the entire process of board enablement such that RISE can reproduce it.
Phase 2: Enable OpenSBI, U-Boot, and Linux booting on the SiFive Premier P550 using LAVA
RISE will provide a SiFive Premier P550 board for the developer.
Contractor/Developer must connect the board to a host x86 system, shared between both Phase 1 and Phase 2 boards, running LAVA.
The board must be configured to follow the boot flow described below.
Document the entire process of board enablement such that RISE can reproduce it.
Technical Considerations
Both RISC-V boards shall be connected to a single small x86 host system (such as a NUC).
For each board, the x86 host system will have a USB Ethernet dongle and a USB serial port dongle connected.
Depending on the board type, the serial connection could be either a USB cable to the board’s USB-UART adapter; or it could be a USB-UART adapter that is connected to the board’s serial pins.
For the Banana-Pi BPI-F3 some of us have been successfully using USB to TTL Serial Cable - Debug / Console Cable for Raspberry Pi
For the USB Ethernet dongle, some of us have been successfully using https://plugable.com/products/usb3-e1000/
The x86 system is connected to a Ethernet controlled power switch
The Ethernet power switch to use is the DLI Pro Switch: https://dlidirect.com/products/new-pro-switch - the wifi interface should not be used.
The boards are plugged into different power-switched outlets of the strip.
The x86 host system should run both a LAVA worker and a LAVA master.
Required Boot flow
U-boot SPL is present on the board flash, and will load OpenSBI and U-boot second stage via Ymodem over the board serial console at 115.2kbps or higher.
U-boot second stage loads the kernel (and possibly, DTB) via TFTP over Ethernet
The kernel mounts the rootfs via NFS over Ethernet
Required Usage model
RISE expects to have the ability to supply arbitrary binaries for OpenSBI firmware, U-boot proper, a Linux kernel image, any required devicetree data, a rootfs, and possibly a test script. These would be provided to LAVA.
RISE expects to receive a serial console log from the device under test that can be interpreted to extract success/failure or to extract performance results.
Additional Success Criteria:
Contractor shall configure the x86 system as a demo system that RISE can connect to for testing.
The demo must enable the user to provide an OpenSBI and U-Boot second stage binary, along with a Linux kernel binary and rootfs image, and boot it on the demo system via LAVA, returning results.
Contractor shall provide instructions that can be easily reproduced by RISE.
Proposal Submission:
Interested vendors should submit their proposals including:
Technical approach and implementation plan.
Relevant experience with Kernel CI systems.
Please provide a breakdown of the total cost along with the individual costs and durations for each phase.
This RFP is part of RISE’s initiative to strengthen the RISC-V Linux software ecosystem and ensure robust continuous integration for kernel development. We look forward to your proposals.
Please reach out to rfpinfo@riseproject.devif you have any questions.
Please read the RISE RFP instructions PRIOR to bidding.
Some things to note include:
Contracts will be written using the Standard Linux Foundation Europe Paper with the SOW and payment schedule added as an addendum.
Please review prior to your bid submission to address any concerns.
Contract Language is not negotiable as Linux Foundation will be contracting the work and paying the invoices.
Contracts are milestone based, not hourly.
Biweekly progress reporting is a requirement of this contract.