{"id":15571337,"url":"https://github.com/fishwaldo/sophgo-sg200x-debian","last_synced_at":"2025-04-05T05:02:46.729Z","repository":{"id":233096055,"uuid":"784878820","full_name":"Fishwaldo/sophgo-sg200x-debian","owner":"Fishwaldo","description":"Debian Image for SG200x based boards such as Milk Duo256/DuoS and Sipeed LicheeRVNano","archived":false,"fork":false,"pushed_at":"2024-11-03T10:34:15.000Z","size":847,"stargazers_count":135,"open_issues_count":30,"forks_count":34,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-29T04:03:53.797Z","etag":null,"topics":["duo","duo256","licheervnano","milkv","sg200x","sophgo"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Fishwaldo.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,"publiccode":null,"codemeta":null}},"created_at":"2024-04-10T18:34:12.000Z","updated_at":"2025-03-28T02:39:48.000Z","dependencies_parsed_at":"2024-04-13T20:55:46.007Z","dependency_job_id":"977f0d51-5b84-443f-ab80-752c68250ead","html_url":"https://github.com/Fishwaldo/sophgo-sg200x-debian","commit_stats":{"total_commits":18,"total_committers":3,"mean_commits":6.0,"dds":"0.11111111111111116","last_synced_commit":"aa713be0d4ae3e1098deb9248af279d02a665410"},"previous_names":["fishwaldo/sophgo-sg200x-debian"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fishwaldo%2Fsophgo-sg200x-debian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fishwaldo%2Fsophgo-sg200x-debian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fishwaldo%2Fsophgo-sg200x-debian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fishwaldo%2Fsophgo-sg200x-debian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fishwaldo","download_url":"https://codeload.github.com/Fishwaldo/sophgo-sg200x-debian/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289409,"owners_count":20914464,"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","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":["duo","duo256","licheervnano","milkv","sg200x","sophgo"],"created_at":"2024-10-02T17:59:13.485Z","updated_at":"2025-04-05T05:02:46.710Z","avatar_url":"https://github.com/Fishwaldo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Debian Images for Sophgo cv181x/sg200x based boards \nThis repository builds debian sid images for Sophgo cv181x/sg200x based boards such as MilkV Duo256/DuoS and Sipeed LicheeRvNano.\n\n(Note, we don't support the MilkV Duo, as it does not have enough ram to run Debian)\n\nThe images aim to be as close to possible to debian best practices as possible\n\n## Flashing the Image\n\n### Duo256, DuoS, and LicheeRVNano\nTo flash from linux, either build your own image, or download a image from the releases page, and then run the following command:\n```\nsudo dd if=image/(board)_sd.img of=/dev/sdX bs=4M status=progress\n```\n\nFrom windows, you can use tools such as balena etcher\n\nwhere the (board)_sd.img is the image file you want to flash, and /dev/sdX is the device you want to flash to.\n(if you build for a different board, the image file name will be different)\n\n### DuoS with EMMC\nTo flash the DuoS with EMMC, you need to use the vendor tools to flash the image to the EMMC. You can follow the\ninstructions at https://milkv.io/docs/duo/getting-started/duos#emmc-version-firmware-burning but instead of downloading \nthe  milkv-duos-emmc-v1.1.0-2024-0410.zip file, you download the duos_emmc.zip from the releases on this repository.\n\nif you already have a image installed, but wish to upgrade, when u-boot loads up, interupt the boot process by pressing any\nkey and typing the following commands:\n```\ncvi_update\n```\n\nThe flashing should then continue\n\n\n## Image Info\nLogins: root/rv and debian/rv\n\n(root login is disabled via SSH, login via debian, and SU to root if needed)\n\n### USB Gadget Support\nby default, a rndis interface is started on the USB port, and the IP address is\n10.42.0.1 - It also starts a DHCP Server on that interface, so your PC should automatically get an IP address in the 10.42.0.x range\n\nTo Disable the rndis interface, you can run the following command:\n```\nsystemctl disable usb-gadget-rndis\n```\n\nThere is also a option to start a serial port (ACM) interface instead of the rndis interface, to do this, you can run the following command:\n```\nsystemctl disable usb-gadget-rndis\nsystemctl enable usb-gadget-acm\n```\n\nAfter executing these commands, you need to reboot.\n\n### DuoS - USB Type A Port\nAfter disabling the usb-gadgets, if you want to use the USB Type A Ports, then you need to turn them on:\n```\nsystemctl enable usb-switch\n```\n\nand reboot afterwards. \n\n### Wifi on DuoS/LicheeRVNano\nFor the LicheeRVNano/DuoS board, Wifi is enabled. To connect to your wifi network, execute the following command and select \"Activate a connection\" and select your wifi network:\n```\nnmtui\n```\n\n### Ethernet\nFor Boards with eithernet, they should automatically get a IP address if your network has a DHCP Server. You can configure the \nethernet port in nmtui\n\n### Camera/ISP/Panel Support\nThe images are based on the vendor 5.10 kernel, but exclude the following drivers:\n- mipi-rx/csi drivers\n- mipi-tx/dsi drivers\n- TPU Drivers\n- Any of the Video Encoding Drivers\n\n(this is mainly due to compatibility reasons with the glibc version in debian and musl version used in the vendor images)\n\nThe images, by default, do not allocate any memory for the ION heap, as they are unused in this image, so you get the full memory of each device\n\n### Ardunio/Freertos Support\nThe images also include the remoteproc and mailbox drivers so you can load up ardunio/freertos images on the small C906 core. \n\n### Additional Packages\nThis image also adds the debian repository for https://github.com/Fishwaldo/sophgo-sg200x-packages so you can install additional repositories. The debian repository is hosted at \nhttps://sophgo.my-ho.st:8443/ which pulls down the compiled debian packages from the above github repository occasionally.\n\n\n## Building the Image\nTo build a stock image with no modifications:\n```\npodman run --privileged -it --rm -v ./configs/:/configs -v ./image:/output ghcr.io/fishwaldo/sophgo-sg200x-debian:master make BOARD=licheervnano image\n```\n\nReplace the licheervnano with the board you want to build for:\n- duo256\n- duos\n- licheervnano\n\nIf you want to create a image for the DuoS with EMMC, you can add \"STORAGE_TYPE=emmc\" to the make command:\n```\npodman run --privileged -it --rm -v ./configs/:/configs -v ./image:/output ghcr.io/fishwaldo/sophgo-sg200x-debian:master make BOARD=duos STORAGE_TYPE=emmc image\n```\n\nThe Docker image will build the image and place it in the image directory\n\naddition make targets are available when building:\n- image - builds the image\n- clean - cleans the build directory\n- linux - build a kernel debian package\n- fsbl - build the fsbl debain package (that includes cvitek-fsbl, opensbi and u-boot)\n\n## Customizing the Image\nThe configs directory contains patches, configuration and device tree files that are used to build the image.\n\nThe configs/common directory contains the common configuration for all boards, and the configs/licheervnano and configs/duo256 directories contain the board specific configuration.\n\nTo add packages to the image, either add the package name in PACKAGES variable of configs/settings.mk or if the packae is specific to a board, add it to the configs/\\\u003cboard\\\u003e/settings.mk file\n\nPatches for the kernel, opensbi, u-boot or fsbl can be placed in configs/common/patches/ or configs/\\\u003cboard\\\u003e/patches/ depending what they are for.\n\nTo assist with developing the image, you can get a shell in the docker container by running:\n```\ndocker run --privileged -it --rm -v ./configs/:/configs -v ./image:/output -v ./scripts/:/builder builder /bin/bash\n```\ninside the container, packages are build in the /builder/ directory, and the rootfs is placed at /rootfs/ directory\n\n# TODO\n- DeviceTree Overlay Support\n- Add support for the MIPI-CSI/DSI drivers (Sample applications would be in the sophgo-sg200x-packages repository if they do not depend upon a musl libc version)\n- Add support for the TPU drivers\n- Possibly mainline kernel support via the sophgo linux for-next repositories\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffishwaldo%2Fsophgo-sg200x-debian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffishwaldo%2Fsophgo-sg200x-debian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffishwaldo%2Fsophgo-sg200x-debian/lists"}