asahi-kiwi-descriptions/README.md
2023-02-12 03:43:09 +00:00

86 lines
3.1 KiB
Markdown

# Fedora Asahi Remix KIWI descriptions
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.
## Spin variants
* Minimal (image type: `oem`, image profiles: `Minimal`)
* Server (image type: `oem`, image profiles: `Server`)
* Workstation Cinnamon (image type: `oem`, image profiles: `Workstation-Cinnamon`)
* 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
```
Note that building non-aarch64 is untested and likely to expose bugs.
### 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
```
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
```
## Contributing
Please default to submitting PRs against the `rawhide` branch. Release branches should generally merge from `rawhide` and only deviate where absolutely necessary.
## 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/>.