This contains the KIWI descriptions for building the Fedora Asahi Remix.
This repository has multiple branches, one for each supported Fedora release. The default branch is rawhide
, and is probably not what you want.
oem
, image profiles: Server
)oem
, image profiles: Workstation-GNOME
)oem
, image profiles: Workstation-KDE
)On non-AArch64 hosts, install qemu-user-static
and restart the binfmt service:
$ sudo dnf --assumeyes install qemu-user-static $ sudo systemctl restart systemd-binfmt.service
Note that building non-aarch64 is untested and likely to expose bugs.
The instructions below will use the podman
command. Only Podman is supported for this workflow.
First, pull down the container of the required environment (Fedora Linux 36 or higher works). We'll use Fedora Linux 37.
$ sudo podman pull registry.fedoraproject.org/fedora:37-aarch64
Assuming you're in the root directory of the Git checkout, set up the container:
$ sudo podman run --privileged --rm -it -v $PWD:/code:z -w /code registry.fedoraproject.org/fedora:37-aarch64 /bin/bash
Once in the container environment, set up your development environment and run the image build (substitute <image_type>
and <image_profile>
for the appropriate settings):
# Install kiwi []$ dnf --assumeyes install kiwi # Run the image build []$ kiwi-ng --type=<image_type> --profile=<image_profile> --color-output system build --description ./ --target-dir ./outdir
For example, to build the --profile=Workstation-GNOME profile:
[]$ kiwi-ng --debug --type=oem --profile=Workstation-GNOME --color-output system build --description ./ --target-dir ./outdir
We also provide a script to generate an Asahi Installer package from the raw image that kiwi produces:
# Install prerequsites []$ dnf --assumeyes install fatcat gawk util-linux zip # Build the package []$ ./make-asahi-installer-package.sh outdir/Fedora-Asahi-Remix.aarch64-0.0.0.raw package.zip
Please default to submitting PRs against the rawhide
branch. Release branches should generally merge from rawhide
and only deviate where absolutely necessary.
This is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, under version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.