From Fedora Project Wiki
No edit summary
No edit summary
Line 7: Line 7:
== Recommended Steps ==  
== Recommended Steps ==  
* Resize `/boot`. (partition 5) The image only has a 256MB /boot partition, which is too small for installing multiple kernels.
* Resize `/boot`. (partition 5) The image only has a 256MB /boot partition, which is too small for installing multiple kernels.
* Move `/` (partition 6) to an NVME disk and resize it. If you do this mount `/boot' and update `root=/dev/mmcblk0p6` to `root=/dev/nvme0n1p1` in `extlinux/extlinux.conf`  
* Move `/` (partition 6) to an NVME disk and resize it. If you do this mount `/boot` and update `root=/dev/mmcblk0p6` to `root=/dev/nvme0n1p1` in `extlinux/extlinux.conf`  


== Boot and Complete ==  
== Boot and Complete ==  

Revision as of 04:32, 26 September 2024

Configuring Banani Pi / Jupiter as a Koji Builder

Prepare Fedora

Recommended Steps

  • Resize /boot. (partition 5) The image only has a 256MB /boot partition, which is too small for installing multiple kernels.
  • Move / (partition 6) to an NVME disk and resize it. If you do this mount /boot and update root=/dev/mmcblk0p6 to root=/dev/nvme0n1p1 in extlinux/extlinux.conf

Boot and Complete

  • Boot
  • Replace /etc/yum.repos.d/fedora-riscv-koji.repo with
[fedora-riscv-koji]
name=Fedora RISC-V Koji
baseurl=http://fedora.riscv.rocks/repos/f41-build/latest/riscv64/
enabled=1
gpgcheck=0

[fedora-riscv-openkoji]
name=Fedora RISC-V Koji
baseurl=http://openkoji.iscas.ac.cn/kojifiles/repos/f41-build/latest/riscv64/
enabled=0
gpgcheck=0
  • dnf -y update

Optional: Install updated SpacemiT kernel repo

Rust projects have been observed failing to build with 6.1.15 kernel that comes on the image. It also does not have selinux enabled, modules necessary for firewalld to run, etc.

I am attempting to maintain and keep up to date an LTS 6.6 kernel that more closely resembles a Fedora config with patches from https://gitee.com/bianbu-linux/linux-6.6/ until we have a proper mainline kernel. The Bianbu repo is based off 6.6.36. At the time of writing I have been able to keep it up to the current LTS release, 6.6.52.

  • Add /etc/yum.repos.d/spacemit.repo
[spacemit]
name=spacemit
enabled=1
gpgcheck=0
baseurl=https://people.redhat.com/jmontleo/fedora/linux/releases/41/spacemit/riscv64/
priority=98

[spacemit-source]
name=spacemit-source
enabled=0
gpgcheck=0
baseurl=https://people.redhat.com/jmontleo/fedora/linux/releases/41/spacemit/source/tree
  • This script is not required, but will automatically update /boot/extlinux/extlinux.conf when a new kernel is installed. To use it save it as /etc/kernel/install.d/99-update-extlinux.install, ensuring the cmdline root= settings matches your root device.
cat << EOF > /boot/extlinux/extlinux.conf
menu title Fedora boot menu
prompt 0
timeout 50
default F41S1
EOF

index=0
for i in $(ls -1vr /boot/vmlinuz*); do
  index=$((index+1))
  version=$(echo $i | sed 's,/boot/vmlinuz-,,g' | sed 's,\.unzboot,,g')
  if [ ${index} == 1 ]; then
    unlink /boot/dtb
    ln -sf dtb-${version} /boot/dtb
  fi
  if [ "${version}" == "6.1.15+" ]; then
    export spacemit=spacemit
  else
    export spacemit=dtb/spacemit
  fi
  cat << EOF >> /boot/extlinux/extlinux.conf

label F41S${index}
        menu label Fedora 41 ${version}
        linux /vmlinuz-${version}
        initrd /initramfs-${version}.img
        fdtdir /${spacemit}
        append console=ttyS0,115200 root=/dev/nvme0n1p1 rootfstype=ext4 rootwait rw earlycon clk_ignore_unused quiet
EOF
done
  • chmod +x /etc/kernel/install.d/99-update-extlinux.install
  • Change SELINUX=enforcing to SELINUX=permissive in /etc/selinux/config
  • touch /.autorelabel
  • dnf -y install ... ... ... ...
  • dnf -y remove ... ... ... ...
  • reboot, let relabel complete
  • Change SELINUX=permissive back to SELINUX=enforcing in /etc/selinux/config
  • reboot

Install and Configure Koji

  • Add /etc/yum.repos.d/koji.repo (Nothing past 1.33 works right or me with the current server)
[koji]
name=koji
enabled=1
gpgcheck=0
baseurl=https://people.redhat.com/jmontleo/fedora/linux/releases/41/koji/riscv64/
priority=98

[koji-source]
name=koji-source
enabled=0
gpgcheck=0
baseurl=https://people.redhat.com/jmontleo/fedora/linux/releases/41/koji/source/tree
  • dnf -y install ... ... ...
  • ...
  • ...