Skip to content

Commit

Permalink
Merge pull request #15 from Ultramarine-Linux/jade/raw-images-w-de
Browse files Browse the repository at this point in the history
Raw images and UM40 fixes
  • Loading branch information
lleyton authored May 10, 2024
2 parents 7d2de49 + e7f586c commit bc1d8b0
Show file tree
Hide file tree
Showing 89 changed files with 2,183 additions and 184 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ jobs:
variant:
- base/base-docker-x86_64
- base/base-docker-aarch64
- base/devtools-docker-aarch64
- base/devtools-docker-x86_64

outputs:
artifact: ${{ matrix.variant }}
Expand Down
21 changes: 15 additions & 6 deletions .github/workflows/build-katsu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,16 @@ jobs:
- aarch64
variant:
- base/base-disk
#- flagship/flagship-chromebook
- flagship/base-disk
- gnome/base-disk
- kde/base-disk
- xfce/base-disk
#- pantheon/base-disk
- flagship/flagship-chromebook
- gnome/gnome-chromebook
- kde/kde-chromebook
- xfce/xfce-chromebook
#- pantheon/pantheon-chromebook
# TODO: figure out how to get loop devices to work on our ARM runners
runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-latest' || 'arm64' }}
container:
Expand Down Expand Up @@ -86,15 +95,14 @@ jobs:
- name: ${{ env.KATSU_BUILD_TASK_NAME }}
run: |
pushd katsu
KATSU_LOG=trace KATSU_DRACUT_EXTRA_ARGS="--debug" katsu -v --output=disk-image modules/${{ matrix.variant }}-${{ matrix.arch }}.yaml
xz -z9 katsu-work/image/katsu.img -c > katsu-work/image/ultramarine-40-${{ matrix.arch }}.img.xz
KATSU_LOG=trace katsu -v --output=disk-image "modules/${{ matrix.variant }}-${{ matrix.arch }}.yaml"
popd
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.artifact }}-image
path: katsu/katsu-work/image/*.img.xz
path: katsu/katsu-work/image/*.img

live-iso:
strategy:
Expand All @@ -107,7 +115,8 @@ jobs:
- flagship/flagship-live
- gnome/gnome-live
- kde/kde-live
- pantheon/pantheon-live
#- pantheon/pantheon-live
- xfce/xfce-live
runs-on: ${{ matrix.arch == 'x86_64' && 'ubuntu-latest' || 'arm64' }}
container:
image: ghcr.io/terrapkg/builder:f40
Expand Down Expand Up @@ -136,7 +145,7 @@ jobs:
- name: ${{ env.KATSU_BUILD_TASK_NAME }}
run: |
pushd katsu
KATSU_LOG=trace KATSU_DRACUT_EXTRA_ARGS="--debug" katsu -v --output=iso modules/${{ matrix.variant }}.yaml
KATSU_LOG=trace katsu -v --output=iso "modules/${{ matrix.variant }}.yaml"
# get the ISO name, and then append the arch
# e.g. flagship-live.iso -> flagship-live-x86_64.iso
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
katsu-work/
.DS_Store
79 changes: 79 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,82 @@ katsu -o iso katsu/modules/flagship/flagship-live.yaml
Ultramarine also offers a minimal base Docker image, in rare cases when you want to run Ultramarine as a container.

The image itself is similar to the vanilla Fedora image, but includes the Ultramarine Linux repositories and RPMFusion repositories. This may prove useful for some users who want a Fedora-like environment, but with some extra packages.

## Status of Images (UM40)

### Notes

- Pantheon is not currently being built
- Chromebook images are shown as failing due to me not setting them up to build yet

### Flagship

- ☓ x86 Live
- ✓ ARM Live
- ✓ x86 Preinstalled
- ✓ ARM Preinstalled
- ☓ x86 Chromebook
- ☓ Chromebook mt8183
- ☓ Chromebook mt8192
- ☓ Chromebook SC-7C
- ☓ Chromebook Stoney Ridge

### GNOME

- ☓ x86 Live
- ✓ ARM Live
- ✓ x86 Preinstalled
- ✓ ARM Preinstalled
- ☓ x86 Chromebook
- ☓ Chromebook mt8183
- ☓ Chromebook mt8192
- ☓ Chromebook SC-7C
- ☓ Chromebook Stoney Ridge

### KDE

- ☓ x86 Live
- ✓ ARM Live
- ✓ x86 Preinstalled
- ✓ ARM Preinstalled
- ☓ x86 Chromebook
- ☓ Chromebook mt8183
- ☓ Chromebook mt8192
- ☓ Chromebook SC-7C
- ☓ Chromebook Stoney Ridge

### Pantheon

- ☓ x86 Live
- ☓ ARM Live
- ☓ x86 Preinstalled
- ☓ ARM Preinstalled
- ☓ x86 Chromebook
- ☓ Chromebook mt8183
- ☓ Chromebook mt8192
- ☓ Chromebook SC-7C
- ☓ Chromebook Stoney Ridge

### Xfce

- ☓ x86 Live
- ✓ ARM Live
- ✓ x86 Preinstalled
- ✓ ARM Preinstalled
- ☓ x86 Chromebook
- ☓ Chromebook mt8183
- ☓ Chromebook mt8192
- ☓ Chromebook SC-7C
- ☓ Chromebook Stoney Ridge

### Base/Preinstalled

- ✓ x86
- ✓ ARM

### Docker

- ✓ x86
- ☓ ARM
- ✓ x86 Devtools
- ☓ ARM Devtools
12 changes: 8 additions & 4 deletions katsu/modules/base/base-disk-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ import:
- base.yaml
- base-disk.yaml

dnf:
releasever: 40
# options:
# - --setopt=strict=0
arch: aarch64
packages:
- ultramarine-release-identity-basic
- ultramarine-release-basic
scripts:
post:
- id: grub
Expand All @@ -35,7 +43,3 @@ disk:
# size: 2.5MiB
filesystem: ext4
mountpoint: /

dnf:
releasever: 40
arch: aarch64
11 changes: 8 additions & 3 deletions katsu/modules/base/base-disk-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ import:
- base.yaml
- base-disk.yaml

dnf:
releasever: 40
# options:
# - --setopt=strict=0
packages:
- ultramarine-release-identity-basic
- ultramarine-release-basic

scripts:
post:
- id: grub
Expand All @@ -35,6 +43,3 @@ disk:
# size: 2.5MiB
filesystem: ext4
mountpoint: /

dnf:
releasever: 40
4 changes: 0 additions & 4 deletions katsu/modules/base/base-disk.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
builder: dnf

dnf:
releasever: 40
options:
Expand Down Expand Up @@ -31,8 +29,6 @@ dnf:
- NetworkManager
- rpm
- libgomp
- ultramarine-release-identity-basic
- ultramarine-release-basic
- fedora-repos
- efibootmgr

Expand Down
2 changes: 1 addition & 1 deletion katsu/modules/base/base-docker-aarch64.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
builder: dnf
distro: Ultramarine Linux 40
distro: Ultramarine Linux 40 Container

import:
- base-docker.yaml
Expand Down
2 changes: 1 addition & 1 deletion katsu/modules/base/base-docker-x86_64.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
builder: dnf
distro: Ultramarine Linux 40
distro: Ultramarine Linux 40 Container

import:
- base-docker.yaml
Expand Down
10 changes: 9 additions & 1 deletion katsu/modules/base/cleanup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,12 @@ rm -f /etc/NetworkManager/system-connections/*.nmconnection
rm -f /etc/machine-id
touch /etc/machine-id

rm -f /var/lib/rpm/__db*
rm -f /var/lib/rpm/__db*

# Set up initial setup, might be redundant idk

if [ rpm -q gnome-initial-setup ]; then
touch /var/lib/gdm/run-initial-setup || true
else
systemctl enable initial-setup || true
fi
37 changes: 37 additions & 0 deletions katsu/modules/base/devtools-docker-aarch64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
builder: dnf
distro: Ultramarine Linux 40 Container (Development Tools)

import:
- base-docker.yaml

dnf:
releasever: 40
arch: aarch64
packages:
#releng and packaging
- katsu
- anda
- anda-mock-configs
- anda-srpm-macros
- libostree
- rpm-ostree
#languages
- vala
- rust
- python3
- python3-pip
- nodejs
#hwe/anywhere
- vboot-utils
#gui
- libhelium
- libhelium-devel
- tau-helium
- tau-hydrogen
- gtk4-devel
- rust-gtk4-devel
#utils
- git
- micro
- nano
- vim
37 changes: 37 additions & 0 deletions katsu/modules/base/devtools-docker-x86_64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
builder: dnf
distro: Ultramarine Linux 40 Container (Development Tools)

import:
- base-docker.yaml

dnf:
releasever: 40
arch: x86_64
packages:
#releng and packaging
- katsu
- anda
- anda-mock-configs
- anda-srpm-macros
- libostree
- rpm-ostree
#languages
- vala
- rust
- python3
- python3-pip
- nodejs
#hwe/anywhere
- vboot-utils
#gui
- libhelium
- libhelium-devel
- tau-helium
- tau-hydrogen
- gtk4-devel
- rust-gtk4-devel
#utils
- git
- micro
- nano
- vim
5 changes: 3 additions & 2 deletions katsu/modules/base/grub-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ EOF

sed -i 's/ ro / rw /g' /boot/loader/entries/*.conf

dracut -vfN --add-drivers "virtio virtio_blk virtio_scsi xchi_pci mmc" --regenerate-all
# -v will fill up the logs and make it hard to debug
dracut -fN --add-drivers "virtio virtio_blk virtio_scsi xchi_pci mmc" --regenerate-all

arch=$(uname -m)
if [[ $arch == "aarch64" ]]; then
Expand All @@ -50,4 +51,4 @@ rm -f /etc/NetworkManager/system-connections/*.nmconnection
rm -f /etc/machine-id
touch /etc/machine-id

rm -f /var/lib/rpm/__db*
rm -f /var/lib/rpm/__db*
47 changes: 47 additions & 0 deletions katsu/modules/chromebook/base-cbe-kernel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
scripts:
post:
- id: cleanup
name: Clean up system
file: ../base/cleanup.sh
- id: selinux-setup
name: Set up SELinux
file: ../base/selinux.sh
- id: buildstamp
name: Generate buildstamp
file: ../base/buildstamp.sh
- id: submarine
name: Set up ChromeOS bootloader
file: submarine.sh

dnf:
releasever: 39
repodir: ./repodir-mtest
options:
- --setopt=cachedir=/var/cache/dnf
- --nogpgcheck
- --setopt=keepcache=True
- --best
- --allowerasing
exclude:
- fedora-release*
- generic-release*
- kernel-debug*
- setroubleshoot
- setroubleshoot-plugins
- setroubleshoot-server
- kernel
- kernel-devel
- kernel-core
arch_packages:
aarch64:
- bcm283x-firmware
- bcm283x-overlays
- "@arm-tools"
x86_64:
- grub2-pc
- grub2-pc-modules
packages:
- depthcharge-tools
- alsa-ucm-cros
- submarine
- cros-keyboard-map
Loading

0 comments on commit bc1d8b0

Please sign in to comment.