Fixes to enable bootc #11

Open
kfox1111 wants to merge 2 commits from kfox1111/raspberrypi2:a9-bootc into a9
3 changed files with 27 additions and 11 deletions

View File

@ -23,7 +23,7 @@ index e87791286ab4..6fda5b261683 100644
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AES=m
@@ -1674,3 +1672,39 @@ CONFIG_SCHED_TRACER=y
@@ -1674,3 +1672,43 @@ CONFIG_SCHED_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_UPROBE_EVENTS is not set
# CONFIG_STRICT_DEVMEM is not set
@ -63,6 +63,10 @@ index e87791286ab4..6fda5b261683 100644
+CONFIG_FW_LOADER_COMPRESS=y
+CONFIG_FW_LOADER_COMPRESS_XZ=y
+CONFIG_FW_LOADER_COMPRESS_ZSTD=y
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
--
2.45.1

View File

@ -23,7 +23,7 @@ index 79c4332581eb..7b63683ff687 100644
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AES=m
@@ -1677,3 +1675,39 @@ CONFIG_SCHED_TRACER=y
@@ -1677,3 +1675,43 @@ CONFIG_SCHED_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_UPROBE_EVENTS is not set
# CONFIG_STRICT_DEVMEM is not set
@ -63,6 +63,10 @@ index 79c4332581eb..7b63683ff687 100644
+CONFIG_FW_LOADER_COMPRESS=y
+CONFIG_FW_LOADER_COMPRESS_XZ=y
+CONFIG_FW_LOADER_COMPRESS_ZSTD=y
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
--
2.45.1

View File

@ -354,16 +354,24 @@ find %{buildroot}/usr/include \
%posttrans kernel%{?ksuffix}
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
if [ -d /usr/lib/ostree-boot ]; then
mv /usr/lib/ostree-boot/config-%{version}-%{release} /usr/lib/modules/%{version}-%{release}
mv /usr/lib/ostree-boot/config-kernel-%{version}-%{release}.inc /usr/lib/modules/%{version}-%{release}
mv /usr/lib/ostree-boot/initramfs-%{version}-%{release}.img /usr/lib/modules/%{version}-%{release}/initramfs
mv /usr/lib/ostree-boot/kernel-%{version}-%{release}.img /usr/lib/modules/%{version}-%{release}/vmlinuz
ls /usr/lib/modules/%{version}-%{release}
elif [ -d /boot ]; then
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/bin/dracut /boot/initramfs-%{version}-%{release}.img %{version}-%{release}

I'm afraid this doesn't work as intended. The almalinux-bootc image has /boot directory so it will never reach elif [ -d /usr/lib/ostree-boot ]; then block.

$ podman run --rm -it quay.io/almalinuxorg/almalinux-bootc ls -l /
total 36
lrwxrwxrwx.   2 root root    7 Jan  1  1970 bin -> usr/bin
drwxr-xr-x.   2 root root 4096 Jan  1  1970 boot
drwxr-xr-x.   5 root root  360 Nov 14 08:51 dev
drwxr-xr-x.   1 root root 4096 Nov 12 03:18 etc
lrwxrwxrwx.   2 root root    8 Jan  1  1970 home -> var/home
lrwxrwxrwx.   2 root root    7 Jan  1  1970 lib -> usr/lib
lrwxrwxrwx.   2 root root    9 Jan  1  1970 lib64 -> usr/lib64
lrwxrwxrwx.   2 root root    9 Jan  1  1970 media -> run/media
lrwxrwxrwx.   2 root root    7 Jan  1  1970 mnt -> var/mnt
drwxr-xr-x.   2 root root 4096 Jan  1  1970 opt
lrwxrwxrwx.   2 root root   14 Jan  1  1970 ostree -> sysroot/ostree
dr-xr-xr-x. 209 root root    0 Nov 14 08:51 proc
lrwxrwxrwx.   2 root root   12 Jan  1  1970 root -> var/roothome
drwxr-xr-x.   1 root root 4096 Nov 14 08:51 run
lrwxrwxrwx.   2 root root    8 Jan  1  1970 sbin -> usr/sbin
lrwxrwxrwx.   2 root root    7 Jan  1  1970 srv -> var/srv
dr-xr-xr-x.  12 root root    0 Oct 17 00:00 sys
drwxr-xr-x.   1 root root 4096 Jan  1  1970 sysroot
drwxrwxrwt.   2 root root 4096 Jan  1  1970 tmp
drwxr-xr-x.   1 root root 4096 Nov 14 00:47 usr
drwxr-xr-x.   3 root root 4096 Jan  1  1970 var
I'm afraid this doesn't work as intended. The `almalinux-bootc` image has `/boot` directory so it will never reach `elif [ -d /usr/lib/ostree-boot ]; then` block. ``` $ podman run --rm -it quay.io/almalinuxorg/almalinux-bootc ls -l / total 36 lrwxrwxrwx. 2 root root 7 Jan 1 1970 bin -> usr/bin drwxr-xr-x. 2 root root 4096 Jan 1 1970 boot drwxr-xr-x. 5 root root 360 Nov 14 08:51 dev drwxr-xr-x. 1 root root 4096 Nov 12 03:18 etc lrwxrwxrwx. 2 root root 8 Jan 1 1970 home -> var/home lrwxrwxrwx. 2 root root 7 Jan 1 1970 lib -> usr/lib lrwxrwxrwx. 2 root root 9 Jan 1 1970 lib64 -> usr/lib64 lrwxrwxrwx. 2 root root 9 Jan 1 1970 media -> run/media lrwxrwxrwx. 2 root root 7 Jan 1 1970 mnt -> var/mnt drwxr-xr-x. 2 root root 4096 Jan 1 1970 opt lrwxrwxrwx. 2 root root 14 Jan 1 1970 ostree -> sysroot/ostree dr-xr-xr-x. 209 root root 0 Nov 14 08:51 proc lrwxrwxrwx. 2 root root 12 Jan 1 1970 root -> var/roothome drwxr-xr-x. 1 root root 4096 Nov 14 08:51 run lrwxrwxrwx. 2 root root 8 Jan 1 1970 sbin -> usr/sbin lrwxrwxrwx. 2 root root 7 Jan 1 1970 srv -> var/srv dr-xr-xr-x. 12 root root 0 Oct 17 00:00 sys drwxr-xr-x. 1 root root 4096 Jan 1 1970 sysroot drwxrwxrwt. 2 root root 4096 Jan 1 1970 tmp drwxr-xr-x. 1 root root 4096 Nov 14 00:47 usr drwxr-xr-x. 3 root root 4096 Jan 1 1970 var ```

Also, /boot always exists because the directory is created during install stage.

%install
%if %{with_up}
# kernel
mkdir -p %{buildroot}/boot/overlays/
Also, `/boot` always exists because the directory is created during install stage. ``` %install %if %{with_up} # kernel mkdir -p %{buildroot}/boot/overlays/ ```

Actually, it did work when I created the pr. somehow it diverted the files from /boot away. by the time the script ran there wasnt a /boot. But, I'll rearrange it to check for bootc and go down that path if its there.

Actually, it did work when I created the pr. somehow it diverted the files from /boot away. by the time the script ran there wasnt a /boot. But, I'll rearrange it to check for bootc and go down that path if its there.

I was able to build a 9.5 based image from this flipped around patch.

I was able to build a 9.5 based image from this flipped around patch.
cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc
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/bin/dracut /boot/initramfs-%{version}-%{release}.img %{version}-%{release}
cp /boot/config-kernel-%{version}-%{release}.inc /boot/config-kernel.inc
%postun kernel%{?ksuffix}
if [ -f /boot/kernel%{armtarget}.img ];then