Workaround: In /etc/initramfs-tools/initramfs.conf, I simply set:
IP=eth0
DEVICE=eth0
If my analysis is correct, DEVICE is ignored and I can simply use IP. If so, I think there are still at least two bugs here: Autodetection doesn't work with multiple interfaces (and it's clear from the code that it's _trying_ to support that use case), and the sample file has this misleading comment:
#
# DEVICE: ...
#
# Specify a specific network interface, like eth0
# Overridden by optional ip= bootarg
#
This makes it sound like DEVICE is used if ip= isn't set, but that's not true -- if ip= isn't set, and IP isn't set, DEVICE is overridden anyway.
Workaround: In /etc/initramfs- tools/initramfs .conf, I simply set:
IP=eth0
DEVICE=eth0
If my analysis is correct, DEVICE is ignored and I can simply use IP. If so, I think there are still at least two bugs here: Autodetection doesn't work with multiple interfaces (and it's clear from the code that it's _trying_ to support that use case), and the sample file has this misleading comment:
#
# DEVICE: ...
#
# Specify a specific network interface, like eth0
# Overridden by optional ip= bootarg
#
This makes it sound like DEVICE is used if ip= isn't set, but that's not true -- if ip= isn't set, and IP isn't set, DEVICE is overridden anyway.