From 5a9a34b57d1b987426691e3d0ca7470ee3d9bfc1 Mon Sep 17 00:00:00 2001 From: Bibek Kumar Patro Date: Thu, 20 Aug 2026 16:13:03 +0530 Subject: [PATCH 1/3] lemans: fix linux-firmware sparse-checkout on git 2.34 git 2.34 has a bug where combining --filter=blob:none and --sparse in a single git clone fails to create .git/info/ before attempting to initialize sparse-checkout, resulting in: fatal: could not open '.git/info/sparse-checkout' for writing: No such file or directory Fix by dropping --sparse from the clone invocation and running git sparse-checkout init as a separate step after the clone completes, at which point .git/info/ exists. Signed-off-by: Bibek Kumar Patro --- lemans.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lemans.mk b/lemans.mk index ceeddcb..a3a728e 100644 --- a/lemans.mk +++ b/lemans.mk @@ -1180,7 +1180,8 @@ linux-firmware: | $(OVERLAY_DIR) @mkdir -p $(BLOBS_DIR) @if [ ! -d $(FW_CLONE_DIR)/.git ]; then \ echo "Cloning linux-firmware (sparse: $(FW_SOC) $(FW_VPU))..."; \ - git clone --filter=blob:none --sparse $(FW_REPO) $(FW_CLONE_DIR); \ + git clone --filter=blob:none $(FW_REPO) $(FW_CLONE_DIR) && \ + git -C $(FW_CLONE_DIR) sparse-checkout init; \ fi @# Ensure both the per-SoC DSP dir and the shared video-codec dir are in the @# sparse checkout. Run unconditionally so pre-existing clones (which only From e1d2b601970929ec2d064d948f7374eefac769cc Mon Sep 17 00:00:00 2001 From: Bibek Kumar Patro Date: Thu, 20 Aug 2026 19:48:54 +0530 Subject: [PATCH 2/3] lemans: enable 64K pages to fix EFI kernel alignment The EFI stub rejects the kernel with: EFI stub: ERROR: FIRMWARE BUG: kernel image not aligned on 64k boundary This happens because the kernel is built with CONFIG_ARM64_4K_PAGES which only guarantees 4K alignment, but the EFI stub requires the kernel to be placed on a 64K boundary. Switch to CONFIG_ARM64_64K_PAGES so the kernel image alignment satisfies the EFI stub requirement. Signed-off-by: Bibek Kumar Patro --- lemans.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lemans.mk b/lemans.mk index a3a728e..bbe73ef 100644 --- a/lemans.mk +++ b/lemans.mk @@ -700,7 +700,9 @@ linux-defconfig: -e DMABUF_HEAPS \ -e DMABUF_HEAPS_SYSTEM \ -e DMABUF_HEAPS_CMA \ - -d MODULES + -d MODULES \ + -e ARM64_64K_PAGES \ + -d ARM64_4K_PAGES $(LINUX_EXPORTS) $(MAKE) -C $(LINUX_PATH) olddefconfig linux: linux-overlays From f1fb500242a1cee7e3d578594e310386a1946375 Mon Sep 17 00:00:00 2001 From: Bibek Kumar Patro Date: Thu, 20 Aug 2026 21:06:42 +0530 Subject: [PATCH 3/3] lemans: disable QCOM_SCM to fix early boot hang on OP-TEE The kernel's QCOM SCM driver calls __get_convention() unconditionally at early boot to probe the SMC calling convention. It issues SMC 0x72000602 (SVC_INFO / IS_CALL_AVAIL) which OP-TEE does not handle, causing an 'Unknown SMC' error and leaving the kernel hung waiting for a response that never comes. Disable CONFIG_QCOM_SCM since this lemans build targets OP-TEE, not QSEE/TZ, and there is no qcom,scm firmware node in the device tree. Signed-off-by: Bibek Kumar Patro --- lemans.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lemans.mk b/lemans.mk index bbe73ef..3e8fe3c 100644 --- a/lemans.mk +++ b/lemans.mk @@ -702,7 +702,8 @@ linux-defconfig: -e DMABUF_HEAPS_CMA \ -d MODULES \ -e ARM64_64K_PAGES \ - -d ARM64_4K_PAGES + -d ARM64_4K_PAGES \ + -d QCOM_SCM $(LINUX_EXPORTS) $(MAKE) -C $(LINUX_PATH) olddefconfig linux: linux-overlays