2022-09-17 12:16:13 +00:00
# Fedora Asahi Remix KIWI descriptions
This contains the KIWI descriptions for building the Fedora Asahi Remix.
2022-12-20 16:51:39 +00:00
This repository has multiple branches, one for each supported Fedora release. The default branch is `rawhide` , and is probably _not_ what you want.
2022-09-17 12:16:13 +00:00
## Spin variants
2022-12-24 16:08:35 +00:00
* Minimal (image type: `oem` , image profiles: `Minimal` )
2022-09-17 12:16:13 +00:00
* Server (image type: `oem` , image profiles: `Server` )
* Workstation GNOME (image type: `oem` , image profiles: `Workstation-GNOME` )
* Workstation KDE (image type: `oem` , image profiles: `Workstation-KDE` )
## Spin build quickstart
### Pre-requisites for non-AArch64 hosts
On non-AArch64 hosts, install `qemu-user-static` and restart the binfmt service:
```bash
$ sudo dnf --assumeyes install qemu-user-static
$ sudo systemctl restart systemd-binfmt.service
```
2022-11-04 18:12:41 +00:00
Note that building non-aarch64 is untested and likely to expose bugs.
2022-09-17 12:16:13 +00:00
### Podman
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.
```bash
$ sudo podman pull registry.fedoraproject.org/fedora:37-aarch64
```
Assuming you're in the root directory of the Git checkout, set up the container:
```bash
$ 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):
```bash
# 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
```
2022-11-04 18:12:41 +00:00
For example, to build the --profile=Workstation-GNOME profile:
```bash
[]$ 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 ](https://github.com/AsahiLinux/asahi-installer ) package from the raw image that kiwi produces:
```bash
# 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
```
2022-12-20 16:51:39 +00:00
## Contributing
Please default to submitting PRs against the `rawhide` branch. Release branches should generally merge from `rawhide` and only deviate where absolutely necessary.
2022-09-17 12:16:13 +00:00
## Licensing
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 / > .