# How to create a kas configuration file that includes my custom distro?

**URL:** <https://hub.mender.io/t/how-to-create-a-kas-configuration-file-that-includes-my-custom-distro/7636>\
**Category:** General Discussions\
**Tags:** raspberry-pi-4, kas\
**Created:** [March 18, 2025, 12:53am UTC](https://hub.mender.io/t/how-to-create-a-kas-configuration-file-that-includes-my-custom-distro/7636 "2025-03-18T00:53:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dolence](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dolence/32/2441_2.png) [@dolence](https://hub.mender.io/u/dolence)\
**Post date:** [March 18, 2025, 12:53am UTC](https://hub.mender.io/t/how-to-create-a-kas-configuration-file-that-includes-my-custom-distro/7636/1 "2025-03-18T00:53:46Z")

</div>

Hi! I’m trying to set a minimal kas yml file that includes meta-mender-community and a custom distro where I would be able to change things like the distribution version, name, etc.  
I tought it was something easy to achieve by including meta-mender-community/kas/raspberrypi4-64.yml to my kas yml file, but it turned out that the the meta-mender-community repo isn’t being downloaded before the include, giving me a file not found error. Anyone woud please give me any advice on how to achieve what I’m trying to do?

**Directory structure:**

```auto
 .
├── build
├── kas-my-os.yml
├── meta-my-os
│ ├── conf
│ │ ├── distro
│ │ │ └── my-os.conf
│ │ └── layer.conf
│ ├── COPYING.MIT
│ ├── README
│ └── recipes-example
│ └── example
│ └── example_0.1.bb
└── poky (should be obtained from the kas-my-os.yml repo)

```

**kas-my-os.yml**

```auto
header:
  version: 14
  includes:
    - meta-mender-community/kas/raspberrypi4-64.yml

repos:
  poky:
    url: http://git.yoctoproject.org/poky
    branch: scarthgap
    layers:
      meta:
      meta-poky:

  meta-mender-community:
    url: https://github.com/mendersoftware/meta-mender-community
    branch: scarthgap
    layers:
      meta-mender-raspberrypi: true

  meta-my-os:
    path: meta-my-os
    layers:
      meta-my-os: true

local_conf_header:
  base: |
    CONF_VERSION = "2"
    INIT_MANAGER = "systemd"
  distro: |
    DISTRO ?= "my-os"
    MACHINE = "raspberrypi4-64"

```

**meta-my-os/conf/layer.conf**

```auto
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
            ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "meta-my-os"
BBFILE_PATTERN_meta-my-os = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-my-os = "6"

LAYERDEPENDS_meta-my-os = "core"
LAYERSERIES_COMPAT_meta-my-os = "scarthgap"

```

**meta-my-os/my-os.conf**

```auto
DISTRO = "my-os"
DISTRO_NAME = "My OS"
DISTRO_VERSION = "1.0.0"
DISTRO_CODENAME = "mycodename"

```

EDIT: solved by adding the file to his repo on the includes section as stated in here: [Including configuration files from other repos](https://kas.readthedocs.io/en/latest/userguide/project-configuration.html#including-configuration-files-from-other-repos)

Now I’m facing another problem while building. There is one file that doesn’t get downloaded:

```auto

WARNING: linux-raspberrypi-1_6.6.22+git-r0 do_fetch: Failed to fetch URL git://github.com/raspberrypi/linux.git;name=machine;branch=rpi-6.6.y;protocol=https, attempting MIRRORS if available
ERROR: linux-raspberrypi-1_6.6.22+git-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export PATH="/home/dolence/desenvolvimento/yocto/phoenix-os/poky/scripts:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/recipe-sysroot-native/usr/bin/aarch64-oe-linux:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/recipe-sysroot/usr/bin/crossscripts:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/recipe-sysroot-native/usr/sbin:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/recipe-sysroot-native/usr/bin:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/recipe-sysroot-native/sbin:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/recipe-sysroot-native/bin:/home/dolence/desenvolvimento/yocto/phoenix-os/poky/bitbake/bin:/home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/hosttools"; export HOME="/tmp/tmpp05q36tq"; LANG=C git -c gc.autoDetach=false -c core.pager=cat -c safe.bareRepository=all clone --bare --mirror https://github.com/raspberrypi/linux.git /home/dolence/desenvolvimento/yocto/phoenix-os/build/downloads/git2/github.com.raspberrypi.linux.git --progress failed with exit code 128, see logfile for output
ERROR: linux-raspberrypi-1_6.6.22+git-r0 do_fetch: Bitbake Fetcher Error: FetchError('Unable to fetch URL from any source.', 'git://github.com/raspberrypi/linux.git;name=machine;branch=rpi-6.6.y;protocol=https')
ERROR: Logfile of failure stored in: /home/dolence/desenvolvimento/yocto/phoenix-os/build/tmp-glibc/work/raspberrypi4_64-oe-linux/linux-raspberrypi/6.6.22+git/temp/log.do_fetch.60810
ERROR: Task (/home/dolence/desenvolvimento/yocto/phoenix-os/build/../meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.6.bb:do_fetch) failed with exit code '1'

```
