Fix ARM64 initramfs: write complete archiso mkinitcpio hooks inline
The archiso git repo doesn't ship the hooks as standalone files, and ALARM has no archiso package. Write the hooks directly in the entrypoint with the correct three-phase structure: - run_earlyhook: modprobe squashfs/overlay/iso9660/loop/vfat before udev - run_hook: parse archisolabel/archisobasedir from /proc/cmdline, set mount_handler="archiso_mount_handler" - archiso_mount_handler: find ISO by label (fallback to TYPE=iso9660), mount it, mount squashfs at arch/$(uname -m)/airootfs.sfs, set up tmpfs cowspace, mount overlay to /new_root install hook: add all required modules (squashfs, overlay, iso9660, loop, vfat, nls_*) and binaries (blkid, losetup, sleep, uname). Each mount step prints its progress and bails with a clear error message on failure so boot panics are diagnosable. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
629f16537e
commit
4cda708cc2
2 files changed
+117
-22
No files matched your search
@@ -65,8 +65,6 @@ RUN git clone --depth=1 https://gitlab.archlinux.org/archlinux/archiso.git /tmp/
|
||||
install -Dm755 /tmp/archiso/scripts/run_archiso.sh /usr/bin/run_archiso && \
|
||||
install -d /usr/share/archiso && \
|
||||
cp -a /tmp/archiso/configs /usr/share/archiso/ && \
|
||||
echo "=== archiso hook locations ===" && \
|
||||
find /tmp/archiso -name "archiso" -not -path "*/\.git/*" | sort && \
|
||||
rm -rf /tmp/archiso
|
||||
|
||||
# Pre-download linux-aarch64 and create a local pacman repo so mkarchiso
|
||||
|
||||
Reference in new issue
Block a user