Hi Christoph, > Currently i am trying to create an guix image which will boot on > embedded imx6 arm32 board. Following the guix manual, i was able to > create such an image. This involved adding a custom uboot version and a > kernel with custom definition file. If flashed on an sdcard, the uboot > runs and the kernel boots. However, early on boot (presumably on > executing initrd.cpio.gz), an `record-abi-mismatch-error` is thrown and > a guix recovery repl is opened > >> Use 'gnu.repl' for an initrd REPL. > >> ice-9/boot-9.scm:1685:16: In procedure raise-exception: >> Throw to key `record-abi-mismatch-error' with args `(abi-check "~a: record >> ABI mismatch; recompilation needed" (#<record-type <file-system>>) ())'.
Your issue sounds very similar to the one described in https://issues.guix.gnu.org/61173#4. The TL;DR (although I encourage you to read it!) is that you need the CONFIG_BINFMT_MISC Linux kernel compilation option set, but when you use a linux-libre-*-generic kernel that option is NOT set. If you're using the qemu-binfmt-service, you'll fail to boot and the error you posted will occur before you're dropped into a REPL. Unfortunately services do not currently have any mechanism to require or check kernel config options. Not knowing your operating-system declaration I can't tell for sure if that is what's going on, but I suspect what I described or something similar is the case. If you confirm this is in fact the problem, feel free to leave a comment on the issue! Best of luck. -- Take it easy, Richard Sent Making my computer weirder one commit at a time.