Gentoo Archives: gentoo-user

From: Grant <emailgrant@×××××.com>
To: Gentoo mailing list <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] Rename /dev/nvme0n1 to /dev/sda
Date: Mon, 04 Sep 2017 15:00:40
Message-Id: CAN0CFw1ms_aY4+8n74D6D1r90KtEenPmEdX21gvUd6RwdjewwA@mail.gmail.com
In Reply to: Re: [gentoo-user] Rename /dev/nvme0n1 to /dev/sda by Mike Gilbert
1 >>>>>> My new laptop uses /dev/nvme0n1 instead of /dev/sda which conflicts
2 >>>>>> with the script I use to manage about 12 similar laptops running
3 >>>>>> Gentoo. Is there a udev method for renaming the disk that will work
4 >>>>>> well with any USB disks that happen to also be attached?
5 >>>>>
6 >>>>> I'm not certain what you mean by that, but I would guess that you want
7 >>>>> the nvme disk to show up as /dev/sda, and the USB disk(s) to show up
8 >>>>> as /dev/sd[b-z].
9 >>>>>
10 >>>>> It is not possible to accomplish this using udev; the kernel owns the
11 >>>>> /dev/sdX device namespace, and will sequentially create devices nodes
12 >>>>> for SCSI-like block devices using that namespace. There is no way to
13 >>>>> change that using a udev rule.
14 >>>>
15 >>>>
16 >>>> Can I rename /dev/sda to /dev/sd[b-z] if it's attached via USB, and
17 >>>> then rename /dev/nvme0n1 to /dev/sda if /dev/nvme0n1 exists?
18 >>>>
19 >>>> Alternatively, can I rename /dev/sda to /dev/sd[b-z] if /dev/sda and
20 >>>> /dev/nvme0n1 exist, and then rename /dev/nvme0n1 to /dev/sda if
21 >>>> /dev/nvme0n1 exists?
22 >>>
23 >>> You might technically be able to do it, but I would guess it would
24 >>> cause some nasty race conditions between the kernel and udev. It's a
25 >>> bad idea.
26 >>
27 >>
28 >> Is it the conditionals that cause this to be a bad idea? Because I
29 >> believe udev has functionality designed to rename devices exactly like
30 >> this.
31 >
32 > udev doesn't provide any functionality to rename device nodes. You can
33 > adjust their permissions, and create symlinks, but there is no direct
34 > way to rename them.
35
36
37 I use stuff like this to rename my USB devices and it works perfectly:
38
39 SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_PATH}=="enp0s20u2u1",
40 NAME="net0"
41
42 Isn't this a true rename of the device node?
43
44 - Grant

Replies

Subject Author
Re: [gentoo-user] Rename /dev/nvme0n1 to /dev/sda "J. Roeleveld" <joost@××××××××.org>
Re: [gentoo-user] Rename /dev/nvme0n1 to /dev/sda Mike Gilbert <floppym@g.o>