From a79e481d54860faf3a5951f1bd122ddfdfc2eb5e Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Aug 21 2021 16:30:46 +0000 Subject: Boot initramfs (based on markvnl's work) --- diff --git a/SPECS/raspberrypi2.spec b/SPECS/raspberrypi2.spec index 9031f0f..e43a228 100644 --- a/SPECS/raspberrypi2.spec +++ b/SPECS/raspberrypi2.spec @@ -182,6 +182,10 @@ cp -p -v arch/%{Arch}/boot/dts/overlays/README %{buildroot}/usr/share/%{name}-ke #scripts/mkknlimg arch/%{Arch}/boot/zImage %{buildroot}/boot/kernel-%{version}-%{release}.img cp -p -v arch/%{Arch}/boot/%{build_image} %{buildroot}/boot/kernel-%{version}-%{release}.img make INSTALL_MOD_PATH=%{buildroot} modules_install +cat > %{buildroot}/boot/config-kernel-%{version}-%{release}.inc <<__EOF__ +kernel kernel-%{version}-%{release}.img +initramfs initramfs-%{version}-%{release}.img followkernel +__EOF__ # kernel-devel DevelDir=/usr/src/kernels/%{version}-%{release} @@ -242,21 +246,32 @@ popd /boot/overlays/ /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/* %attr(0755,root,root) /boot/kernel-%{version}-%{release}.img +%ghost /boot/initramfs-%{version}-%{release}.img +/boot/config-kernel-%{version}-%{release}.inc %doc /boot/COPYING.linux-%{kversion} %posttrans kernel%{?ksuffix} -cp /boot/kernel-%{version}-%{release}.img /boot/kernel%{armtarget}.img +if [ -f /boot/kernel%{armtarget}.img ] || [ ! -f /boot/config-kernel.inc ];then + # if nothing exists, fall back to generating the file, but don't create it + # if we have moved to initramfs + cp /boot/kernel-%{version}-%{release}.img /boot/kernel%{armtarget}.img +fi cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/*.dtb /boot/ cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/*.dtb* /boot/overlays/ cp /usr/share/%{name}-kernel/%{version}-%{release}/boot/overlays/README /boot/overlays/ -#/usr/sbin/dracut /boot/initramfs-%{version}-%{release}.img %{version}-%{release} +/usr/bin/dracut /boot/initramfs-%{version}-%{release}.img %{version}-%{release} +cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc %postun kernel%{?ksuffix} -cp $(ls -1 /boot/kernel-*-*|sort -V|tail -1) /boot/kernel%{armtarget}.img +if [ -f /boot/kernel%{armtarget}.img ];then + #only restore kernel%{armtarget}.img if it exists, we may have moved to initramfs + cp $(ls -1 /boot/kernel-*-*|sort -V|tail -1) /boot/kernel%{armtarget}.img +fi cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/*.dtb /boot/ cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/overlays/*.dtb* /boot/overlays/ cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/overlays/README /boot/overlays/ +cp $(ls -1 /boot/config-kernel-*-*|sort -V|tail -1) /boot/config-kernel.inc %files kernel%{?ksuffix}-devel @@ -279,6 +294,7 @@ cp $(ls -1d /usr/share/%{name}-kernel/*-*/|sort -V|tail -1)/boot/overlays/README %changelog * Sat Aug 21 2021 Pablo Greco - 5.10.60 - Update to version v5.10.60 +- Support booting from initramfs (markvnl) * Fri Jul 23 2021 Pablo Greco - 5.10.52 - Update to version v5.10.52