generated from sig_core/wiki-template
1 line
47 KiB
JSON
1 line
47 KiB
JSON
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"SIG/AltArch Wiki","text":""},{"location":"#links","title":"Links","text":""},{"location":"#responsibilities","title":"Responsibilities","text":""},{"location":"#meetings-communications","title":"Meetings / Communications","text":""},{"location":"#members","title":"Members","text":""},{"location":"#project-layout","title":"Project layout","text":"<pre><code>mkdocs.yml # The configuration file.\ndocs/\n index.md # The documentation homepage.\n ... # Other markdown pages, images and other files.\n</code></pre>"},{"location":"RISCV64/visionfive_2/","title":"The VisionFive 2 SBC's Wiki","text":"<p>The VisionFive 2 SBC is the second generation of SBC in the VisionFive SBC lineup. This lineup of SBCs contains SoCs with the CPUs that use the RISC-V open computing ISA.</p> <p>This Wiki contains the necessary information a user needs to know before using Rocky Linux on the VisionFive 2 SBC.</p>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#technical-guide","title":"Technical guide","text":"","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#hardware-specifications","title":"Hardware specifications","text":"Item Description Processor/SoC StarFive JH7110 (<code>rv64imafdcbx</code> with up-to 1.5GHz max freq) Memory LPDDR4: 2GB/4GB/8GB Storage SD card slot SPI flash for u-boot Video Output HDMI 2.0 MIPI-DSI Multimedia Camera with MIPI CSI (up-to 2160p@30fps) Decoding: H.264 & H.265 at 2160p@60fps Encoding: H.264 & H.265 at 1080p@30fps JPEG Encoder and Decoder 1/4-pole stereo audio Connectivity 2x RJ45 Gigabit Ethernet (some models have 1x 100Mbit instead) 4x USB 3.0 (some models have 2x USB 2.0) M.2 M-Key NVMe drive slot Power in USB-C port: Qualcomm Quick Charge 3.0 compatible GPIO power in: 5V/3A PoE (\"pin compatible with RPi PoE HAT\") GPIO 40-pin GPIO header Dimensions 100mm x 72mm Button(s) Hardware reset button Other Debug pin headers","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#software-statusinformation","title":"Software status/information","text":"<p>At the time of writing this Wiki, the software support is still being upstreamed by the hardware vendor. More details about their upstreaming efforts and the merge status of each component can be viewed at rvspace.org.</p>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#relevant-software-repositories","title":"Relevant software repositories:","text":"<p>Following are the necessary arch/board specific software repositories. These are here for curious tinkerers and Rocky Linux maintainers. Suffice to say, as a normal user, you are not expected to touch/compile any of these items </p>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#fully-upstreamed","title":"Fully upstreamed","text":"<ul> <li>opensbi (package name: <code>TBD</code>)</li> </ul>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#downstream-forks-upstream-wip","title":"Downstream forks (upstream WIP)","text":"<ul> <li> <p>u-boot (package name: <code>TBD</code>)</p> </li> <li> <p>linux (package name: <code>TBD</code>)</p> </li> <li> <p>third party software tools/drivers (package name: <code>TBD</code>)</p> </li> </ul>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#installation","title":"Installation","text":"<p>To install Rocky Linux on the VisionFive 2 SBC, there is one pre-requisite that needs to be satisfied. That is to update the board firmware to v2.11.5.</p> <p>Editor's note: StarFive (the hardware vendor) is almost done sending in mainlining patches for u-boot and we should be able to switch to upstream u-boot soon. Our u-boot package for the VisionFive 2 should automatically update the board firmware to whatever version we support. But the following section is present nonetheless, for the users who have an outdated firmware than what we (Rocky Linux) have a minimum spec bar for.</p>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#pre-requisite-update-board-firmware","title":"Pre-requisite: Update board firmware","text":"<p>NOTE: PLEASE READ THESE STEPS AND CAREFULLY FOLLOW THEM. IF DONE INCORRECTLY, YOUR BOARD MAY GET BRICKED!</p> <ol> <li>Download the following files:</li> <li>sdcard.img (this image is from release v2.8.0)</li> <li>u-boot-spl.bin.normal.out</li> <li> <p>visionfive2_fw_payload.img</p> </li> <li> <p><code>sudo dd if=sdcard.img conv=sync status=progress bs=1M of=/dev/sdX</code></p> </li> <li> <p><code>mkdir temp-dir</code></p> </li> <li> <p><code>sudo mount /dev/sdX4 temp-dir</code></p> </li> <li> <p><code>sudo cp u-boot-spl.bin.normal.out visionfive2_fw_payload.img temp-dir/root/</code></p> </li> <li> <p><code>sudo sync; sudo sync; sudo sync; sudo sync;</code></p> </li> <li> <p><code>sudo umount temp-dir</code></p> </li> <li> <p>Eject the SD card from your computer, insert it in your VisionFive 2 and power it up. The green LED should start blinking to indicate successful board power-up.</p> </li> <li> <p>Plug the network cable in the Ethernet port that is next to the HDMI port. (The other port has DHCP-related issues with early firmware.)</p> </li> <li> <p><code>ssh root@<IP_ADDRESS></code> (passwd: <code>starfive</code>)</p> </li> <li> <p>Run the command <code>cat /proc/mtd</code> and you should have the following output: <pre><code>dev: size erasesize name\nmtd0: 00020000 00001000 \"spl\"\nmtd1: 00300000 00001000 \"uboot\"\nmtd2: 00100000 00001000 \"data\"\n</code></pre></p> </li> <li> <p>If and only if the partition information given above matches with yours, update the <code>spl</code> and <code>uboot</code> partitions using the following commands: <pre><code>flashcp -v u-boot-spl.bin.normal.out /dev/mtd0\nflashcp -v visionfive2_fw_payload.img /dev/mtd1\n</code></pre></p> </li> </ol> <p>The board firmware has now been updated!</p>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#current-things-that-are-wip","title":"Current things that are WIP","text":"<p>A Rocky Linux image </p>","tags":["riscv","starfive","visionfive"]},{"location":"RISCV64/visionfive_2/#maintainers","title":"Maintainers","text":"<p>There are several developers who are working on the RISC-V port of Rocky Linux in general, but following are all the maintainers who are supporting the VisionFive 2 SBC. These usernames are what they use on the Rocky Linux Mattermost chat.</p> <ul> <li>@codedude</li> <li>@skip77</li> <li>@neil</li> <li>@pgreco</li> <li>@tgo</li> <li>@mustafa</li> <li>@alangm</li> <li>@sherif</li> <li>@thefossguy</li> </ul>","tags":["riscv","starfive","visionfive"]},{"location":"RPi/solutions/solutions/","title":"Solutions and Troubleshooting","text":""},{"location":"RPi/solutions/solutions/#dnf-always-claims-to-require-a-restart","title":"<code>dnf</code> always claims to require a restart","text":""},{"location":"RPi/solutions/solutions/#symptom","title":"Symptom","text":"<p>Even though the system has been restarted recently, e.g., after a Kernel update, <code>dnf needs-restarting -r</code> always returns with exit code <code>1</code>.</p> <pre><code># dnf needs-restarting -r\nCore libraries or services have been updated since boot-up:\n * dbus\n * dbus-daemon\n * glibc\n * linux-firmware\n * systemd\n\nReboot is required to fully utilize these updates.\nMore information: https://access.redhat.com/solutions/27943\n</code></pre> <p>This affects both Rocky Linux 8 and 9. However, a patch for 9.3 is to be released soon.</p>"},{"location":"RPi/solutions/solutions/#cause","title":"Cause","text":"<p>The <code>dnf</code> plugin uses the <code>mtime</code> of <code>/proc/1</code> which is set to start of epoch due to lack of RTC on Raspberry Pi. The correct system time is set later at boot once network connectivity is established and an NTP server is reachable. Compared to 1970, every package update is after the last reboot which causes the wrong result.</p>"},{"location":"RPi/solutions/solutions/#solution","title":"Solution","text":"<p>Until 9.3 is released, or if the system is still on 8.x, the patch can be manually applied to all versions.</p> <pre><code># patch /usr/lib/python3.6/site-packages/dnf-plugins/needs_restarting.py <<EOF\n--- a/plugins/needs_restarting.py\n+++ b/plugins/needs_restarting.py\n@@ -34,6 +34,7 @@ import functools\n import os\n import re\n import stat\n+import time\n\n\n # For which package updates we should recommend a reboot\n@@ -199,7 +200,28 @@ class ProcessStart(object):\n\n @staticmethod\n def get_boot_time():\n- return int(os.stat('/proc/1').st_mtime)\n+ \"\"\"\n+ We have two sources from which to derive the boot time. These values vary\n+ depending on containerization, existence of a Real Time Clock, etc.\n+ For our purposes we want the latest derived value.\n+ - st_mtime of /proc/1\n+ Reflects the time the first process was run after booting\n+ This works for all known cases except machines without\n+ a RTC - they awake at the start of the epoch.\n+ - /proc/uptime\n+ Seconds field of /proc/uptime subtracted from the current time\n+ Works for machines without RTC iff the current time is reasonably correct.\n+ Does not work on containers which share their kernel with the\n+ host - there the host kernel uptime is returned\n+ \"\"\"\n+\n+ proc_1_boot_time = int(os.stat('/proc/1').st_mtime)\n+ if os.path.isfile('/proc/uptime'):\n+ with open('/proc/uptime', 'rb') as f:\n+ uptime = f.readline().strip().split()[0].strip()\n+ proc_uptime_boot_time = int(time.time() - float(uptime))\n+ return max(proc_1_boot_time, proc_uptime_boot_time)\n+ return proc_1_boot_time\n\n @staticmethod\n def get_sc_clk_tck():\n-- \n2.41.0\nEOF\n</code></pre> <p>It is advisable to <code>version-lock</code> the plugin version until it's fixed upstream. On 8.x, that might be the only solutions if the patch is not backported to 8.x upstream. Use at your own risk!</p> <pre><code># dnf versionlock add python3-dnf-plugins-core\n</code></pre>"},{"location":"RPi/solutions/zero2w/","title":"Pi Zero 2W wont boot","text":""},{"location":"RPi/solutions/zero2w/#problem","title":"Problem","text":"<p>The Raspberry Pi Zero 2W wont boot using the standard Rocky LInux Raspberry Pi image.</p>"},{"location":"RPi/solutions/zero2w/#solution","title":"Solution","text":"<p>Using info gathered from Rocky_Linux_forum_post</p> <pre><code># Blacklist brcmfmac\n1. mount root partition\n2. create a file called \"01-rpi-blacklist.conf\" in /etc/modprobe.d\n3. umount root partition\n4. boot the sd card in the pi zero 2w.\nThen:\n5. run /usr/bin/fix-wifi-rpi.sh This script extracts all firmware files. Feel free to look it over before running it.\n6. delete the 01-rpi-blacklist.conf file from /etc/modprobe.ed\n7. reboot\n8. Wifi should now be functional\n</code></pre>"},{"location":"events/meeting-notes/2023-10-20/","title":"SIG/AltArch meeting 2023-10-20","text":""},{"location":"events/meeting-notes/2023-10-20/#attendees","title":"Attendees:","text":"<pre><code>* Sherif\n* Bryan\n* Pratham Patel\n* Pablo Greco\n* Alan Marshall\n* Brian Clemens\n* Neil Hanlon\n</code></pre>"},{"location":"events/meeting-notes/2023-10-20/#discussions","title":"Discussions:","text":""},{"location":"events/meeting-notes/2023-10-20/#current-status","title":"Current Status","text":"<p>Originally, Skip and Pablo built rpi image and kernel. Afterwards, Sherif began working with Pablo to build a generic arm kernel for more than just RPis. GenericArm image is being built with Empanadas, but not widely used. It should support Rpi as well as others.</p> <p>As a rule, we cannot rely on EPEL dependencies, and will need to pull them into our build roots. We should work on/request tooling to aid in these operations--i.e., something to identify dependencies, and perform imports of them for us.</p>"},{"location":"events/meeting-notes/2023-10-20/#kernels","title":"Kernels","text":"<p>Building 5.15 and 6.1 kernels in SIG/AltArch, but will be moving them to SIG/Kernel</p> <p>Will also include kernel-mainline (6.5/6.6).</p>"},{"location":"events/meeting-notes/2023-10-20/#sbcs","title":"SBCs","text":"<p>Recently, Bryan and Pratham began working with other SBCs like 3 Libre Computing boards, Orange Pi 5, Rock5b, Odroid purchased by RESF provided to several testers.</p>"},{"location":"events/meeting-notes/2023-10-20/#libre-boards","title":"Libre boards","text":"<ul> <li>are largely generic</li> <li>Rocky uboot is problematic (USB issues), but upstream uboot works w/ our kernel<ul> <li>(Neil has tested this and it works great -- it's running a bunch of IOT stuff for him)</li> </ul> </li> <li>Pratham - have we tested building from their source? or just using their uboot?<ul> <li>Bryan - it's been 6-8 months since we've tried it, but it should be re-investigated</li> <li>We all recall it being a USB-related issue, but this should be confirmed.</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2023-10-20/#orange-pi-5","title":"Orange Pi 5","text":"<ul> <li>requires 6.5-ish kernel</li> <li>nothing upstreamed in uboot yet</li> </ul>"},{"location":"events/meeting-notes/2023-10-20/#rock5b","title":"Rock5b","text":"<ul> <li>requries a 6.6-rc kernel</li> <li>uboot 3.10 + some pci patches</li> </ul>"},{"location":"events/meeting-notes/2023-10-20/#odroid","title":"Odroid","text":"<ul> <li>hasn't been looked into yet</li> </ul>"},{"location":"events/meeting-notes/2023-10-20/#discussions_1","title":"Discussions","text":"<p>Pablo: * Need to separate kernel vs uboot. We are near to the end of the year, so we are very close to a new kernel LTS being cut which will probably be based on * re: uboot -- would like to stay as close to vanilla (Fedora) uboot as possible, but that is obviously difficult for every single board, practically. Ideally, we can build these as RPMs, just like \"normal\" uboot (this would also make composing images a lot easier, logistically speaking). Another option, if we have to, is to build specific binaries and provide them in a \"one-off\" repo to users as needed.</p> <p>Sherif: * tool like <code>arm-image-installer</code> script to download the right uboot, image, etc, and put it into the disk at the right place. basically: make it pretty fool proof * like spi-tool (?) from Pine64 * Fedora and Debian are doing something like this * In general, we want to have the least amount of uboots required, whatever the case * try to port changes into a single generic uboot where possible * tl;dr - there are a lot of boards. can't please everyone</p> <p>Pratham - questions on Kernels * was using elrepo kernels to test (mainline, mostly) * realized RHEL kernels are missing configs for booting these boards * built kernel.org kernel, and it boots all three libre boards and the rock5b * How to proceed from here? There are a lot of configs which need setting, e.g.. * Storytime! * we all use the same kernel.org tarballs -- without changes * Sherif and Pablo worked on changes to contribute to elrepo, they are very welcoming, in general. * The configs and specs are going to be--mostly, where the Kernel contributions can be * we should always be contributing back to elrepo, so that the entire community can benefit from the changes/features we add * We also begin to limit the amount of backports/changes we need to do over time * the current rocky LTS kernel is the same now as elrepo, due to the PR we've introduced * another example - HPC sig kernel * stripped down kernel for compute nodes, based on the Rocky base kernel with patches * openpatch :D * https://elrepo.org/bugs/view.php?id=1345 * We should document this and our policy on upstreaming work to ELRepo for Kernel changes. * tl;dr - base work on elrepo and make PRs there, then bring them into SIG/Kernel</p>"},{"location":"events/meeting-notes/2023-10-20/#generic-image","title":"Generic Image","text":"<pre><code>* Pablo - some boards look for grub binaries in a _highly_ specific location, and we need to make sure that we make a copy of those (links) into those locations\n * i.e., their uboots aren't looking for grubx64.efi in the right place\n* Neil - We can announce the availability of this more generally in our 9.3 / 8.9 releases coming in November.\n</code></pre>"},{"location":"events/meeting-notes/2023-10-20/#alternative-alternative-architctures","title":"alternative alternative architctures","text":""},{"location":"events/meeting-notes/2023-10-20/#32-bit-arm-armhfparm7vl","title":"32 bit arm (armhfp/arm7vl)","text":"<pre><code>* We are looking for hardware which we can use to do these builds. We have some VMs currently, but they are not quite powerful enough.\n* OSU OSL should have some Lenovo eMags for us, at some point.\n * Neil to reach out to Ramareth\n * Neil to reach out to Aaron from Ampere\n* If we can't get anything from OSU, let's ping SolidRun or Ampere to see if they can do anything for us and figure it ourselves.\n</code></pre>"},{"location":"events/meeting-notes/2023-10-20/#riscv","title":"riscv","text":"<pre><code>* right now, it takes 2+ days to build gcc in qemu\n* there have been a lot of good changes in qemu to add more support but we should try and do native builds if possible.\n* Neil - Investigate what and how much riscv hardware we need.. and where we'll host it\n* https://www.crowdsupply.com/milk-v/milk-v-pioneer\n</code></pre>"},{"location":"events/meeting-notes/2023-10-20/#decisions","title":"Decisions","text":"<pre><code>* Images should be generic so as to be able to be installed on any board, where possible.\n * uboot can live on SPI or external flash\n * We need to help document this for our users and have guides on how to get the SBCs working. This is a big pain point for many SBC users as there is so much variation.\n * To this end, we should investigate some tooling to aid in writing images for boards which will boot on the first try.\n* Uboot should similarly be generic and work for all boards, insofar as it is practical to do so.\n * Some boards this doesn't make sense for, e.g., ones that have uboot from 2014 + hundreds of patches, however, these are few and far between. For these, we can package them as RPMs and provide them (see note below re: licensing)\n* We will wait for the next Kernel.org LTS to be cut, as that should have all the changes for the boards we're talking about.\n* We will engage with our upstreams (Fedora, ELRepo, etc) for changes we make with the Kernel SIG for AltArch/SBC support.\n * This necessitates participating in SIG/Kernel to represent our needs in these kernels.\n* We should strive to perform native builds when possible, but recognize that emulation is a necessary evil.\n</code></pre> <p>uboot and other licensing</p> <p>We need to ensure that we are careful about the licensing of softwares we wish to include in the SIG distribution.</p>"},{"location":"events/meeting-notes/2023-10-20/#action-items","title":"Action items:","text":"<ul> <li>Libre Compute - Try/Investigate using vendor tree to build uboot - Pratham</li> <li>Investigate <code>arm-image-installer</code> script/tool for helping write disk images for specific boards - Sherif (?)</li> <li>Odroid N2 - Track installability<ul> <li>Investigate backport of uboot configuration to work with our uboot and/or track upstreaming process</li> </ul> </li> <li>Orange Pi 5 - Track installability<ul> <li>Investigate backport of uboot configuration to work with our uboot and/or track upstreaming process</li> </ul> </li> <li>Rock5b - Track installability<ul> <li>Investigate backport of uboot configuration to work with our uboot and/or track upstreaming process</li> </ul> </li> <li>Libre Computing Boards (3)<ul> <li>Investigate backport of uboot configuration to work with our uboot and/or track upstreaming process</li> </ul> </li> <li>Maintenance - Importing dependencies from Fedora/EPEL<ul> <li>Investigate tooling for this</li> </ul> </li> <li>Document process on backporting uboot and kernels - Pablo<ul> <li>To include information on how we work and interact with upstreams, with examples! - Sherif</li> </ul> </li> <li>Check and investigate which boards have hardcoded grubx64 paths in their uboot; address them</li> <li>Acquire armhfp (arm7vl) hardware - Neil to reach out to OSU OSL</li> <li>Neil - Investigate what and how much riscv hardware we need.. and where we'll host it</li> </ul>"},{"location":"events/meeting-notes/2023-10-20/#next-meeting","title":"Next Meeting","text":"<ul> <li>Discuss meeting time - biweekly?</li> </ul>"},{"location":"events/meeting-notes/2023-10-20/#old-business","title":"Old business:","text":"<ul> <li>N/A</li> </ul>"},{"location":"events/meeting-notes/2023-11-03/","title":"SIG/AltArch meeting 2023-11-03","text":""},{"location":"events/meeting-notes/2023-11-03/#attendees","title":"Attendees","text":"<ul> <li>Sherif</li> <li>Bryan</li> <li>Neil Hanlon</li> </ul>"},{"location":"events/meeting-notes/2023-11-03/#old-business","title":"Old Business","text":"<ul> <li>Discuss meeting time - ~~biweekly~~ monthly.<ul> <li>https://www.when2meet.com/?22213293-gYJPM<ul> <li>Send out to channel asking for people to put in their availability for the first week of December</li> <li>Going forward we will repeat the meeting monhtly on the first whatever day of the month we choose</li> </ul> </li> </ul> </li> <li>Document decisions from last time<ul> <li>https://sig-altarch.rocky.page/events/meeting-notes/2023-10-20/#decisions<ul> <li>Neil to make ticket to encompass updating the SIG documentation (purpose, how to join and participate, our decisions, etc)</li> </ul> </li> </ul> </li> <li>Create tickets for work on boards<ul> <li>Neil will create tickets in sig_altarch/meta for all of these<ul> <li>Configure upstream monitoring for releases of new packages (uboot) - Neil<ul> <li>this is the \"Maintenance - Importing dependencies from Fedora/EPEL\" bit</li> <li>https://release-monitoring.org/</li> <li>https://pagure.io/centos-sig-hyperscale/package-updates/blob/main/f/package_updates</li> </ul> </li> </ul> </li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2023-11-03/#new-business","title":"New Business","text":"<ul> <li>Fix missing packages for uboot in rocky 8 (Sherif)<ul> <li>two packages need to be rebuilt</li> <li>can these be PRed to Fedora or UBoot?<ul> <li>Bryan will look into opening a PR with Fedoras<ul> <li>Neil can help with the 'how'</li> <li>https://src.fedoraproject.org/rpms/uboot-tools1<ul> <li>Login w/ Fedora account, can create a fork and then open a PR against the main repo</li> </ul> </li> <li>https://git.rockylinux.org/sig/altarch/src/uboot-tools/-/commit/0d07de7701b023c642a4d776852e05cb6bd3318e</li> </ul> </li> </ul> </li> </ul> </li> <li>GenericArm image<ul> <li>Would like to release \"officially\" w/ 9.3 and 8.9 building using empanadas</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2023-11-03/#open-floor-discussions","title":"Open Floor / Discussions","text":"<ul> <li>Bryan working on the Libre Tritium H5 (ALL-H3-CC (H5))<ul> <li>Progressing well, will need to open an issue to add config to elrepo kernel</li> </ul> </li> <li>Rockchip status - <ul> <li>Sherif was working to add new Rockchip boards, but needs to rebase his PR against latest mainline<ul> <li>Will need help testing as he only has the RockPro64</li> </ul> </li> <li>Probably first week of december</li> <li>Some libre boards are also rockchip (Renegade)</li> <li>Long term, we can have a single unified kernel (yay!)</li> </ul> </li> <li>Kernel LTS<ul> <li>Pablo and Sherif working on this.</li> </ul> </li> <li>Kernel ML<ul> <li>Need to work with Mustafa on this (Neil)</li> <li>some things have regressed in Kernel Packer</li> </ul> </li> <li>Update configuration in ELRepo for rockchips<ul> <li>Sherif to rebase later</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2023-11-03/#next-meeting","title":"Next Meeting","text":"<ul> <li>Should we make the Mainline kernel the default kernel for the SIG/Altarch GenericArm image? ** need to resolve before new 8 and 9 releases ** <ul> <li>Probably yes, but we'll circulate this. Neil will create a ticket.</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2023-12-15/","title":"SIG/AltArch meeting 2023-12-15","text":""},{"location":"events/meeting-notes/2023-12-15/#attendees","title":"Attendees:","text":"<pre><code>* Sherif\n* Bryan\n* Pablo Greco\n* Neil Hanlon\n* Skip Grube\n</code></pre>"},{"location":"events/meeting-notes/2023-12-15/#follow-ups","title":"Follow Ups","text":"<ul> <li>Libre Compute - Try/Investigate using vendor tree to build uboot - Pratham</li> <li>Investigate <code>arm-image-installer</code> script/tool for helping write disk images for specific boards - Sherif (?)</li> <li>Odroid N2 - Track installability</li> <li>Orange Pi 5 - Track installability</li> <li>Rock5b - Track installability</li> <li>Libre Computing Boards (3)</li> <li>Maintenance - Importing dependencies from Fedora/EPEL<ul> <li>Neil is working on this as part of SIG/HPC, too</li> </ul> </li> <li>Document process on backporting uboot and kernels - Pablo<ul> <li>To include information on how we work and interact with upstreams, with examples! - Sherif</li> </ul> </li> <li>Check and investigate which boards have hardcoded grubx64 paths in their uboot; address them</li> </ul>"},{"location":"events/meeting-notes/2023-12-15/#discussions","title":"Discussions","text":"<ul> <li>Neil provided Sherif with 2 RPi CM4s (+ IO boards), an RPi5, and a SiFive VF2 (RiscV) at SC23 in November</li> <li>Need to work on integrating SBC and related changes into SIG/Kernel mainline in order to have unified kernel<ul> <li>Bryan has tried mainline kernel, but it isn't booting -- ends up in dracut shell.<ul> <li>Will figure out how to capture logs via serial</li> <li>Libre Tritium H5</li> </ul> </li> </ul> </li> <li>It's all Skip's fault</li> <li>32-bit arm (armhfp/arm7vl) Rocky Port<ul> <li>Sherif has some odroid boards from work he can donate<ul> <li>Odroid XU4 x2</li> <li>Odroid XU4Q x1 - XU4 w/ massive heatsink</li> </ul> </li> <li>Current status (per Pablo)<ul> <li>have the full bootstrap up to 9.1; we need to start building atop it</li> <li>need to add Peridot support for armhfp (i can't remember if we included the arch as an option)</li> <li>where will we host the odroid boards from Sherif</li> </ul> </li> <li>Most of the SBCs for arm7vl/armhfp are not powerful enough to be good build hosts. Maybe we should try Honeycombs? (Solid-run)<ul> <li>Pablo used his honeycomb and a fedora image to do the initial bootstrap builds</li> <li>Neil will reach out to OSU about availability of Lenovo eMAGs for us</li> <li>has neil spoken to Fabian? - No ; Neil will do this</li> </ul> </li> </ul> </li> <li>RISCv Rocky Port Status<ul> <li>Neil - Investigate what and how much riscv hardware we need.. and where we'll host it<ul> <li>This probably is going to be a whole bunch of VF2s</li> <li>P670 (16-core - MilkV oasis) would be great, but, upstream support is not yet there. VF2 is a better target for Rocky 9</li> </ul> </li> </ul> </li> <li>Various conversations happened here but Neil was dealing with keeping all the mice in his house dead. The following is second-hand :) </li> <li>Rpi Kernel - Should it live?<ul> <li>We want to get rid of it, but we can't yet. Skip says yes</li> <li>Plan:<ul> <li>Build the rpi kernel as a variant of the mainline</li> <li>rpi kernel will be subsumed into kernel-mainline-sbc, not further upstream<ul> <li>This will allow more obvious contribution to ELrepo for SBCs</li> </ul> </li> <li>RPI image will be replaced with a new GenericArm-SBC image produced by Empanadas which includes kernel-mainline-sbc</li> </ul> </li> </ul> </li> <li>Next meetings<ul> <li>Dec 29 - Cancel.</li> <li>Jan 12 - Keep</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2023-12-15/#action-items","title":"Action Items","text":"<ul> <li>Neil to actually make tickets for the follow ups / decisions. But, like, for real this time.</li> <li>Neil to reach out to people re: ARMHFP hardwares<ul> <li>Ampere</li> <li>OSUOSL</li> <li>Fabian (arrfab)</li> </ul> </li> <li>Neil to figure out what RISCv hardware we need</li> <li>Announce Dec 29th meeting cancelation</li> </ul>"},{"location":"events/meeting-notes/2023-12-15/#old-business","title":"Old business","text":""},{"location":"events/meeting-notes/2023-12-15/#2023-10-20","title":"2023-10-20","text":""},{"location":"events/meeting-notes/2023-12-15/#action-items_1","title":"Action Items","text":"<ul> <li>Libre Compute - Try/Investigate using vendor tree to build uboot - Pratham</li> <li>Investigate <code>arm-image-installer</code> script/tool for helping write disk images for specific boards - Sherif (?)</li> <li>Odroid N2 - Track installability</li> <li>Orange Pi 5 - Track installability</li> <li>Rock5b - Track installability</li> <li>Libre Computing Boards (3)</li> <li>Maintenance - Importing dependencies from Fedora/EPEL</li> <li>Document process on backporting uboot and kernels - Pablo<ul> <li>To include information on how we work and interact with upstreams, with examples! - Sherif</li> </ul> </li> <li>Check and investigate which boards have hardcoded grubx64 paths in their uboot; address them</li> <li>Acquire armhfp (arm7vl) hardware - Neil to reach out to OSU OSL</li> <li>Neil - Investigate what and how much riscv hardware we need.. and where we'll host it</li> </ul>"},{"location":"events/meeting-notes/2023-12-15/#decisions","title":"Decisions","text":"<pre><code>* Images should be generic so as to be able to be installed on any board, where possible.\n * uboot can live on SPI or external flash\n * We need to help document this for our users and have guides on how to get the SBCs working. This is a big pain point for many SBC users as there is so much variation.\n * To this end, we should investigate some tooling to aid in writing images for boards which will boot on the first try.\n* Uboot should similarly be generic and work for all boards, insofar as it is practical to do so.\n * Some boards this doesn't make sense for, e.g., ones that have uboot from 2014 + hundreds of patches, however, these are few and far between. For these, we can package them as RPMs and provide them (see note below re: licensing)\n* We will wait for the next Kernel.org LTS to be cut, as that should have all the changes for the boards we're talking about.\n* We will engage with our upstreams (Fedora, ELRepo, etc) for changes we make with the Kernel SIG for AltArch/SBC support.\n * This necessitates participating in SIG/Kernel to represent our needs in these kernels.\n* We should strive to perform native builds when possible, but recognize that emulation is a necessary evil.\n</code></pre> <p>uboot and other licensing</p> <p>We need to ensure that we are careful about the licensing of softwares we wish to include in the SIG distribution.</p>"},{"location":"events/meeting-notes/2024-01-12/","title":"SIG/AltArch meeting 2024-01-12","text":""},{"location":"events/meeting-notes/2024-01-12/#attendees","title":"Attendees:","text":"<pre><code>* Sherif\n* Bryan\n* Neil Hanlon\n* Skip Grube\n* Jason Rodriguez\n* Jonathan Maple\n</code></pre>"},{"location":"events/meeting-notes/2024-01-12/#follow-ups","title":"Follow Ups","text":"<ul> <li>SBC Testing with vendor uboot - https://git.resf.org/codedude/SBC-Testing<ul> <li>Basically everything is working except one of the Libre boards (Frite)</li> <li>https://git.resf.org/codedude/SBC-Testing/src/branch/main/testing/details.md</li> <li>Whack-a-mole with kernel options and support for different kernels<ul> <li>Might be possible to patch for RK3389, as enabling this board breaks Libre borads </li> <li>Also is possible to disable USB2 for RK3389, but this is not preferable</li> </ul> </li> <li>Kernel Config - RHEL vs Kernel KConfigs</li> <li>SIG/Kernel kernel is based on the Fedora Rawhide branch of kernel, but uses the KConfig named '.redhat'<ul> <li>We want to use this as a base, and change config options as needed to enable SBCs</li> </ul> </li> </ul> </li> <li>January 2024 UBoot is out with fixes, should help with some of the reliance on Vendor UBoots<ul> <li>Bryan will work on testing new uboot with these boards for next meeting</li> </ul> </li> <li>OSU OSL has arm hardware available for us, this will help enable armhfp/arm7vl/32-bit arm<ul> <li>Hoping to have this ready to build things in the beginning of February</li> </ul> </li> <li>RISCV hardware<ul> <li>Should look at getting a few more SiFive VF2</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2024-01-12/#open-floor","title":"Open Floor","text":"<ul> <li>Raspberry Pi 5 Support<ul> <li>check upstream for firmware, throw into our repo, rebuild image and test</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2024-01-12/#action-items","title":"Action Items","text":"<ul> <li>Build Jan 2024 UBoot - Sherif</li> <li>Raspberry Pi 5 Support - Skip</li> <li>Order RPI 5 hardware for testers/altarch - Neil<ul> <li>~~Maybe buy this locally in London instead for Pablo~~ -- nevermind they're not in London...<ul> <li>Pimironi or pihut - ship to Sherif</li> </ul> </li> </ul> </li> <li>Neil to actually make tickets for the follow ups / decisions. But, like, for real this time<ul> <li>I'm really going to do it this week, I promise.</li> </ul> </li> <li>Setup ARM hardware for armhfp - neil</li> <li>Neil to figure out what RISCv hardware we need</li> </ul>"},{"location":"events/meeting-notes/2024-01-12/#old-business","title":"Old business","text":""},{"location":"events/meeting-notes/2024-01-12/#2023-12-15","title":"2023-12-15","text":"<ul> <li>Neil to actually make tickets for the follow ups / decisions. But, like, for real this time.</li> <li>Neil to reach out to people re: ARMHFP hardwares<ul> <li>Ampere</li> <li>OSUOSL</li> <li>Fabian (arrfab)</li> </ul> </li> <li>Neil to figure out what RISCv hardware we need</li> <li>Announce Dec 29th meeting cancelation</li> </ul>"},{"location":"events/meeting-notes/2024-01-12/#2023-10-20","title":"2023-10-20","text":""},{"location":"events/meeting-notes/2024-01-12/#action-items_1","title":"Action Items","text":"<ul> <li>Libre Compute - Try/Investigate using vendor tree to build uboot - Pratham</li> <li>Investigate <code>arm-image-installer</code> script/tool for helping write disk images for specific boards - Sherif (?)</li> <li>Odroid N2 - Track installability</li> <li>Orange Pi 5 - Track installability</li> <li>Rock5b - Track installability</li> <li>Libre Computing Boards (3)</li> <li>Maintenance - Importing dependencies from Fedora/EPEL</li> <li>Document process on backporting uboot and kernels - Pablo<ul> <li>To include information on how we work and interact with upstreams, with examples! - Sherif</li> </ul> </li> <li>Check and investigate which boards have hardcoded grubx64 paths in their uboot; address them</li> <li>Acquire armhfp (arm7vl) hardware - Neil to reach out to OSU OSL</li> <li>Neil - Investigate what and how much riscv hardware we need.. and where we'll host it</li> </ul>"},{"location":"events/meeting-notes/2024-01-12/#decisions","title":"Decisions","text":"<pre><code>* Images should be generic so as to be able to be installed on any board, where possible.\n * uboot can live on SPI or external flash\n * We need to help document this for our users and have guides on how to get the SBCs working. This is a big pain point for many SBC users as there is so much variation.\n * To this end, we should investigate some tooling to aid in writing images for boards which will boot on the first try.\n* Uboot should similarly be generic and work for all boards, insofar as it is practical to do so.\n * Some boards this doesn't make sense for, e.g., ones that have uboot from 2014 + hundreds of patches, however, these are few and far between. For these, we can package them as RPMs and provide them (see note below re: licensing)\n* We will wait for the next Kernel.org LTS to be cut, as that should have all the changes for the boards we're talking about.\n* We will engage with our upstreams (Fedora, ELRepo, etc) for changes we make with the Kernel SIG for AltArch/SBC support.\n * This necessitates participating in SIG/Kernel to represent our needs in these kernels.\n* We should strive to perform native builds when possible, but recognize that emulation is a necessary evil.\n</code></pre> <p>uboot and other licensing</p> <p>We need to ensure that we are careful about the licensing of softwares we wish to include in the SIG distribution.</p>"},{"location":"events/meeting-notes/2024-01-26/","title":"SIG/AltArch meeting 2024-01-26","text":""},{"location":"events/meeting-notes/2024-01-26/#attendees","title":"Attendees","text":"<ul> <li>Neil Hanlon</li> <li>Bryan (codedude)</li> <li>Sherif Nagy</li> </ul>"},{"location":"events/meeting-notes/2024-01-26/#follow-ups","title":"Follow Ups","text":"<ul> <li>Jan 2024 Uboot - Sherif completed, published 18 Jan</li> <li>RPI5 - Not going great</li> <li>Fedora can't boot it either, and it's not upstream yet</li> <li>Kernel is still missing Pi5 DTB</li> <li>Armbian is working, but they're probably patching the DTB</li> <li>Skip was working on firmware, not sure of status</li> <li>Bryan has a working Kernel, but it's hacky and broken... but it works (nominally)</li> <li>SBC Testing</li> <li>Testing of new Uboot underway</li> <li>Libre Tritium H5 - works fine</li> <li>Libre Le Potato - appears that Libre hasn't upstreamed their entire uboot<ul> <li>2024 uboot, lots of NIC resets; vendor firmware doesn't do this</li> <li>Fedora \u201crecommends\u201d using vendor uboot for Potato</li> <li>Q: Do we want to recommend Le Potato but with Vendor Uboot for now?</li> </ul> </li> <li>Rock5B/OrangePi uboot patches - not actually working right<ul> <li>thefossguy built a one-off uboot for the OrangePi using an upstream tool (which is possibly proprietary/non-free)</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2024-01-26/#tickets","title":"Tickets","text":"<p>https://git.resf.org/sig_altarch/meta/issues/4 - Jan 2024 uboot - Closed</p>"},{"location":"events/meeting-notes/2024-01-26/#open-floor","title":"Open Floor","text":"<ul> <li>mainline-sbc kernel</li> <li>[ ] Neil to get documentation for Kernel Packer and start the sbc kernel config repo</li> <li>SIG/Kernel tickets for variant creation<ul> <li>https://git.rockylinux.org/codedude/kernel-mainline-sbc</li> <li>SIG/Kernel#1</li> <li>SIG/Kernel#7</li> <li>SIG/Kernel#8</li> <li>KernelPacker needs two things:</li> <li>Spec template + KConfig</li> </ul> </li> </ul>"},{"location":"events/meeting-notes/2024-01-26/#action-items","title":"Action Items","text":"<ul> <li>[ ] Neil to get documentation for Kernel Packer and start the sbc kernel config repo</li> </ul>"},{"location":"events/meeting-notes/2024-02-09/","title":"SIG/AltArch meeting 2024-02-09","text":""},{"location":"events/meeting-notes/2024-02-09/#attendees","title":"Attendees","text":"<ul> <li>Neil Hanlon</li> <li>Sherif Nagy</li> <li>Brian Clemens</li> <li>Stack</li> </ul>"},{"location":"events/meeting-notes/2024-02-09/#follow-ups","title":"Follow Ups","text":"<ul> <li>Raspberry Pi5</li> <li>need 16k page kernel variant created</li> </ul> <pre><code>--# diff config-6.1.0-rpi7-rpi-2712 config-6.1.0-rpi7-rpi-v8\n31c31\n< CONFIG_LOCALVERSION=\"-v8-16k\"\n---\n> CONFIG_LOCALVERSION=\"-v8\"\n270,275c270,275\n< CONFIG_ARM64_PAGE_SHIFT=14\n< CONFIG_ARM64_CONT_PTE_SHIFT=7\n< CONFIG_ARM64_CONT_PMD_SHIFT=5\n< CONFIG_ARCH_MMAP_RND_BITS_MIN=16\n< CONFIG_ARCH_MMAP_RND_BITS_MAX=30\n< CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=9\n---\n> CONFIG_ARM64_PAGE_SHIFT=12\n> CONFIG_ARM64_CONT_PTE_SHIFT=4\n> CONFIG_ARM64_CONT_PMD_SHIFT=4\n> CONFIG_ARCH_MMAP_RND_BITS_MIN=18\n> CONFIG_ARCH_MMAP_RND_BITS_MAX=24\n> CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11\n391,392c391,392\n< # CONFIG_ARM64_4K_PAGES is not set\n< CONFIG_ARM64_16K_PAGES=y\n---\n> CONFIG_ARM64_4K_PAGES=y\n> # CONFIG_ARM64_16K_PAGES is not set\n394,395c394\n< # CONFIG_ARM64_VA_BITS_36 is not set\n< CONFIG_ARM64_VA_BITS_47=y\n---\n> CONFIG_ARM64_VA_BITS_39=y\n397c396\n< CONFIG_ARM64_VA_BITS=47\n---\n> CONFIG_ARM64_VA_BITS=39\n422c421\n< CONFIG_ARCH_FORCE_MAX_ORDER=12\n---\n> CONFIG_ARCH_FORCE_MAX_ORDER=11\n889a889\n> CONFIG_ARCH_WANTS_THP_SWAP=y\n</code></pre> <ul> <li>Post-setup changes required to select which one user should boot<ul> <li>i.e., change initramfs / kernel lines to -v8 in config.txt / config-kernel.txt</li> <li>https://chat.rockylinux.org/rocky-linux/pl/e7h9sqcb4pdnpqpwah3wcjxjac</li> </ul> </li> <li>Neil and Sherif spoke to risc-v folks at FOSDEM/SOOCon24</li> <li>No exact timeline, but hoping to get leads on hardware to use</li> </ul>"},{"location":"events/meeting-notes/2024-02-09/#open-floor","title":"Open Floor","text":"<ul> <li>Stack: the wiki looks abandoned because the index page is empty/stubbed</li> </ul>"},{"location":"events/meeting-notes/2024-02-09/#action-items","title":"Action Items","text":"<ul> <li>Follow up on Orange Pi5</li> <li>Follow up on Libre boards</li> <li>Create variant for 16k kernel</li> <li>Kernel Packer for altarch</li> <li>Actually put content on wiki index/landing page so it doesn't look abandoned</li> </ul>"},{"location":"events/meeting-notes/2024-02-23/","title":"SIG/AltArch meeting 2024-02-23","text":""},{"location":"events/meeting-notes/2024-02-23/#attendees","title":"Attendees","text":"<ul> <li>Neil Hanlon</li> <li>Sherif Nagy</li> <li>Brian Clemens</li> <li>Stack</li> <li>Alan Sill</li> </ul>"},{"location":"events/meeting-notes/2024-02-23/#follow-ups","title":"Follow Ups","text":"<ul> <li>SBC Support - We're close on a lot of the boards we aim to support (Orange Pi, Libre boards, Rock Pro, RPi5, etc)</li> <li>Raspberry Pi5<ul> <li>Needs 16k kernel variant</li> </ul> </li> <li>arm-trusted-firmware in staging for 8 and 9</li> <li>please test, adds support for some SBCs we target</li> <li>RISC-V - Communications ongoing with RISC-V foundation for firmware</li> <li>What else do we want aside from what they may be able to give us?</li> </ul>"},{"location":"events/meeting-notes/2024-02-23/#open-floor","title":"Open Floor","text":"<ul> <li>Alan has Turing Pi boards to run his Pis--would be nice to be able to test these</li> <li>Jeff Geerling did a video recently on Turing Pi cluster board</li> <li>\"little clusters\" -- just shared NFS, works ok. needs to be NVME because of i/o thrashing, though</li> <li>Stack: there has been a lot of interest in SBCs in Rocky the past few months</li> <li>Would be good to have a plan to convert interested parties to contributors<ul> <li>we have a lot of SBC $$$ to spend on HW for folks</li> </ul> </li> <li>Roadmap & Status -- What do we support, who supports it, what works/doesn't work</li> <li>https://git.resf.org/testing/SBC-progress-tracking</li> <li>Risc-V</li> <li>Alan has Lichee Pi 4a | https://sipeed.com/licheepi4a</li> <li>Should we include non-altarch (x86_64) SBCs in our list of what works?</li> <li>They work out of the box (for the most part), so, let's just include them</li> <li>https://radxa.com/products/x/x2l/#techspec - GPIO via a Pico<ul> <li>Alan wants to get this running under Rocky at some point</li> <li>also looking at https://www.mixtile.com/cluster-box/</li> </ul> </li> <li>Stack: Grace Hopper?</li> <li>seems to be only debian from NVidia</li> <li>Brian: Yoshi (CIQ) may have a contact that knows more information about Grace Hopper and Rocky</li> <li>Sherif: Intel GPU update</li> <li>Met with them through HPC SIG (Jeremy)</li> <li>DKMS version first for testing</li> <li>Later: signed for secureboot and installable as kmod package (kernel SIG)<ul> <li>User tools in HPC SIG</li> </ul> </li> <li>NVIDIA -- maybe we can talk to them after we show this working well, collaborate<ul> <li>Needs legal review and sign-off from NVIDIA</li> <li>many questions about this... e.g. How can we trust signing a proprietary blob for SB signing?</li> </ul> </li> <li>Stack's SBC tower: https://52pi.com/products/52pi-rack-tower-acrylic-cluster-case-for-raspberry-pi-12-layer?_pos=21&_sid=39b8f5ea0&_ss=r</li> </ul>"},{"location":"events/meeting-notes/2024-02-23/#action-items","title":"Action Items","text":"<ul> <li>Neil to reach out to Equinix regarding arm hw for altarch</li> <li>Neil to reply to RV folks</li> <li>Neil to look into wiki content population</li> <li>Neil to file ticket to investigate kernel packer to repack upstream RPi kernel</li> <li>Neil to work on SBC Kernel variant config in KernelPacker</li> <li>Sherif to work on Raspberry Pi kernel variants</li> </ul>"},{"location":"events/meeting-notes/2024-08-23/","title":"2024 08 23","text":""},{"location":"events/meeting-notes/2024-08-23/#attendees","title":"Attendees","text":"<ul> <li>Neil Hanlon</li> <li>Sherif Nagy</li> <li>Bryan Zuelly</li> <li>Daniel</li> <li>Stack</li> </ul>"},{"location":"events/meeting-notes/2024-08-23/#discussions","title":"Discussions","text":"<ul> <li>[ ] Sherif to move rpi kernel into SIG repo</li> <li>https://forums.rockylinux.org/t/beta-sbc-images/15488/2</li> <li>beta generic images</li> <li>Stack: these are working really well<ul> <li>what do we need to do to get this across the line?</li> <li>we need to build the kernel as the SIG</li> <li>[ ] Bryan to send Neil the kconfig we\u2019re gonna user</li> <li>[ ] build three different images in kiwi</li> <li>GPT, MBR, RPi</li> </ul> </li> <li>[ ] Neil to move SIG Wiki to Fastly</li> </ul>"},{"location":"events/meeting-notes/2024-08-23/#open-floor","title":"Open Floor","text":"<ul> <li>armhfp - nice to have, maybe we can get back to this at some point?</li> </ul>"},{"location":"events/meeting-notes/2024-08-23/#action-items","title":"Action Items","text":"<ul> <li>[ ] \ud83d\udcdd Sherif to move rpi kernel into SIG repo</li> <li>[ ] \ud83d\udcdd Bryan to send Neil the kconfig we\u2019re gonna user</li> <li>[ ] \ud83d\udcdd build three different images in kiwi</li> <li>[ ] \ud83d\udcdd Neil to move SIG Wiki to Fastly</li> </ul>"},{"location":"support/hardware/supported/","title":"Rocky Linux Supported SBC Hardware Models","text":""},{"location":"support/hardware/supported/#raspberry-pi-sbcs","title":"Raspberry Pi SBCs","text":"Model Image Status Pi 4B RockyLinux_Rpi_9-latest.img.xz Complete Pi 3B/B+ RockyLinux_Rpi_9-latest.img.xz Complete"},{"location":"support/hardware/supported/#banana-pi","title":"Banana Pi","text":"Model Status Unknown Stage 1(hardware being procured)"},{"location":"support/hardware/supported/#orange-pi","title":"Orange Pi","text":"Model Status Unknown Stage 1(hardware being procured)"},{"location":"support/hardware/supported/#pine","title":"Pine","text":"Model Image Status Pine64 Stage 1(hardware being obtained) RockPro64 Rocky-9.1-aarch64-generic-Minimal-rk3399-sda.raw.tar.gz Complete A64_LTS Stage 1(hardware being obtained)"},{"location":"support/hardware/supported/#libre-computer","title":"Libre Computer","text":"Model Status Renegade Stage 2(hw obtained, initial testing to discover whats needed) La Frite Stage 2(hw obtained, initial testing to discover whats needed) Tritium Stage 2(hw obtained, initial testing to discover whats needed) Le Potato Stage 2(hw obtained, initial testing to discover whats needed)"},{"location":"support/hardware/supported/#ordoid","title":"Ordoid","text":"Model Status N2+ Stage 2(hw obtained, initial testing to discover what's needed)"},{"location":"support/hardware/supported/#khadas","title":"Khadas","text":"<p>| Model | Image | Status | |---------------|---------------------------------------------------| | In early phases of discovery. | | |</p>"}]} |