Compare commits
3 Commits
84b2470459
...
66e43c9a69
Author | SHA1 | Date |
---|---|---|
Pratham Patel | 66e43c9a69 | |
Pratham Patel | 9ae05da3ba | |
Pratham Patel | 9b2a3788ab |
|
@ -5,7 +5,7 @@
|
|||
|
||||
Name: opi5-efi
|
||||
Version: 0.0.4
|
||||
Release: 11%{?dist}
|
||||
Release: 12%{?dist}
|
||||
Summary: Necessary files for booting from vendor U-Boot on Orange Pi 5
|
||||
License: GPL
|
||||
Provides: %{name}-%{version}
|
||||
|
@ -16,7 +16,6 @@ Requires: uboot-tools bash
|
|||
|
||||
Source0: boot.cmd
|
||||
Source1: uEnv.txt
|
||||
Source2: post.sh
|
||||
|
||||
%description
|
||||
This is a hack to get the kernel booting on the Oragne Pi 5
|
||||
|
@ -32,13 +31,26 @@ rm -rf $RPM_BUILD_ROOT
|
|||
mkdir -p $RPM_BUILD_ROOT/opt/opi5-efi
|
||||
cp %{SOURCE0} $RPM_BUILD_ROOT/opt/opi5-efi/boot.cmd
|
||||
cp %{SOURCE1} $RPM_BUILD_ROOT/opt/opi5-efi/uEnv.txt
|
||||
cp %{SOURCE2} $RPM_BUILD_ROOT/opt/opi5-efi/post.sh
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
bash /opt/opi5-efi/post.sh
|
||||
BOOT_PART="$(grep '/ ' /etc/fstab | awk '{print $1}')"
|
||||
|
||||
cp /opt/opi5-efi/boot.cmd boot/efi/boot.cmd
|
||||
cp /opt/opi5-efi/uEnv.txt boot/efi/uEnv.txt
|
||||
|
||||
if [ ! -f /boot/initramfs.img ]; then
|
||||
echo "Initramfs not found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "rootdev=${BOOT_PART}" >> /boot/efi/uEnv.txt
|
||||
sed -i "s/setenvrootdev/setenv rootdev \"${BOOT_PART}\"/" /boot/efi/boot.cmd
|
||||
|
||||
mkimage -A arm -T ramdisk -C none -n uInitrd -d /boot/initramfs.img /boot/uInitrd
|
||||
mkimage -C none -A arm -T script -d /boot/efi/boot.cmd /boot/efi/boot.scr
|
||||
|
||||
%files
|
||||
/opt/opi5-efi/*
|
||||
|
|
30
post.sh
30
post.sh
|
@ -1,30 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -xeuf -o pipefail
|
||||
|
||||
UNAME_R="$(</boot/.uname)"
|
||||
BOOT_PART="$(grep '/ ' /etc/fstab | awk '{print $1}')"
|
||||
|
||||
cp /opt/opi5-efi/boot.cmd boot/efi/boot.cmd
|
||||
cp /opt/opi5-efi/uEnv.txt boot/efi/uEnv.txt
|
||||
|
||||
if [ ! -f /boot/.uname ]; then
|
||||
echo "ERROR: No /boot/.uname found to extract 'uname -r' from."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "/boot/initramfs-${UNAME_R}.img" ]; then
|
||||
echo "Initramfs not found... regenerating."
|
||||
/sbin/installkernel "${UNAME_R}" "/boot/.vmlinuz-${UNAME_R}-rpm" "/boot/.System.map-${UNAME_R}-rpm"
|
||||
mv "/boot/vmlinuz-${UNAME_R}.old" "/boot/vmlinuz-${UNAME_R}"
|
||||
fi
|
||||
|
||||
echo "rootdev=${BOOT_PART}" >> "/boot/efi/uEnv.txt"
|
||||
sed -i "s/setenvrootdev/setenv rootdev \"${BOOT_PART}\"/" "/boot/efi/boot.cmd"
|
||||
|
||||
mkimage -A arm -T ramdisk -C none -n uInitrd -d "/boot/initramfs-${UNAME_R}.img" "/boot/uInitrd-${UNAME_R}"
|
||||
mkimage -C none -A arm -T script -d /boot/efi/boot.cmd /boot/efi/boot.scr
|
||||
|
||||
pushd /boot
|
||||
ln -s "uInitrd-${UNAME_R}" uInitrd
|
||||
popd
|
Loading…
Reference in New Issue