block-meta: fix failed disk lookup when WWN includes extension
curtin's storage config extracts the WWN of a disk from one of the
following udev variables:
* ID_WWN_WITH_EXTENSION (preferred)
* ID_WWN
However, when trying to look the disk up later in the block-meta code,
curtin only tries to match the WWN value against the ID_WWN variable
(and another variable related to DM multipath).
This means that the disk can not be be found just based on the wwn if
the ID_WWN and ID_WWN_WITH_EXTENSION variables don't hold the same
value.
In the past, that was often okay because other fields (such as disk path
or serial) would still make the disk lookup succeed.
However, the following patch introduced a restriction. In v2, all fields
specified must now match for the disk lookup to be successful:
8c5f87ed block_meta: all fields on a disk action must match with v2 config
Fixed by matching against the ID_WWN_WITH_EXTENSION (preferred) and then
ID_WWN.
storage: filter out ventoy image when building storage config
When ventoy is used, the filesystem mounted to /cdrom is not a /dev/sr0
device (major number 11) but a dm device named "ventoy". Add a check to
exclude it as well as real cdrom devices.
system-install: use --assume-downloaded instead of --no-download
Running $ apt-get install --no-download
fails if the packages were previously "downloaded" using the cdrom
rather than an online repository.
This means we can't reliably pass the option on the second apt-get
install invocation.
Passing the --no-download option to $ curtin system-install while not
passing it to apt-get feels wrong. Therefore, I've renamed the
system-install option from --no-download to --assume-downloaded.
For package managers that support the --no-download option properly,
they can use it on the second invocation. For apt, we will not pass the
option.