diff --git a/config/uefi-arm64-ostree/image.yaml b/config/uefi-arm64-ostree/image.yaml new file mode 100644 index 0000000..1014928 --- /dev/null +++ b/config/uefi-arm64-ostree/image.yaml @@ -0,0 +1,52 @@ +--- +name: pablo-ostree-arm64 +description: "ARM64 ostree configuration." +architecture: arm64 +version: 0.1 +schemaVersion: 1 +params: + version: $[version} + tarball: pablo-rootfs-${version}-${architecture}.tar.gz + repo: /var/www/html/repo + image: pablo-image-ostree-${version}-${architecture}.img + branch: exampleos/testing +phases: + - name: "Create rootfs" + stage: bootstrap + options: + suite: bookworm + target: ${params.tarball} + architecture: ${architecture} + setup_hooks: + - 'sync-in overlay/debian/ /' + customize_hooks: + - echo 'root:root' | chroot "$1" chpasswd + - systemctl enable --root="$1" systemd-networkd + - chroot $1 echo "localhost" > $1/etc/hostname + - mkdir -p $1/efi + packages: !include manifests/software.yaml + - name: "Create ostree repository" + stage: ostree_init + options: + repo: ${params.repo} + mode: archive-z2 + - name: "Create an ostree branch." + stage: ostree_prep + options: + repo: ${params.repo} + branch: ${params.branch} + target: ${params.tarball} + - name: "Partition and format the disk." + stage: parted + options: !include manifests/parted.yaml + - name: "Deploy ostree branch to the disk." + stage: ostree_deploy + options: + repo: ${params.repo} + branch: ${params.branch} + image: ${params.image} + kernel_args: + - root=LABEL=ROOT + - rw + - console=tty0 + - console=ttyS0,115200n8 diff --git a/config/uefi-arm64-ostree/manifests/parted.yaml b/config/uefi-arm64-ostree/manifests/parted.yaml new file mode 100644 index 0000000..eb60b63 --- /dev/null +++ b/config/uefi-arm64-ostree/manifests/parted.yaml @@ -0,0 +1,23 @@ +--- +image: + name: ${params.image} + size: 10G + label: gpt +partitions: + - name: EFI + start: 0% + end: 256MB + flags: [boot, esp] + - name: ROOT + start: 256MB + end: 100% + flags: [] +filesystems: + - name: EFI + label: EFI + fs: vfat + options: [] + - name: ROOT + label: ROOT + fs: ext4 + options: [] diff --git a/config/uefi-arm64-ostree/manifests/software.yaml b/config/uefi-arm64-ostree/manifests/software.yaml new file mode 100644 index 0000000..54a963d --- /dev/null +++ b/config/uefi-arm64-ostree/manifests/software.yaml @@ -0,0 +1,42 @@ +--- +- systemd-boot +- dracut +- linux-image-arm64 +- ca-certificates +- ostree +- ostree-boot +- python3-minimal +- python3-pip +- vim +- sudo +- net-tools +- openssh-client +- openssh-server +- procps +- less +- dbus +- policykit-1 +- curl +- wget +- ca-certificates +- libostree-1-1 +- libostree-dev +- git-core +- rsync +- bubblewrap +- python3-apt +- python3-all +- python3-pip +- python3-pbr +- python3-gi +- python3-click +- python3-systemd +- mmdebstrap +- gobject-introspection +- gir1.2-ostree-1.0 +- software-properties-common +- libnss-systemd +- gir1.2-glib-2.0 +- libcairo2-dev +- libgirepository1.0-dev +- python3-dev diff --git a/config/uefi-arm64-ostree/overlay/debian/etc/fstab b/config/uefi-arm64-ostree/overlay/debian/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/config/uefi-arm64-ostree/overlay/debian/etc/pip.conf b/config/uefi-arm64-ostree/overlay/debian/etc/pip.conf new file mode 100644 index 0000000..9d54ef9 --- /dev/null +++ b/config/uefi-arm64-ostree/overlay/debian/etc/pip.conf @@ -0,0 +1,2 @@ +[global] +break-system-packages = true diff --git a/config/uefi-arm64-ostree/overlay/debian/etc/systemd/network/dhcp.network b/config/uefi-arm64-ostree/overlay/debian/etc/systemd/network/dhcp.network new file mode 100644 index 0000000..aec1849 --- /dev/null +++ b/config/uefi-arm64-ostree/overlay/debian/etc/systemd/network/dhcp.network @@ -0,0 +1,5 @@ +[Match] +Name=en* + +[Network] +DHCP=yes diff --git a/config/uefi-arm64-ostree/overlay/debian/etc/systemd/network/wired.network b/config/uefi-arm64-ostree/overlay/debian/etc/systemd/network/wired.network new file mode 100644 index 0000000..acbc622 --- /dev/null +++ b/config/uefi-arm64-ostree/overlay/debian/etc/systemd/network/wired.network @@ -0,0 +1,6 @@ +[Match] +Name=e* +KernelCommandLine=!nfsroot + +[Network] +DHCP=yes