[ubuntu/plucky-proposed] initramfs-tools 0.145ubuntu1 (Accepted)
Benjamin Drung
bdrung at ubuntu.com
Wed Jan 29 10:12:18 UTC 2025
initramfs-tools (0.145ubuntu1) plucky; urgency=medium
* Merge from Debian unstable. Remaining changes:
- hook-functions: Add soc,nvmem, power, spmi, usb/typec, tty/serial drivers
- mkinitramfs: Put compressed kernel modules and firmware files in an
uncompressed cpio
- hooks/resume: Fix resume device type check
- hook-functions: make copy_libgcc to not take any parameters
- netinfo_to_resolv_conf: clear variables between sourcing
- netinfo_to_resolv_conf: add net_file to local variables
- Harmonize kernel module installation with dracut's behavior:
- Use the symbol regex from dracut-install to reduce the unnessary block
and net kernel modules.
- hook-functions: Move UFS storage drivers to block class
- Do not install ARM/RISCV specific modules on other architectures.
- add squashfs to list of 'most' modules
- support mounting of loopback devices via loop*= parameters
- Add vfat and nls modules to the initramfs.
- Drop hooks/keymap, scripts/init-top/keymap, and associated code;
console-setup takes care of this in Ubuntu.
- Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
something other than "n", the script will not be included.
- Add new initramfs-tools-bin package containing a binary that uses
libudev to wait for udev to create the udev device, or wait for udev to
finish processing if we catch it in the act, and returns the filesystem
type as already probed by udev.
- Automatically blacklist vga16fb when vga= or video= specified on kernel
command-line.
- Add hwaddr= alias for BOOTIF= for compatibility.
- Set hostname at boot, for the benefit of mdadm autoassembly.
- Add Hyper-V paravirtualised device drivers to the initramfs to allow
booting of stock images in a Hyper-V guest.
- ppc64el: enable PowerPC NX Crypto Coprocessor
- Add support for uppercase and lowercase uuids.
- Ensure we have a /usr/sbin directory in initramfs-tools-core
- Make busybox-initramfs a real runtime dependency, fixing kernel install
failures with cryptsetup
- init: Don't interpret "rootdelay" as a static sleep.
- scripts/local: Let rootdelay determine the wait-for-root timeout.
- Increase rootdelay to 180s on powerpc/ppc64/ppc64el
- Support roottimeout= as the authoritative name for rootdelay= since the
Ubuntu interpretation of rootdelay is *not* a delay and this causes
inconsistent behavior depending on whether the kernel or an initramfs is
interpreting it.
- Revised mountroot failure support. This is now deprecated and
effectively removed. However, to prevent breakage in other packages the
add_mountroot_fail_hook function is still present as an empty stub.
- Add a new 'fixrtc' script that tries to set the system clock forward
based on the last mount time of the root disk; without this kludge,
systems without a working RTC will end up in a perpetual reboot loop.
- Restore the framebuffer hook and script, copying KMS and other
framebuffer drivers into the initramfs, but make them optional; you need
to set FRAMEBUFFER=y for these to be included.
- netinfo_to_resolv_conf: Add support for IPv6
- resume: only resume when the partition contains a resume image
- Fix resuming a hibernate session from a swapfile
- scripts/functions: by default, when setting up networking, use dhclient
if we're asked to do DHCP explicitly, or if we otherwise are expected to
do things automatically.
- split out IPv6 options in its own cmdline parameter: ip6= ; always use
dhclient in this case if the value set is anything other than 'off' or
'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
the name of an interface.
- rework the stop conditions so that we properly handle the ROUNDTTT loop,
timing out after a short period of time and trying again after a short
sleep.
- add a 'done' parameter for both ip= and ip6= so that we can properly
exit the ROUNDTTT loop once we know that either there is no work to do,
or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
or possibly both).
- Just let dhclient scan the interfaces if none is specified for IPv6.
(previously unnoted)
- Do not handle ip=rarp specially (ipconfig hasn't supported it for some
time)
- Call dhclient in simple cases for IPv4 (this makes some small observable
changes -- for example ip=bootp will now make a DHCP request too -- but
nothing that seems important).
- Do not let dhclient processes hang around past the pivot and have them
respect the shorter timeouts ipconfig was given.
- hook-functions, mkinitramfs, scripts/functions: support usage of dns
after configure_networking.
- Add unit tests for DNS support
- scripts/functions: write netplan config files to /run/netplan for
network devices configured with configure_networking.
- Adjust testsuite for correct expected netplan output.
- Add tests to parse netplan.yaml with netplan generate.
- scripts/functions: include a new option to skip enslaved network
devices.
- Auto activate qeth devices on s390x hosts, when using ip= ip6= command
lines.
- Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
commandline, and as VLAN= conf.d snippet.
- Emit empty dictionary in the ethernets section, for static vlan configs
without any matches, as otherwise it is invalid config.
- Skip attempting to chzdev enable VLAN device
- Work out the kernel modules required to support ZFS filesystems and add
them as necessary.
- Add modules for nvme path components on multipath nvme.
- Drop usage of klibc-utils' fstype in favor of always using udev blkid.
- Use set -a/+a around loading conf snippets, to autoexport hook
configuration variables. This thus allows packaged hooks to configure
each other.
- Fix PATH to include /usr/local.
- Fix resume failure due to resume=UUID=... in certain cases
- Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
remount yet.
- Provide a clearer error on mount failure of the Windows host filesystem
- scripts/local: Re-execute cryptroot local-block script.
- Force copy pthread and libgcc_s libraries via a stub binary. To avoid
circular shared library dependencies between compiler and libc,
libpthreads chooses to dlopen libgcc_s, instead of linking against it.
However, we have no way to parse/know what it needs. And even when we
hardcode to include libgcc_s1, we don't have a way to know which
libgcc_s1 is needed on a given system and from which path to include it.
But there is a hook-function to copy a binary and all of its shared
library dependencies. Thus create a stub empty executable, with shared
linking against pthreads and gcc_s1 and always include it in the initrd.
This way at initrd creation time, ldd is used to correctly resolve these
shared library dependencies and correctly copy them into the initrd.
This removes hardcoding paths as to where these libraries must be copied
from on the host.
- Lower the compression levels for zstd and lz4 Following the discussion
on the mailing list, we have reached a conclusion to lower the default
compression levels:
- For lz4, the compression level is lowered to 2 from 9
- For zstd, the compression level is lowered to 1 from 9
- Include dax and nfit modules, also needed for pmem devices.
- Add char/hw_random drivers
- Reinstate build-time shellcheck (but leave shellcheck out of
autopkgtests as per debian bug #992798)
- Bring up networking if ip6 is specified on cmdline.
- debian/control: update Vcs-* links for Ubuntu.
- Add qemu-net-dnsmasq autopkgtest to test DHCPv6
- test: Ignore remaining systemd-udevd processes
- Replace dhclient by dhcpcd
- scripts/functions: do not fail to configure networking too quickly. In
particular make sure an unsuccessful attempt to run DHCP takes at least
$ROUNDTTT seconds.
- Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
on MacBook Pro 2017
- Install surface_aggregator_registry for keyboard on Surface Laptop 4
- Restore nvdimm and dax pmem-related modules
- configure_networking:
- Increase minimum timeout to 30 seconds
- Fix configuring BOOTIF when using iSCSI
- Set interface MTU if provided by the DHCP server
- autopkgtest: Test hostname already set in initrd
- resume: always write valid resume device to /sys/power/resume
- hook-functions: Print error message on copy_file failure
to ease debugging cases like LP #1641230.
- Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
and let initramfs-tools-core suggest 3cpio
- persist hostname provided by DHCP only if not set yet
* hook-functions: Add all extcon drivers on ARM/RISC-V
* unmkinitramfs: use directory names 'cpio1', 'cpio2', etc.
* Drop obsolete shellcheck overrides
* Revert "autopkgtest: Fix test failure when built-in drivers request
firmware". This workaround is not needed on Ubuntu.
* netinfo_to_resolv_conf:
- Support "set -u"
- Fix printing to stdout if "-" is specified
- Define sourced variables as local instead of using a subshell
* hook-functions: Add cdc_eem, ch9200, netconsole, r8153_ecm drivers
* Remove code that prunes 'broken' symlinks and sometimes /etc/mtab
(Closes: #845581)
Date: Tue, 28 Jan 2025 17:48:52 +0100
Changed-By: Benjamin Drung <bdrung at ubuntu.com>
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
https://launchpad.net/ubuntu/+source/initramfs-tools/0.145ubuntu1
-------------- next part --------------
Format: 1.8
Date: Tue, 28 Jan 2025 17:48:52 +0100
Source: initramfs-tools
Built-For-Profiles: noudeb
Architecture: source
Version: 0.145ubuntu1
Distribution: plucky
Urgency: medium
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Changed-By: Benjamin Drung <bdrung at ubuntu.com>
Closes: 845581
Changes:
initramfs-tools (0.145ubuntu1) plucky; urgency=medium
.
* Merge from Debian unstable. Remaining changes:
- hook-functions: Add soc,nvmem, power, spmi, usb/typec, tty/serial drivers
- mkinitramfs: Put compressed kernel modules and firmware files in an
uncompressed cpio
- hooks/resume: Fix resume device type check
- hook-functions: make copy_libgcc to not take any parameters
- netinfo_to_resolv_conf: clear variables between sourcing
- netinfo_to_resolv_conf: add net_file to local variables
- Harmonize kernel module installation with dracut's behavior:
- Use the symbol regex from dracut-install to reduce the unnessary block
and net kernel modules.
- hook-functions: Move UFS storage drivers to block class
- Do not install ARM/RISCV specific modules on other architectures.
- add squashfs to list of 'most' modules
- support mounting of loopback devices via loop*= parameters
- Add vfat and nls modules to the initramfs.
- Drop hooks/keymap, scripts/init-top/keymap, and associated code;
console-setup takes care of this in Ubuntu.
- Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
something other than "n", the script will not be included.
- Add new initramfs-tools-bin package containing a binary that uses
libudev to wait for udev to create the udev device, or wait for udev to
finish processing if we catch it in the act, and returns the filesystem
type as already probed by udev.
- Automatically blacklist vga16fb when vga= or video= specified on kernel
command-line.
- Add hwaddr= alias for BOOTIF= for compatibility.
- Set hostname at boot, for the benefit of mdadm autoassembly.
- Add Hyper-V paravirtualised device drivers to the initramfs to allow
booting of stock images in a Hyper-V guest.
- ppc64el: enable PowerPC NX Crypto Coprocessor
- Add support for uppercase and lowercase uuids.
- Ensure we have a /usr/sbin directory in initramfs-tools-core
- Make busybox-initramfs a real runtime dependency, fixing kernel install
failures with cryptsetup
- init: Don't interpret "rootdelay" as a static sleep.
- scripts/local: Let rootdelay determine the wait-for-root timeout.
- Increase rootdelay to 180s on powerpc/ppc64/ppc64el
- Support roottimeout= as the authoritative name for rootdelay= since the
Ubuntu interpretation of rootdelay is *not* a delay and this causes
inconsistent behavior depending on whether the kernel or an initramfs is
interpreting it.
- Revised mountroot failure support. This is now deprecated and
effectively removed. However, to prevent breakage in other packages the
add_mountroot_fail_hook function is still present as an empty stub.
- Add a new 'fixrtc' script that tries to set the system clock forward
based on the last mount time of the root disk; without this kludge,
systems without a working RTC will end up in a perpetual reboot loop.
- Restore the framebuffer hook and script, copying KMS and other
framebuffer drivers into the initramfs, but make them optional; you need
to set FRAMEBUFFER=y for these to be included.
- netinfo_to_resolv_conf: Add support for IPv6
- resume: only resume when the partition contains a resume image
- Fix resuming a hibernate session from a swapfile
- scripts/functions: by default, when setting up networking, use dhclient
if we're asked to do DHCP explicitly, or if we otherwise are expected to
do things automatically.
- split out IPv6 options in its own cmdline parameter: ip6= ; always use
dhclient in this case if the value set is anything other than 'off' or
'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
the name of an interface.
- rework the stop conditions so that we properly handle the ROUNDTTT loop,
timing out after a short period of time and trying again after a short
sleep.
- add a 'done' parameter for both ip= and ip6= so that we can properly
exit the ROUNDTTT loop once we know that either there is no work to do,
or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
or possibly both).
- Just let dhclient scan the interfaces if none is specified for IPv6.
(previously unnoted)
- Do not handle ip=rarp specially (ipconfig hasn't supported it for some
time)
- Call dhclient in simple cases for IPv4 (this makes some small observable
changes -- for example ip=bootp will now make a DHCP request too -- but
nothing that seems important).
- Do not let dhclient processes hang around past the pivot and have them
respect the shorter timeouts ipconfig was given.
- hook-functions, mkinitramfs, scripts/functions: support usage of dns
after configure_networking.
- Add unit tests for DNS support
- scripts/functions: write netplan config files to /run/netplan for
network devices configured with configure_networking.
- Adjust testsuite for correct expected netplan output.
- Add tests to parse netplan.yaml with netplan generate.
- scripts/functions: include a new option to skip enslaved network
devices.
- Auto activate qeth devices on s390x hosts, when using ip= ip6= command
lines.
- Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
commandline, and as VLAN= conf.d snippet.
- Emit empty dictionary in the ethernets section, for static vlan configs
without any matches, as otherwise it is invalid config.
- Skip attempting to chzdev enable VLAN device
- Work out the kernel modules required to support ZFS filesystems and add
them as necessary.
- Add modules for nvme path components on multipath nvme.
- Drop usage of klibc-utils' fstype in favor of always using udev blkid.
- Use set -a/+a around loading conf snippets, to autoexport hook
configuration variables. This thus allows packaged hooks to configure
each other.
- Fix PATH to include /usr/local.
- Fix resume failure due to resume=UUID=... in certain cases
- Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
remount yet.
- Provide a clearer error on mount failure of the Windows host filesystem
- scripts/local: Re-execute cryptroot local-block script.
- Force copy pthread and libgcc_s libraries via a stub binary. To avoid
circular shared library dependencies between compiler and libc,
libpthreads chooses to dlopen libgcc_s, instead of linking against it.
However, we have no way to parse/know what it needs. And even when we
hardcode to include libgcc_s1, we don't have a way to know which
libgcc_s1 is needed on a given system and from which path to include it.
But there is a hook-function to copy a binary and all of its shared
library dependencies. Thus create a stub empty executable, with shared
linking against pthreads and gcc_s1 and always include it in the initrd.
This way at initrd creation time, ldd is used to correctly resolve these
shared library dependencies and correctly copy them into the initrd.
This removes hardcoding paths as to where these libraries must be copied
from on the host.
- Lower the compression levels for zstd and lz4 Following the discussion
on the mailing list, we have reached a conclusion to lower the default
compression levels:
- For lz4, the compression level is lowered to 2 from 9
- For zstd, the compression level is lowered to 1 from 9
- Include dax and nfit modules, also needed for pmem devices.
- Add char/hw_random drivers
- Reinstate build-time shellcheck (but leave shellcheck out of
autopkgtests as per debian bug #992798)
- Bring up networking if ip6 is specified on cmdline.
- debian/control: update Vcs-* links for Ubuntu.
- Add qemu-net-dnsmasq autopkgtest to test DHCPv6
- test: Ignore remaining systemd-udevd processes
- Replace dhclient by dhcpcd
- scripts/functions: do not fail to configure networking too quickly. In
particular make sure an unsuccessful attempt to run DHCP takes at least
$ROUNDTTT seconds.
- Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
on MacBook Pro 2017
- Install surface_aggregator_registry for keyboard on Surface Laptop 4
- Restore nvdimm and dax pmem-related modules
- configure_networking:
- Increase minimum timeout to 30 seconds
- Fix configuring BOOTIF when using iSCSI
- Set interface MTU if provided by the DHCP server
- autopkgtest: Test hostname already set in initrd
- resume: always write valid resume device to /sys/power/resume
- hook-functions: Print error message on copy_file failure
to ease debugging cases like LP #1641230.
- Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
and let initramfs-tools-core suggest 3cpio
- persist hostname provided by DHCP only if not set yet
* hook-functions: Add all extcon drivers on ARM/RISC-V
* unmkinitramfs: use directory names 'cpio1', 'cpio2', etc.
* Drop obsolete shellcheck overrides
* Revert "autopkgtest: Fix test failure when built-in drivers request
firmware". This workaround is not needed on Ubuntu.
* netinfo_to_resolv_conf:
- Support "set -u"
- Fix printing to stdout if "-" is specified
- Define sourced variables as local instead of using a subshell
* hook-functions: Add cdc_eem, ch9200, netconsole, r8153_ecm drivers
* Remove code that prunes 'broken' symlinks and sometimes /etc/mtab
(Closes: #845581)
Checksums-Sha1:
dc33f5207bb220a08e8fc20e5acd57db7902506c 2368 initramfs-tools_0.145ubuntu1.dsc
5aaa5233c4e421e4fcc87313b4722545ac92a8fd 148664 initramfs-tools_0.145ubuntu1.tar.xz
cd1672e11cf1cf53b699c05e62956007e7f4b9b3 9392 initramfs-tools_0.145ubuntu1_source.buildinfo
Checksums-Sha256:
6b6fc385e20099fe403caa77b5882de37b37bf275a3706eb2579b3c197f87b2e 2368 initramfs-tools_0.145ubuntu1.dsc
2e013ae1b4cc28664c4e73c6c574cfb670c075bfa2efb78ff1ce6a57a0041e6c 148664 initramfs-tools_0.145ubuntu1.tar.xz
41c7e6f51acaeffa6d41a1f8cb7a5bc08206156ed238aad1e5c58e551771c9e4 9392 initramfs-tools_0.145ubuntu1_source.buildinfo
Files:
317088e2f38902ea605633caa8054c6c 2368 utils optional initramfs-tools_0.145ubuntu1.dsc
a9de596b49a1102b76b94976997fcea5 148664 utils optional initramfs-tools_0.145ubuntu1.tar.xz
2d4946751420b6453d7dcb9c774b3e0d 9392 utils optional initramfs-tools_0.145ubuntu1_source.buildinfo
Original-Maintainer: Debian kernel team <debian-kernel at lists.debian.org>
Vcs-Git: https://git.launchpad.net/~bdrung/ubuntu/+source/initramfs-tools
Vcs-Git-Commit: 39ffb8ec7c49d99f95ee635509b172f64200c42f
Vcs-Git-Ref: refs/heads/ubuntu/devel
More information about the plucky-changes
mailing list