1 |
Hi, |
2 |
|
3 |
it's been a while, but there are a few things to report. So here it goes: |
4 |
|
5 |
Am Tue, 24 Feb 2015 21:15:45 +0100 |
6 |
schrieb Marc Joliet <marcec@×××.de>: |
7 |
|
8 |
[...] |
9 |
> == Network migration on my desktop == |
10 |
> |
11 |
> My desktop has a somewhat more complicated network setup than the laptop (which |
12 |
> uses NetworkManager). The wan0 network device is no problem, but I also have a |
13 |
> bridge with one physical device connected to it, and one dummy device. |
14 |
> |
15 |
> Thus, I had to migrate my netifrc based configuration. Due to word of mouth, I |
16 |
> decided on netctl. I originally ignored systemd-networkd because I keep |
17 |
> hearing that it's only for simple networks, but after looking at the man page |
18 |
> it appears that it can do (almost) everything that I needed it to, although I'm |
19 |
> not sure about dummy device support. I need that for MATLAB, which stupidly |
20 |
> requires the presence of an interface named eth0, whose MAC address it verifies |
21 |
> during its licence check. This became a problem after renaming my network |
22 |
> devices following the news entry 2013-03-29-udev-upgrade ("Upgrading udev to |
23 |
> version >=200"). |
24 |
> |
25 |
> What surprised me was that netifrc doesn't seem to integrate dummy devices |
26 |
> properly, i.e., it doesn't seem to be possible to rename them in |
27 |
> /etc/conf.d/net directly. I implemented that via an appropriate call to ip in |
28 |
> an /etc/local.d file, and had "net.eth0" depend on "local". So /etc/conf.d/net |
29 |
> looked like this: |
30 |
> |
31 |
> config_eth0="172.16.1.1/24" |
32 |
> mac_eth0="00:18:f3:97:17:72" |
33 |
> rc_net_eth0_provide="!net" |
34 |
> rc_net_eth0_need="local" |
35 |
> |
36 |
> And the local.d script executed |
37 |
> |
38 |
> ip link set dev dummy0 name eth0 |
39 |
> |
40 |
> In comparison, the netctl configuration has everything in one place: |
41 |
> |
42 |
> # cat /etc/netctl/dummy |
43 |
> Description='A dummy interface (for MATLAB)' |
44 |
> Interface=eth0 |
45 |
> Connection=dummy |
46 |
> IP=static |
47 |
> Address=172.16.1.1 |
48 |
> IPCustom=( 'link set dev eth0 address 00:18:f3:97:17:72' ) |
49 |
> |
50 |
> It also takes care of loading the dummy kernel module, so I don't don't need an |
51 |
> /etc/modules-load.d/ entry, whereas with netifrc/OpenRC I needed to load it |
52 |
> manually via /etc/conf./modules (though maybe that has changed?). |
53 |
|
54 |
A few days ago I finally got around to giving systemd-networkd a whirl, as I |
55 |
said I would in the sub-thread started by Rich. It turns out that it fulfils |
56 |
the needs of my computers just fine, and has (together with systemd-resolved) |
57 |
fully replaced netctl. The only thing I'm not sure of is how extensive IPv6 |
58 |
support is. The man page suggests that only DHCPv6 is supported, but not |
59 |
stateless configuration. Not that my LAN has IPv6, but it'd be nice to know |
60 |
how future proof it is. |
61 |
|
62 |
(This was made a tiny bit easier since I recently got rid of most of the server |
63 |
functionality of my desktop, i.e., it has stopped acting as a router. So I'm |
64 |
only using the built-in ethernet port now, and will remove the other soon.) |
65 |
|
66 |
I also switched the laptop over, which was using NetworkManager, but now uses |
67 |
wpa_supplicant directly with systemd-networkd on top (basically swapping out |
68 |
one upper layer for another). It required a small bit of configuration so that |
69 |
wpa_gui had a socket to connect to, and so that it could save the configuration |
70 |
file, but that was just two additional lines (along with two minimal *.network |
71 |
files, although now that I think about it I'm not even sure whether they're |
72 |
needed). It appears to work as fine as it did when running NetworkManager, so |
73 |
I'm happy to be rid of NM. |
74 |
|
75 |
One thing I noticed about systemd-networkd is that it, too, follows the theme |
76 |
of being designed around dynamic changes, namely network/device |
77 |
addition/removal. This becomes apparent when you learn that you can use wild |
78 |
cards to match devices. For example, when using the new udev network device |
79 |
naming scheme (aka "predictable names"), "en*" matches all ethernet ports and |
80 |
"wl*" matches all wireless ports. So that's interesting, I think, and I'm |
81 |
curious to see how systemd-networkd will evolve. |
82 |
|
83 |
I would now like to take a moment to mourn the unmerging of dhcpcd, which |
84 |
fulfilled its task of configuring the IP address (and other associated tasks) of |
85 |
my computers marvellously for over 8 years (first emerged on: Wed Jan 10 |
86 |
14:44:09 2007). |
87 |
|
88 |
Done? Great, now let's celebrate the unmerging of NetworkManager :-D . |
89 |
*phweeee* *balloon popping* *other generic party sounds* |
90 |
|
91 |
> == Stuff I liked == |
92 |
> |
93 |
[...] |
94 |
> == Questions === |
95 |
> |
96 |
> === ACPID: needed or not? === |
97 |
> |
98 |
> Does acpid provide anything that systemd does not, and if so, what kind of |
99 |
> "conflicts" might I see? The Gentoo Wiki page says that acpid is likely not |
100 |
> needed. |
101 |
> |
102 |
> FWIW, I already unmerged it and have not noticed any missing functionality, |
103 |
> even after over a week of regular usage. So I'm tending towards "no, not |
104 |
> needed". |
105 |
|
106 |
I have not noticed anything amiss in the many months I have been using my |
107 |
systems without acpid. So my "tendency" has morphed into "assuredness". |
108 |
|
109 |
> === Timers === |
110 |
> |
111 |
> Can a systemd timer depend on a mount point such that it waits until the mount |
112 |
> point exists before running? Or will it fail after a timeout? I want to |
113 |
> research this myself, but haven't gotten around to it yet. |
114 |
> |
115 |
> The problem I have is that my external HDD does not come up properly on cold |
116 |
> boot, so that I have to unplug it and plug it back in in order for the kernel |
117 |
> to fully initialise it and for it to mount, which is problematic for my backup |
118 |
> fcron jobs, since they have &bootrun set. This means that the backup script |
119 |
> will fail, unless I'm a) fast enough at re-plugging the HDD, and b) fast enough |
120 |
> at logging in (so that my automounter mounts the HDD. I will then have to |
121 |
> manually re-run it (i.e., fcrondyn -x "run <ID>") or wait for the next time |
122 |
> it's supposed to run. |
123 |
> |
124 |
> Naturally, I would like a more robust system than that, and hope that systemd |
125 |
> timers can make my life easier here. |
126 |
|
127 |
I ended up asking specifically about the HDD problem on gentoo-user, and was |
128 |
redirected to the linux-usb ML. I already mentioned the final diagnosis on |
129 |
gentoo-user, but haven't repeated it here yet: |
130 |
|
131 |
"After diagnosing the problem with the help of Alan Stern and Matthew |
132 |
Dharm, the conclusion was that the sector size translation must be |
133 |
triggered by some interaction between the drive and the BIOS. The test I |
134 |
performed to determine this was: |
135 |
|
136 |
- unplug the drive, |
137 |
- turn on the computer, |
138 |
- plug the drive in once GRUB has started, and |
139 |
- boot the kernel, |
140 |
|
141 |
after which the drive worked fine. So this does not seem to be anything |
142 |
that can be fixed in the kernel. Perhaps if I had an EFI compatible |
143 |
mainboard, I wouldn't be seeing this problem, but I don't, so I can't even |
144 |
try it out :-/ ." |
145 |
|
146 |
So, as sad as it is, my "solution" is to follow those four basic steps whenever |
147 |
I turn my computer on, and then I don't get any problems. |
148 |
|
149 |
[...] |
150 |
> === Suspend on the desktop === |
151 |
> |
152 |
> Like I mentioned above, my Desktop can *almost* suspend reliably, after trying |
153 |
> it out once every year or two (it's over 8 years old). Mostly it would just |
154 |
> not wake back up. The latest status (before systemd) was that the kernel |
155 |
> crashed after waking up (but I think that was a known bug that was fixed in the |
156 |
> meantime). |
157 |
> |
158 |
> Now with systemd, it wakes back up properly, but one of the soundcard drivers |
159 |
> (ice1724) is apparently unreliable, so that sound stops working after wakeup. |
160 |
> Plus, access to the soundcard was blocked by rtkit. I believe what one would |
161 |
> normally do is unload the module before suspending, but the only way I could |
162 |
> find to tell systemd to do that requires creating a file in /usr (as done here, |
163 |
> for example: http://forums.fedoraforum.org/showthread.php?t=294065). Is there |
164 |
> a better way? |
165 |
|
166 |
Well, I ended up doing this, and suspend/resume *almost* works, but still not |
167 |
quite: I couldn't access my USB3 HDD as a regular user anymore after resume, and |
168 |
it seems that my desktop shuts itself off after a while. Although maybe that |
169 |
has to do with the empty CMOS battery? Or a failed hibernation attempt? Just |
170 |
some random ideas. |
171 |
|
172 |
Again, I'm not pushing this, I'm just trying it out every now and then. My |
173 |
main motivation here is to waste as little electricity as is possible with this |
174 |
old desktop. What I would like to be able to do is to pause whatever I'm |
175 |
doing, suspend, do something else for a while, and then resume, *without* |
176 |
having to restart applications. (Even better would be to buy a new, more energy |
177 |
efficient computer, but I cannot afford that right now.) |
178 |
|
179 |
@Duncan: it seems to me that the btrfs RAID has yet to be a problem during |
180 |
resume (doesn't mean it won't be, but that's what I've seen so far). |
181 |
|
182 |
[...] |
183 |
|
184 |
Greetings |
185 |
-- |
186 |
Marc Joliet |
187 |
-- |
188 |
"People who think they know everything really annoy those of us who know we |
189 |
don't" - Bjarne Stroustrup |