{"id":21435023,"url":"https://github.com/carletes/riscv-test","last_synced_at":"2025-10-07T12:03:50.457Z","repository":{"id":233401794,"uuid":"632577484","full_name":"carletes/riscv-test","owner":"carletes","description":"Notes on my RISC-V and VisionFive 2 adventures","archived":false,"fork":false,"pushed_at":"2023-04-25T17:42:45.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T23:12:51.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carletes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-04-25T17:41:56.000Z","updated_at":"2023-04-25T17:42:51.000Z","dependencies_parsed_at":"2024-04-16T03:59:41.372Z","dependency_job_id":null,"html_url":"https://github.com/carletes/riscv-test","commit_stats":null,"previous_names":["carletes/riscv-test"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/carletes/riscv-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carletes%2Friscv-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carletes%2Friscv-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carletes%2Friscv-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carletes%2Friscv-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carletes","download_url":"https://codeload.github.com/carletes/riscv-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carletes%2Friscv-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278770726,"owners_count":26042828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T23:42:22.533Z","updated_at":"2025-10-07T12:03:50.442Z","avatar_url":"https://github.com/carletes.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RISC-V playground\n\n## VisionFive 2\n\nDocumentation: https://doc-en.rvspace.org/Doc_Center/visionfive_2.html\n\n### Booting with Firmware SD card\n\nUsing latest release from https://github.com/starfive-tech/VisionFive2/releases/tag/VF2_v2.11.5\n\nInstructions on installing the firmware from https://forum.rvspace.org/t/visionfive-2-debian-image-released/994/75\n\nMust select SD as boot medium with the board jumpers, because otherwise it cannot boot\n\n\n### Boot with Debian SD card\n\nDoes not work on the VisionFive 2 out of the box --- need to update firmware first (see above)\n\nUsing Debian image 202303 on an SD card (starfive-jh7110-VF2-SD-wayland.img.bz2)\n\nCard written with:\n\n    $ sudo dd if=starfive-jh7110-VF2-SD-wayland.img of=/dev/sdb bs=8M status=progress\n\n(Note that https://github.com/starfive-tech/VisionFive2 suggests `bs=4096`)\n\nAfter first boot, the root partition must be\nresized, so that it extends to the whole SD card:\nhttps://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_QSG/extend_partition.html\n\nUpdate then to Debian unstable: https://www.ports.debian.org/archive\n\nHalt the system, and save the contents of the SD card:\n\n```\n$ sudo virt-sparsify --tmp /root --verbose --format raw --convert qcow2 /dev/sdX visionfive-2-debian-ports-updated.qcow2\n```\n\nTo reload:\n\n```\n$ sudo qemu-img convert -f qcow2 -O raw visionfive-2-debian-ports-updated.qcow2 /dev/sdX\n```\n\n\n### Install custom kernel\n\nAfter the update, reboot and install Linux kernel with SECCOMP enabled:\nhttps://rvspace.org/en/project/VisionFive2_Debian_Wiki_202303_Release\n\nOnce new kernel is in place, delete the old kernel DEBs, and save the SD\ncard contents:\n\n```\n$ sudo virt-sparsify --tmp /root --verbose --format raw --convert qcow2 /dev/sdX visionfive-2-custom-kernel.qcow2\n```\n\n\n### Booting with Debian eMMC\n\nNo luck yet.\n\nLike above, but with an eMMC module instead.\n\nConnecting the eMMC module to the board using J99 (the one to the right). It only fits on this one.\n\n\n### Serial port setup\n\nThe dongle gets recognised as `/dev/ttyUSB0`, it seems, so\n\n    $ sudo minicom -D /dev/ttyUSB0 -b 115200\n\n\n### Network interfaces\n\n```\nroot@starfive:~# ip l\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: end0: \u003cNO-CARRIER,BROADCAST,MULTICAST,UP\u003e mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000\n    link/ether 6c:cf:39:00:32:f9 brd ff:ff:ff:ff:ff:ff\n3: end1: \u003cNO-CARRIER,BROADCAST,MULTICAST,UP\u003e mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000\n    link/ether 6c:cf:39:00:32:fa brd ff:ff:ff:ff:ff:ff\n4: sit0@NONE: \u003cNOARP\u003e mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000\n    link/sit 0.0.0.0 brd 0.0.0.0\nroot@starfive:~# \n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarletes%2Friscv-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarletes%2Friscv-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarletes%2Friscv-test/lists"}