Hello Mathieu, Mathieu Othacehe <m.othac...@gmail.com> skribis:
> I think I solved this issue on my wip cross system serie: > > https://patchwork.cbaines.net/patch/15252/. > > Tell me if it works for you :) I confirm that it works, thank you! You should really push it to ‘master’. :-) (BTW, there seem to be other patches in that series that have been reviewed but are not yet applied. Is there any particular reason? Are we still missing something?) My goal is to build an image with “guix system disk-image -s armhf-linux” (with qemu-binfmt) that I could put on a microSD device and boot my Olimex A20 OLinuXino from that. But we’re not there yet! With the patch above, I get to the point where it starts building the image but it eventually fails with a surprising ENOSYS: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix system disk-image --image-size=6G ~/src/configuration/olimex-configuration.scm -s armhf-linux -v2 […] creating ext4 partition... label: "Guix_image" uuid: "0e4a2990-d5a0-e38c-6ea0-92621cbb768d" Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 mke2fs 1.45.4 (23-Sep-2019) Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/vda1 is mounted. Discarding device blocks: done Creating filesystem with 1560064 4k blocks and 390144 inodes Filesystem UUID: 0e4a2990-d5a0-e38c-6ea0-92621cbb768d Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done [ 1149.161552] EXT4-fs (vda1): mounted filesystem with ordered data mode. Opts: (null) Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Unsupported ioctl: cmd=0xffffffff80047601 Backtrace: 9 (primitive-load "/gnu/store/yagy92cgx0c4jphy8hmwqsnd4fa���@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 "@ build-log 13776 1 )@ build-log 13776 2 In ./gnu/build/vm.scm: 571:4 8 (initialize-hard-disk "/dev/vda" #:bootloader-package _ ���@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 )@ build-log 13776 2 In srfi/srfi-1.scm: 640:9 7 (for-each #<procedure initialize-partition (partition)> #) In ./gnu/build/vm.scm: 345:3 6 (initialize-partition #<<partition> device: "/dev/vda1"���@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 >@ build-log 13776 1 )@ build-log 13776 2 368:6 5 (_ "/fs") In ./guix/progress.scm: 70:36 4 (call-with-progress-reporter _ _) In srfi/srfi-1.scm: 640:9 3 (for-each #<procedure 1429870 at ./guix/build/store-co���@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 >@ build-log 13776 1 @ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 )@ build-log 13776 1 @ build-log 13776 1 In ./guix/build/store-copy.scm: 220:20 2 (_ "/gnu/store/zfaw40y9jr5l872jq7d01xarp2vmhinq-locale-���@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 "@ build-log 13776 1 )@ build-log 13776 1 @ build-log 13776 1 In ice-9/ftw.scm: 478:39 1 (loop _ _ #(20 11428821 16749 3 0 0 0 4096 1571486280 ���@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 )@ build-log 13776 1 @ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 �@ build-log 13776 1 )@ build-log 13776 2 In unknown file: 0 (readdir #<directory stream 1057610>) ERROR: In procedure readdir: In procedure readdir: Function not implemented copying 312 store items [ 1201.814266] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 [ 1201.832590] CPU: 1 PID: 1 Comm: init Not tainted 5.3.9-gnu #1 [ 1201.835441] Hardware name: Generic DT based system --8<---------------cut here---------------end--------------->8--- (Furthermore we hit <https://issues.guix.gnu.org/issue/35350>, hence the garbled output, but that’s another issue…) What’s the story with ‘readdir’? The ‘guile-static-stripped’ binaries seem to work fine: --8<---------------cut here---------------start------------->8--- $ guix environment -s armhf-linux --ad-hoc guile-static-stripped --no-grafts -- guile -q GNU Guile 2.2.6 Copyright (C) 1995-2019 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> %host-type $1 = "arm-unknown-linux-gnueabihf" scheme@(guile-user)> ,use(ice-9 ftw) scheme@(guile-user)> (scandir "/") $2 = ("." ".." "bin" "boot" […]) scheme@(guile-user)> $ guix describe Generacio 114 Nov 02 2019 11:32:51 (nuna) guix ab1c063 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ab1c063ab08e069fbe62919828fa634a2e222bbf --8<---------------cut here---------------end--------------->8--- Since this happens on a 9P mount, is that a bug specific to 9P on ARM, or to the 9P bridge in QEMU? What would you suggest? :-) Thanks, Ludo’.