unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#35995: [wishlist] bootloader-configuration, avoid use of /dev/sd?
       [not found]     ` <87o93mwr4b.fsf@gnu.org>
@ 2019-05-29 19:16       ` Giovanni Biscuolo
       [not found]         ` <handler.35995.B.155915741432036.ack@debbugs.gnu.org>
       [not found]       ` <87a7f6qygw.fsf@nckx>
  1 sibling, 1 reply; 7+ messages in thread
From: Giovanni Biscuolo @ 2019-05-29 19:16 UTC (permalink / raw)
  To: 35995

[-- Attachment #1: Type: text/plain, Size: 1705 bytes --]

Hello,

Following a recent discussion on Guix-devel [1] I'm "forwarding here" a
proposal to switch from /dev/sd? to (target (uuid ...)) in
bootloader-configuration operating-system declaration

This is a recap of current situation: the installer usually uses
/dev/sda as target for grub-install (and bootloader-cofiguration) but it
happened to me that on a machine /dev/sda was the USB media, not the
target HD

The fact is that it's not guaranteed that /dev/sd? always corresponds to
the same device

This is where we are with the discussion:

Ludovic Courtès <ludo@gnu.org> writes:

> Hello!
>
> Giovanni Biscuolo <g@xelera.eu> skribis:
>
>> But wait! There's the /dev/disk/by-id/ tree, I did not notice it until
>> now! :-)
>>
>> That's the solution:
>>
>>
>>   (bootloader
>>     (bootloader-configuration
>>       (bootloader grub-bootloader)
>>       (target "/dev/disk/by-id/scsi-3600508b1001c75a3bebb04b23d19e249")
>>       (keyboard-layout keyboard-layout)))
>>
>> I did not test this but it smells like running, if Guix devels agree I
>> think Installer should adopt /dev/disk/by-id by default, sorry I'm not
>> able to propose a patch for this
>
> Ideally, we’d use an actual UUID object (or a string?) here rather than
> this Linux/udev-specific idiom.  So it would look like:
>
>   (bootloader-configuration
>     ;; …
>     (target (uuid …)))
>
> Would that work?
>
> I believe using Guile-Parted we could map it back to a /dev name.
>
> WDYT?
>
> Ludo’.



[1] Message-ID: <87o93mwr4b.fsf@gnu.org>
    http://lists.gnu.org/archive/html/guix-devel/2019-05/msg00454.html

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35995: Installer: GUIX_IMAGE as /dev/sda on some hardware?
       [not found]       ` <87a7f6qygw.fsf@nckx>
@ 2019-05-29 19:49         ` Giovanni Biscuolo
       [not found]         ` <87ftox11nu.fsf@roquette.mug.biscuolo.net>
  1 sibling, 0 replies; 7+ messages in thread
From: Giovanni Biscuolo @ 2019-05-29 19:49 UTC (permalink / raw)
  To: 35995, Tobias Geerinckx-Rice, Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2301 bytes --]

Hello Tobias and Ludo'

I've opened a bug report for this, WDYT if we go on there?

Tobias Geerinckx-Rice <me@tobias.gr> writes:

> Ludovic Courtès wrote:
>> Ideally, we’d use an actual UUID object (or a string?) here 
>> rather than
>> this Linux/udev-specific idiom.  […]
>> I believe using Guile-Parted we could map it back to a /dev 
>> name.
>
> Yah, 's one of the reasons that I haven't sent anything yet (the 
> main one being shame, of course; car/cdr for the win & all that).
>
>> Would that work?
>
> I'd looked in Guile-parted before but came up dry.  To be fair I 
> did little more than grep around for ‘uid’ and friends.  So you 
> tell me ;-)
>
> …
>
> Hum, wait a minute.  Isn't that irrelevant?  Doesn't Guix itself 
> do exactly this when mounting file systems?  Sigh, silly me, I 
> should be able to re-use that…  >_<

Grub supports quite a number of ways to specify devices [1] but I cannot
find something suitable for this purpose: am I missimg something
obvious?

AFAIU on ther distros (e.g. Debian) (the installer?) populates a device
map [2] using the grub-mkdevicemap utility (grub-common package in
Debian) but I cannot find that in our grub package

This is an example on one of my Debian hosts:

--8<---------------cut here---------------start------------->8---

$ cat /boot/grub/device.map
(hd0)	/dev/disk/by-id/ata-WDC_WD10EADS-00L5B1_WD-WCAU4D992691
(hd1)	/dev/disk/by-id/ata-ST3250620NS_9QE2L68Z
(hd2)	/dev/disk/by-id/ata-ST3250620NS_9QE2FSQD
(hd3)	/dev/disk/by-id/ata-ST3250620NS_9QE27YPJ
(hd4)	/dev/disk/by-id/ata-WDC_WD7500BPKT-00PK4T0_WD-WX11A4181554
(hd5)	/dev/disk/by-id/ata-WDC_WD7500BPKT-00PK4T0_WD-WXM1A61D0766

--8<---------------cut here---------------end--------------->8---

(the map is not updated)

We could use (hd?) in grub config - that's grub specific, not Linux/udev
specific - **but** we should find a way to automate the selection of the
device corresponding to our target (the one mounted as /mnt)

Thanks for working on this!!!

Happy hacking. Gio'.



[1] https://www.gnu.org/software/grub/manual/grub/html_node/Device-syntax.html


[2] https://www.gnu.org/software/grub/manual/grub/html_node/Device-map.html

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35995: Installer: GUIX_IMAGE as /dev/sda on some hardware?
       [not found]         ` <87ftox11nu.fsf@roquette.mug.biscuolo.net>
@ 2019-05-29 20:19           ` Danny Milosavljevic
  2019-05-31 21:42             ` Ludovic Courtès
       [not found]             ` <874l5amhc8.fsf@gnu.org>
  0 siblings, 2 replies; 7+ messages in thread
From: Danny Milosavljevic @ 2019-05-29 20:19 UTC (permalink / raw)
  To: Giovanni Biscuolo, 35995; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 687 bytes --]

Grub already can search by uuid or label (via "search --fsuuid" and
"search --label", respectively).  IF you specify an uuid or label
in your operating-system configuration it will use that.

The only part missing is: The Guix installer's config generator should
find out the uuids and print those instead of the /dev nodes.

If nothing else, we can just use blkid to find out which is which.

For example: blkid -d -s UUID -o value /dev/sda1

But T G-R is right, Guix already does what is required at other places.

Care has to be taken that parted also uses GUIDs for GPT partition TYPES
and also for partitions as such (not their contents).  Those are something
else.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35995: Installer: GUIX_IMAGE as /dev/sda on some hardware?
  2019-05-29 20:19           ` Danny Milosavljevic
@ 2019-05-31 21:42             ` Ludovic Courtès
       [not found]             ` <874l5amhc8.fsf@gnu.org>
  1 sibling, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2019-05-31 21:42 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 35995, guix-devel

Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> Grub already can search by uuid or label (via "search --fsuuid" and
> "search --label", respectively).  IF you specify an uuid or label
> in your operating-system configuration it will use that.

These are concerned with file system UUIDs/labels, whereas this issue is
about disk IDs, AIUI.  Or am I missing something?

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35995: Installer: GUIX_IMAGE as /dev/sda on some hardware?
       [not found]             ` <874l5amhc8.fsf@gnu.org>
@ 2019-05-31 22:16               ` Tobias Geerinckx-Rice
       [not found]               ` <87r28ep8vg.fsf@nckx>
  1 sibling, 0 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-31 22:16 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35995, guix-devel

[-- Attachment #1: Type: text/plain, Size: 669 bytes --]

Ludovic Courtès wrote:
> Danny Milosavljevic <dannym@scratchpost.org> skribis:
>> Grub already can search by uuid or label (via "search --fsuuid" 
>> and
>> "search --label", respectively).  IF you specify an uuid or 
>> label
>> in your operating-system configuration it will use that.
>
> These are concerned with file system UUIDs/labels, whereas this 
> issue is
> about disk IDs, AIUI.  Or am I missing something?

This.  Also, this only affects grub-install—not ‘grub 
run-time’—which runs under the Hurd/Linux/…, unless I, too, am 
missing something, and this entire thread collapses in a cacophony 
of confusion.

G'night,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35995: Installer: GUIX_IMAGE as /dev/sda on some hardware?
       [not found]               ` <87r28ep8vg.fsf@nckx>
@ 2019-05-31 23:31                 ` Danny Milosavljevic
  0 siblings, 0 replies; 7+ messages in thread
From: Danny Milosavljevic @ 2019-05-31 23:31 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 35995, guix-devel

[-- Attachment #1: Type: text/plain, Size: 747 bytes --]

Yeah, but disk ids are not uuids.

/dev/disk/by-id seems to be a good way to find those disk ids in order to pass
them to grub-install.  I doubt that this can be made OS-independent--even the
udev rules specify different variables for different devices, sometimes it's
bus id and serial number, sometimes it's name and serial number, sometimes it's
ieee1394_id, sometimes ID_WWN_WITH_EXTENSION.

Alternatively, grub also works from a boot-active partition--it nothing else
works, we can install grub to a partition (for example the root partition).

Then, migration would be difficult, though (if people had grub installed on
the MBR, that destroyed the previous loader that would have loaded from the
boot sector of the partition).

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#35995: [wishlist] bootloader-configuration, avoid use of /dev/sd?
       [not found]         ` <handler.35995.B.155915741432036.ack@debbugs.gnu.org>
@ 2024-02-28  9:29           ` Giovanni Biscuolo
  0 siblings, 0 replies; 7+ messages in thread
From: Giovanni Biscuolo @ 2024-02-28  9:29 UTC (permalink / raw)
  To: 35995-done

[-- Attachment #1: Type: text/plain, Size: 198 bytes --]

Hello,

I think this bug has been fixed in bug #51878:

Pushed as b90504cdb5ce3d1981c8d7bc8a9cc918b0d60af7 (26 Nov 2021).

Closing! :-)

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-02-28  9:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <874l5i52i1.fsf@roquette.mug.biscuolo.net>
     [not found] ` <87r28mzqxv.fsf@nckx>
     [not found]   ` <87y32u3c9f.fsf@roquette.mug.biscuolo.net>
     [not found]     ` <87o93mwr4b.fsf@gnu.org>
2019-05-29 19:16       ` bug#35995: [wishlist] bootloader-configuration, avoid use of /dev/sd? Giovanni Biscuolo
     [not found]         ` <handler.35995.B.155915741432036.ack@debbugs.gnu.org>
2024-02-28  9:29           ` Giovanni Biscuolo
     [not found]       ` <87a7f6qygw.fsf@nckx>
2019-05-29 19:49         ` bug#35995: Installer: GUIX_IMAGE as /dev/sda on some hardware? Giovanni Biscuolo
     [not found]         ` <87ftox11nu.fsf@roquette.mug.biscuolo.net>
2019-05-29 20:19           ` Danny Milosavljevic
2019-05-31 21:42             ` Ludovic Courtès
     [not found]             ` <874l5amhc8.fsf@gnu.org>
2019-05-31 22:16               ` Tobias Geerinckx-Rice
     [not found]               ` <87r28ep8vg.fsf@nckx>
2019-05-31 23:31                 ` Danny Milosavljevic

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).