mirror of
https://github.com/ManInDark/bootc-image.git
synced 2026-01-20 22:44:28 +01:00
95 lines
3.5 KiB
Markdown
95 lines
3.5 KiB
Markdown
# custom bootc image
|
|
|
|
This repository contains all information necessary to build my very own customized bootc image.
|
|
|
|
I've attached various links I used to learn about how all of this works below, they are in no particular order.
|
|
|
|
## Build
|
|
|
|
A qcow image may be built by first calling `make oci` to build the oci image and then `make qcow` to turn it into a bootable qcow image. For hardware installation, I recommend the anaconda-iso variant.
|
|
|
|
You should adapt user & disk settings in `disk_config/user.toml` before you build your own installation iso though.
|
|
|
|
It may be necessary to create your own keys: https://github.com/CheariX/silverblue-akmods-keys
|
|
|
|
The kernel arguments need to be added manually: `rpm-ostree kargs --append=rd.driver.blacklist=nouveau,nova_core --append=modprobe.blacklist=nouveau,nova_core --append=nvidia-drm.modeset=1`
|
|
|
|
You may want to set `HOME` in the `.bashrc` or similar files to `/var/home/$USER` to display home-relative paths correctly in the shell.
|
|
|
|
## Links
|
|
|
|
- [getting started](https://docs.fedoraproject.org/en-US/bootc/building-containers)
|
|
- [Fedora Silverblue](https://fedoraproject.org/atomic-desktops/silverblue/download) is a fully prepared gnome desktop distribution.
|
|
- [cicd-bootc](https://github.com/nzwulfin/cicd-bootc) example repository with github action workflow for building images
|
|
- [universal-blue](https://universal-blue.org) prebuilt image provider (Aurora, Bazzite, Bluefin, uCore)
|
|
- [image building guidance](https://bootc-dev.github.io/bootc/building/guidance.html)
|
|
- [authentication in images](https://docs.fedoraproject.org/en-US/bootc/authentication)
|
|
- [provisioning with qemu and libvirt](https://docs.fedoraproject.org/en-US/bootc/qemu-and-libvirt)
|
|
- [fedora base images](https://docs.fedoraproject.org/en-US/bootc/base-images)
|
|
- [bootc image builder](https://github.com/osbuild/bootc-image-builder)
|
|
- [building bootc images from scratch](https://docs.fedoraproject.org/en-US/bootc/building-from-scratch)
|
|
- [building derived images](https://docs.fedoraproject.org/en-US/bootc/building-containers)
|
|
- [osbuild partitioning](https://osbuild.org/docs/user-guide/partitioning)
|
|
- [osbuild blueprint reference](https://osbuild.org/docs/user-guide/blueprint-reference)
|
|
- [filesystem guide](https://bootc-dev.github.io/bootc/filesystem.html)
|
|
|
|
It is possible to keep a revision by pinning it: `ostree admin pin 0`
|
|
|
|
## Installed Software
|
|
|
|
- man
|
|
- langpacks: en, de
|
|
- default-fonts-cjk
|
|
- Gnome + Software
|
|
- curl
|
|
- git
|
|
- btop
|
|
- nvtop
|
|
- tmux
|
|
- pciutils
|
|
- tailscale
|
|
- make
|
|
- fzf
|
|
- direnv
|
|
- xsel
|
|
- ffmpeg
|
|
- pandoc
|
|
- ansible
|
|
- sqlite
|
|
- netcat
|
|
- tor & torbrowser-launcher
|
|
- podman compose
|
|
- hugo
|
|
- Flatpak (with default repository configured)
|
|
- Chromium
|
|
- Veracrypt
|
|
- VSCode
|
|
- NVIDIA Drivers
|
|
|
|
## Referenced Sources for NVIDIA Driver Installation
|
|
|
|
### NVIDIA
|
|
|
|
- https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
|
|
- https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#handle-uninstallation
|
|
- https://developer.nvidia.com/cuda-downloads
|
|
|
|
### ublue-os
|
|
|
|
- https://github.com/ublue-os/main
|
|
- https://github.com/ublue-os/akmods
|
|
- https://github.com/ublue-os/hwe/pkgs/container/akmods-nvidia
|
|
|
|
### RPM Fusion
|
|
|
|
- https://rpmfusion.org/Howto/NVIDIA
|
|
|
|
### Bluefin
|
|
|
|
- https://github.com/ublue-os/bluefin/blob/main/build_files/base/03-install-kernel-akmods.sh
|
|
- https://github.com/ublue-os/bluefin/blob/main/build_files/base/19-initramfs.sh
|
|
|
|
### Notes
|
|
|
|
Those also include links that didn't work out in the end for various reasons, the one I use now is based on ublue-os/main scripts.
|