Subject: Boot failure with u-boot on cubietruck

From: Julien Lepiller <[email-masked]>
Date: Mon, 12 Apr 2021 13:18:30 +0200

Hi Guix!

This week-end, I had to reboot my server and it couldn't boot anymore.
It's a Cubietruck, an armhf machine that's in my parents' basement.
They helped me debug the issue (though that was not easy, since they
only have windows machines and not a lot of knowledge about Linux).

At boot, the machine loads the kernel and initramfs, and gets stuck at
"Starting kernel...". We tried booting various generations, including
the very firts generation (as I never had to run guix gc on the
machine, I kept all the generations around, that's 129 of them!). None
of them worked, and they all get stuck at the same message.

I suspect something might have changed in u-boot recently (maybe the
upgrade to 2021.01, since I didn't have to reboot this year yet). The
board might not be initialized as expected and all kernels from 4.19 to
the latest 5.11 fail to boot.

In the end, I reinstalled a foreign distribution (that uses u-boot
2017.01) and can SSH to the machine, but I haven't reinstalled Guix
yet. Guix was installed on an external disk, so I haven't lost anything
other that the bootloader it installed. I can chroot to the Guix system:

  mount -v --bind /dev /mnt/dev
  mount -v --bind /dev/pts /mnt/dev/pts
  mount -vt proc proc /mnt/proc
  mount -vt sysfs sysfs /mnt/sys
  chroot /mnt /run/current-system/profile/bin/bash
  . /etc/profile

What should be my next step?

I tried running guix from inside the chroot:
  /root/.config/current/bin/guix-daemon --build-users-group=guixbuild &

But when I try to use it:

  guix system build /etc/config.scm
  guix system: error: while setting up the build environment: cannot
  pivot old root directory onto
  '/gnu/store/brkm5bb59w9i4kmyznk0k4ndsz6dzq95-system.drv.chroot/real-root':
  Invalid argument

My hope was to run "guix system reconfigure" from the chroot, so I
would not loose my previous generations, and would not have to build
too much, since there are almost no substitutes for armhf.