{"id":47014831,"url":"https://github.com/linux4sam/buildroot-external-microchip","last_synced_at":"2026-03-11T21:46:20.779Z","repository":{"id":43918133,"uuid":"122511659","full_name":"linux4sam/buildroot-external-microchip","owner":"linux4sam","description":"Buildroot External for Microchip SoC","archived":false,"fork":false,"pushed_at":"2026-03-05T09:16:04.000Z","size":2693,"stargazers_count":48,"open_issues_count":3,"forks_count":42,"subscribers_count":21,"default_branch":"master","last_synced_at":"2026-03-05T13:44:57.059Z","etag":null,"topics":["buildroot","buildroot-external","cross-compiler","distribution","linux","makefile"],"latest_commit_sha":null,"homepage":"https://www.linux4microchip.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linux4sam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-02-22T17:30:14.000Z","updated_at":"2026-03-05T09:16:07.000Z","dependencies_parsed_at":"2023-11-28T14:26:13.261Z","dependency_job_id":"f0b07a73-cbe7-4ef8-a180-547411e0b2e4","html_url":"https://github.com/linux4sam/buildroot-external-microchip","commit_stats":null,"previous_names":[],"tags_count":129,"template":false,"template_full_name":null,"purl":"pkg:github/linux4sam/buildroot-external-microchip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fbuildroot-external-microchip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fbuildroot-external-microchip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fbuildroot-external-microchip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fbuildroot-external-microchip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linux4sam","download_url":"https://codeload.github.com/linux4sam/buildroot-external-microchip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linux4sam%2Fbuildroot-external-microchip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30402330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T21:02:20.017Z","status":"ssl_error","status_checked_at":"2026-03-11T20:59:32.667Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["buildroot","buildroot-external","cross-compiler","distribution","linux","makefile"],"created_at":"2026-03-11T21:46:20.588Z","updated_at":"2026-03-11T21:46:20.773Z","avatar_url":"https://github.com/linux4sam.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Microchip](docs/microchip_logo.png)\n\n# Microchip Buildroot External\n\nThis [buildroot external][1] includes Microchip packages, patches, setup, and\nconfiguration to work with Microchip provided software that is not included in\nmainline buildroot.  This includes creating demo root filesystems. This project\nprovides an extension to buildroot to support these customizations outside of\nthe standard buildroot tree.\n\n\n## Install System Dependencies\n\nThe external is tested on Ubuntu 22.04 LTS.  The following system build\ndependencies are required.\n\n    sudo apt-get install subversion build-essential bison flex gettext \\\n    libncurses5-dev texinfo autoconf automake libtool mercurial git-core \\\n    gperf gawk expat curl cvs libexpat-dev bzr unzip bc python3-dev \\\n    wget cpio rsync xxd bmap-tools libgnutls28-dev\n\nFor AT91 boards, download and extract the [SAM-BA in-system programmer][16],\nthen add the extracted directory to your $PATH environment variable to ensure\nthe `sam-ba` binary can be located by buildroot.\n\nIn some cases, buildroot will notify that additional host dependencies are\nrequired.  It will let you know what those are.\n\n\n## Buildroot Dependencies\n\nFor AT91, this buildroot external works only with the specific buildroot-mchp\nversion 2025.02-mchp.\n\nFor PolarFire SoC, this buildroot external was tested and works with buildroot\nversion 2025.02.\n\nFor PIC64GX, this buildroot external was tested and works with buildroot\nversion 2025.02.\n\n## Build\n\nClone, configure, and build.  When building, use the appropriate defconfig in\nthe `buildroot-external-microchip/configs` directory for your board.\n\nFor AT91 configurations, as an example, we use `sama5d4_xplained_graphics_defconfig`.\n\n    git clone https://github.com/linux4microchip/buildroot-external-microchip.git\n    git clone https://github.com/linux4microchip/buildroot-mchp.git -b 2025.02-mchp\n    cd buildroot-mchp\n    export BR2_EXTERNAL=../buildroot-external-microchip/\n    make sama5d4_xplained_graphics_defconfig\n    make\n\nFor PolarFire SoC configurations, as an example, we use `icicle_defconfig`.\n\n    git clone https://github.com/linux4microchip/buildroot-external-microchip.git\n    git clone https://git.busybox.net/buildroot -b 2025.02\n    cd buildroot\n    BR2_EXTERNAL=../buildroot-external-microchip/ make icicle_defconfig\n    make\n\nThe resulting bootloader, kernel, and root filesystem will be put in the\n'output/images' directory.  There is also a complete `sdcard.img`.\n\n#### Optionally Configure Packages and Kernel\n\nUserspace packages and the Linux kernel, for example, can be optionally selected\nand configured using buildroot.\n\nTo configure userspace packages and build:\n\n    make menuconfig\n    make\n\n\nTo configure the kernel and build:\n\n    make linux-menuconfig\n    make\n\n\nCreate a list of software licenses used:\n\n    make legal-info\n\n## Supported Families\n\nThis buildroot external repository supports several board families from\nMicrochip Technology, Inc.\n\n### AT91 boards\n\nAT91 boards are based on AT91 SAM architecture, based on ARM processors.\nThese include boards based on ARMv5 and ARMv7, on cores like the ARM926 and\nARM Cortex-A5 or ARM Cortex-A7.\n\n#### Create an SD Card\n\nA SD card image is generated in the file `sdcard.img`.  The first partition of\nthis image contains a FAT filesystem with at91bootstrap, u-boot, a u-boot env,\nITB file, which contains kernel and device tree. The second partition contains\nthe root filesystem. This image can be written directly to an SD card.\n\nYou need at least a 1GB SD card. All the data on the SD card will be\nlost. Find the device node name for your card.  To copy the image on the SD\ncard:\n\n    cd output/images\n    sudo dd if=sdcard.img of=/dev/sdX bs=1M\n\nAnother method, which is cross platform, to write the SD card image is to use\n[Etcher][5].\n\nFor more information on how these components are generated and what makes up a\nbootable SD card, see [SDCardBootNotice][4].\n\n#### Configuring the LCD Display\n\nU-boot will automatically detect your connected display and load the\ncorresponding DT-overlay for your screen.\nFor more information, adjustments of this behavior, check the information\non the [at91Wiki][6].\n\n#### Kernel and Device Tree Blob packaging\n\nLinux Kernel and the Device Tree Blob will be included in a single file\nnamed FIT Image (*.itb files). U-boot needs to boot a FIT Image, unlike before,\nwhen it was loading two separate files (zImage and dtb).\nFor more information, check the information on the [at91Wiki][7].\n\n#### Documentation\n\nFor more information on using and updating buildroot-mchp, see the [buildroot\ndocumentation][3].\n\n### PolarFire SoC - Icicle Kit\n\nThere are several configurations available for PolarFire SoC Icicle Kit.\nTo generate an image, choose any of the Icicle Kit defconfigs provided\nin the configs directory and follow the corresponding instructions.\n\nFor example, to build an image suitable for programming to the SD/eMMC\nfor the Icicle Kit:\n\n    BR2_EXTERNAL=../buildroot-external-microchip/ make icicle_defconfig\n    make\n\nThe `icicle_amp_defconfig` can be used to build the Icicle Kit with\nAsymmetric Multiprocessing (AMP) support. For more information on AMP,\nplease see the [AMP guide for PolarFire SoC][9].\n\nPlease note that this buildroot external is intended for use with the latest\nversion of the [Icicle Kit Reference Design][13]. For reference design versions\nprior to v2022.10, please use the [linux4microchip+fpga-2022.11 tag][14] of this\nrepository.\n\n#### Create an Image for eMMC/SD Card\n\nAn image is generated in the file `sdcard.img` in the output/images\ndirectory. The first partition of this image contains a U-Boot binary,\nembedded in a Hart Software Services (HSS) payload. The second partition\ncontains a FAT filesystem with a U-Boot env and an ITB file containing\nthe kernel and the device tree. The third partition contains the file\nsystem. This image can be written directly to the eMMC or an SD card.\n\nThe `icicle_defconfig` generates an image containing a root filesystem, whereas\nthe `icicle_initramfs_defconfig` generates an image with a RAM-based\nfilesystem.\n\nThere are several ways to copy the image to the eMMC or an SD card:\n\na) Copy the image to the eMMC or SD card using the standard Unix `dd` tool:\n\nFind the device node name for your card and then copy the image as shown below:\n\n    cd output/images\n    sudo dd if=sdcard.img of=/dev/sdX bs=1M\n\nb) Copy the image to the eMMC or SD card using `bmaptool` (recommended)\n\nThis is a generic tool for creating a block map (bmap) for a file and copying\nfiles using this block map. Raw system image files can be flashed a lot faster\nwith bmaptool than with traditional tools, like \"dd\".\n\n    cd output/images\n    sudo bmaptool copy sdcard.img /dev/sdX\n\nIf using an SD Card, you need at least 8GB. All the data on the SD card\nwill be lost.\n\nAnother method, which is cross platform, to write the image is to use\n[USBImager][10] or [Etcher][5].\n\nFor instructions on how to transfer the image to the eMMC/SD, please refer to\nthe *Programming the Linux image* section of our [guide on updating PolarFire SoC dev kits][12].\n\n#### Create an Image for an external QSPI Flash memory\n\nThe `icicle_nor_defconfig` and `icicle_nand_defconfig` defconfigs provide\nsupport for building images suitable for programming to the oficially supported\nQSPI flash memories.\n\nAn image with the name `nor.img` or `nand.img `is generated in the output/images directory.\n\nFor more information on how to enable QSPI support on PolarFire SoC, please\nrefer to the [Booting from QSPI][11] documentation.\n\nNote: The nand.img image generated triggers a \"free space fixup\" procedure in\nthe kernel the very first time the file system is mounted. Therefore, the first\nmount might take additional time to complete. This is a one-time harmless procedure\nthat involves finding all empty pages in the UBIFS file system and re-erasing them. This is useful\nwhen a non-UBIFS-aware programmer is used to flash the image to a NAND memory.\n\nFor instructions on how to transfer the image to the external QSPI flash memory\nrefer to the *External QSPI Flash Memory* section of the [updating PolarFire SoC dev kits][12]\ndocumentation.\n\n### PolarFire SoC - Discovery Kit\n\nThere is a single configuration available for the PolarFire SoC Discovery Kit.\nTo generate an image, use the provided Discovery Kit defconfig in the configs directory and follow the instructions below.\n\nFor example, to build an image suitable for programming to the SD card for the Discovery Kit:\n\n    BR2_EXTERNAL=../buildroot-external-microchip/ make mpfs_discovery_kit_defconfig\n    make\n\nPlease note that this buildroot external is intended for use with the latest\nversion of the [Discovery Kit Reference Design][15].\n\n#### Create an Image for SD Card\n\nAn image is generated in the file `sdcard.img` in the output/images\ndirectory. The first partition of this image contains a U-Boot binary,\nembedded in a Hart Software Services (HSS) payload. The second partition\ncontains a FAT filesystem with a U-Boot env and an ITB file containing\nthe kernel and the device tree. The third partition contains the file\nsystem. This image can be written directly to the SD card.\n\nThe `mpfs_discovery_kit_defconfig` generates an image containing a root filesystem.\n\nThere are several ways to copy the image to the SD card:\n\na) Copy the image to the SD card using the standard Unix `dd` tool:\n\nFind the device node name for your card and then copy the image as shown below:\n\n    cd output/images\n    sudo dd if=sdcard.img of=/dev/sdX bs=1M\n\nb) Copy the image to the SD card using `bmaptool` (recommended)\n\nThis is a generic tool for creating a block map (bmap) for a file and copying\nfiles using this block map. Raw system image files can be flashed a lot faster\nwith bmaptool than with traditional tools, like \"dd\".\n\n    cd output/images\n    sudo bmaptool copy sdcard.img /dev/sdX\n\nIf using an SD Card, you need at least 8GB. All the data on the SD card\nwill be lost.\n\nAnother method, which is cross platform, to write the image is to use\n[USBImager][10] or [Etcher][5].\n\nFor instructions on how to transfer the image to the SD Card, please refer to\nthe *Programming the Linux image* section of our [guide on updating PolarFire SoC dev kits][12].\n\n#### Documentation\n\nFor more information on using buildroot for PolarFire SoC, see\nthe [PolarFire SoC documentation][8].\n\n### PIC64GX\n\nThere are several configurations available for PIC64GX Curiosity Kit.\nTo generate an image, choose any of the PIC64GX Curiosity Kit defconfigs\nprovided in the configs directory and follow the corresponding instructions.\n\nFor example, to build an image suitable for programming to the SD card for the\nPIC64GX Curiosity Kit:\n\n    BR2_EXTERNAL=../buildroot-external-microchip/ make pic64gx_curiosity_kit_defconfig\n    make\n\n#### Create an Image for SD Card\n\nAn image is generated in the file `sdcard.img` in the output/images\ndirectory. The first partition of this image contains a U-Boot binary,\nembedded in a Hart Software Services (HSS) payload. The second partition\ncontains a FAT filesystem with a U-Boot env and an ITB file containing\nthe kernel and the device tree. The third partition contains the file\nsystem. This image can be written directly to the SD card.\n\nThe `pic64gx_curiosity_kit_defconfig` generates an image containing a root filesystem, whereas\nthe `pic64gx_curiosity_kit_initramfs_defconfig` generates an image with a RAM-based\nfilesystem.\n\nThere are several ways to copy the image to an SD card:\n\na) Copy the image to the SD card using the standard Unix `dd` tool:\n\nFind the device node name for your card and then copy the image as shown below:\n\n    cd output/images\n    sudo dd if=sdcard.img of=/dev/sdX bs=1M\n\nb) Copy the image to the SD card using `bmaptool` (recommended)\n\nThis is a generic tool for creating a block map (bmap) for a file and copying\nfiles using this block map. Raw system image files can be flashed a lot faster\nwith bmaptool than with traditional tools, like \"dd\".\n\n    cd output/images\n    sudo bmaptool copy sdcard.img /dev/sdX\n\nFor your SD card, you need at least 8GB. All the data on the SD card will be lost.\n\n## License\n\nThis project is licensed under the [GPLv2][2] or later with exceptions.  See the\n`COPYING` file for more information.  Buildroot is licensed under the [GPLv2][2]\nor later with exceptions. See the `COPYING` file in that project for more\ninformation.\n\n\n[1]: https://buildroot.org/downloads/manual/manual.html#outside-br-custom\n[2]: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html\n[3]: https://buildroot.org/docs.html\n[4]: https://www.linux4sam.org/bin/view/Linux4SAM/SDCardBootNotice\n[5]: https://etcher.io/\n[6]: https://www.linux4sam.org/bin/view/Linux4SAM/PDADetectionAtBoot\n[7]: https://www.linux4sam.org/bin/view/Linux4SAM/UsingFITwithOverlays\n[8]: https://github.com/polarfire-soc/polarfire-soc-documentation\n[9]: https://mi-v-ecosystem.github.io/redirects/asymmetric-multiprocessing_amp\n[10]: https://bztsrc.gitlab.io/usbimager/\n[11]: https://mi-v-ecosystem.github.io/redirects/booting-from-qspi_booting-from-qspi\n[12]: https://mi-v-ecosystem.github.io/redirects/boards-mpfs-generic-updating-mpfs-kit\n[13]: https://github.com/polarfire-soc/icicle-kit-reference-design/releases\n[14]: https://github.com/linux4microchip/buildroot-external-microchip/releases/tag/linux4microchip%2Bfpga-2022.11\n[15]: https://github.com/polarfire-soc/polarfire-soc-discovery-kit-reference-design/releases\n[16]: https://www.microchip.com/en-us/development-tool/SAM-BA-In-system-Programmer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux4sam%2Fbuildroot-external-microchip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinux4sam%2Fbuildroot-external-microchip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinux4sam%2Fbuildroot-external-microchip/lists"}