all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Bengt Richter <bokr@bokr.com>
To: Vagrant Cascadian <vagrant@debian.org>
Cc: Mathieu Othacehe <othacehe@gnu.org>, 44101@debbugs.gnu.org
Subject: bug#44101: Unable to use /dev/disk/by-id/ symlinks with u-boot and guix system reconfigure
Date: Fri, 23 Oct 2020 01:12:02 +0200	[thread overview]
Message-ID: <20201022231202.GA2497@LionPure> (raw)
In-Reply-To: <87k0vi9g6q.fsf@ponder>

Hi,

On +2020-10-22 13:08:45 -0700, Vagrant Cascadian wrote:
> On 2020-10-22, Mathieu Othacehe wrote:
> > Hey Vagrant,
> >
> >> I'm writing this from memory now, but I can also boot the machines at a
> >> later point and get the exact configurations, if needed.
> >
> > Sorry for breaking your use-case. Recently I have split up the
> > bootloader installation in two distinct parts:
> 
> Thanks for your work on it, even if it resulted in a regression. :)
> 
> 
> > - Installing a bootloader directly on a mounted directory.
> > - Installing a bootloader on a raw-image or device.
> >
> > Depending on the bootloader type, one or both of the methods are
> > supported. u-boot does not really support the first method, so the
> > patch you are mentioning is disabling this method.
> >
> > The problem is while reconfiguring, the first method only is used. The
> > attached patch tries to fallback to the second method if the first one
> > is not defined.
> 
> I don't quite understand why that would be the issue here; guix system
> reconfigure works fine when /dev/mmcblkN is specified target in the
> system config.scm, just not when the target is /dev/disk/by-id/...
> 
> My wild guess was something was checking for a literal block device, and
> failing with a symlink pointing to a block device.
>

IIUC [1] implies the contents of /dev/disk/by-id is populated on udev events, so IIRC
the values can be stale. Maybe that's an eliminated race by now, or a clue about old systems?

[1] https://unix.stackexchange.com/questions/86764/understanding-dev-disk-by-folders
 
> 
> Trying your patch gets me a backtrace, unfortunately...
> 
> With the bootloader section...
> 
> (bootloader (bootloader-configuration
>                (target "/dev/disk/by-id/mmc-SDU64_0xbaf3002e")
> 	       (bootloader u-boot-pinebook-bootloader)
> 	       ))
> 
> And your patch applied on top of 3e09453884efa82ef97b8ec6e34470c67a1206a7...
> 
> $ sudo -E ./pre-inst-env guix system reconfigure --keep-going ~/pinebook-1080p-desktop.scm
> ...
> waiting for locks or build slots...
> building /gnu/store/n17lkvs6vhq0x16mk0rxnv4j5ifvrlyr-switch-to-system.scm.drv...
> making '/gnu/store/vc3bzajlv0yxrdjmqph4sikzqkywvfq1-system' the current system...
> setting up setuid programs in '/run/setuid-programs'...
> populating /etc from /gnu/store/gssnxbhwa9dygn1i6i46j81ww5gczzav-etc...
> The following derivation will be built:
>    /gnu/store/s19y61jrdys760zccxm2qiiqjpcv1fcx-install-bootloader.scm.drv
> 
> building /gnu/store/s19y61jrdys760zccxm2qiiqjpcv1fcx-install-bootloader.scm.drv...
> Backtrace:
> In guix/scripts/system.scm:
>    1339:8 19 (_)
> In guix/status.scm:
>     776:4 18 (call-with-status-report _ _)
> In guix/scripts/system.scm:
>    1172:4 17 (_)
> In ice-9/boot-9.scm:
>   1736:10 16 (with-exception-handler _ _ #:unwind? _ # _)
> In guix/store.scm:
>    631:37 15 (thunk)
>    1300:8 14 (call-with-build-handler _ _)
>    1300:8 13 (call-with-build-handler _ _)
>    1300:8 12 (call-with-build-handler _ _)
>    1300:8 11 (call-with-build-handler _ _)
>    1300:8 10 (call-with-build-handler _ _)
>    1300:8  9 (call-with-build-handler #<procedure ffff658a29f0 at g…> …)
>   2042:24  8 (run-with-store #<store-connection 256.99 ffff67755d70> …)
> In guix/scripts/system.scm:
>    842:13  7 (_ _)
>    844:15  6 (_ _)
>    750:13  5 (_ _)
> In ice-9/boot-9.scm:
>     152:2  4 (with-fluid* _ _ _)
> In unknown file:
>            3 (primitive-load "/gnu/store/81w2h9zd6b5q0ddchc0wr6vph22…")
> In ice-9/eval.scm:
>     619:8  2 (_ #(#(#<directory (guile-user) ffff7c2c4f00> "//v…") #))
> In ice-9/boot-9.scm:
>   1669:16  1 (raise-exception _ #:continuable? _)
>   1669:16  0 (raise-exception _ #:continuable? _)
> 
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> ERROR:
>   1. &i/o-filename: "/dev/disk/by-id/mmc-SDU64_0xbaf3002e"
> 
> 
> It also fails when target is /dev/mmcblk1.
> 
> So, clearly this is some other issue...
> 
> 
> live well,
>   vagrant


HTH, otherwise sorry for the noise :)

-- 
Regards,
Bengt Richter




  reply	other threads:[~2020-10-22 23:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-20 17:06 bug#44101: Unable to use /dev/disk/by-id/ symlinks with u-boot and guix system reconfigure Vagrant Cascadian
2020-10-22  7:58 ` Mathieu Othacehe
2020-10-22 20:08   ` Vagrant Cascadian
2020-10-22 23:12     ` Bengt Richter [this message]
2020-10-23  8:13     ` Mathieu Othacehe
2020-10-23  8:44       ` Mathieu Othacehe
2020-10-24  1:40         ` Vagrant Cascadian
2020-11-02 19:14           ` Vagrant Cascadian
2020-11-03  7:02             ` Mathieu Othacehe
2020-10-23 15:14       ` Vagrant Cascadian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201022231202.GA2497@LionPure \
    --to=bokr@bokr.com \
    --cc=44101@debbugs.gnu.org \
    --cc=othacehe@gnu.org \
    --cc=vagrant@debian.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.