Ubuntu Jammy Progress 10
The Jammy desktop environment has stabilised nicely and more work has been done on supporting the server environment. Here are the notable recent changes…
Installer
Whilst testing our Jammy installer on a couple of recent server models (Dell PowerEdge R350 and Dell PowerEdge R7515) we discovered a particularly weird problem. After PXE booting it would not reach the install menu prompt but would get stuck with a message like:
Begin: Retrying nfs mount ... Begin: Waiting up to 180 secs for idrac to become available ... done. no search or nameservers found in /run/net-idrac.conf /run/net-idrac.conf /run/net6-*.conf nfsmount: need a path done.
When the DHCP client is run it will create a file in the /run
directory for each interface (e.g. net-eth0.conf
). This list of files shows that the only interface which got a response is named idrac
. As the address allocated (169.254.1.2
) is in a private unrouted range that means the NFS mount was never going to succeed (eventually it times out).
Initially this all seemed quite strange since we don’t pay for the license for the separate physical idrac interface but rather piggy-back on the main NIC. After comparing the contents of the initramfs files for Focal and Jammy the only difference which seemed likely to have an effect was the inclusion of the usbnet
and cdc_ether
kernel modules. It appears that when these are automatically loaded at boot time the idrac interface usually is ready first and then the initramfs code just uses that interface. For a fully installed system this probably never causes an issue since networkd or networkmanager will take over and sort it out correctly. It’s only when you need to do an early NFS mount for the installer root that you hit issues.
The solution is reasonably simple, just blacklist the loading of those two kernel modules for install time since we will never want them at that point. To do that involved changing the installroot profile to include both the LCFG hardware and kernel components. The hardware component is used to create an appropriate /etc/modprobe.d/lcfg.conf
file, the kernel component configures and rebuilds the initramfs to include the new modprobe config file. With all that in place we can now reliably install Jammy onto these server models.
Localisation
A selection of localisation packages for en-GB have been added to improve the user experience for Gnome, libreoffice and thunderbird.
Systemd Timers
It’s notable that some packages have switched from cron over to using Systemd timers to schedule regular tasks. As the LCFG cron component only manages the additional cron jobs for users (including root), this introduces a difference in behaviour in Jammy. Cron jobs added through other mechanisms (e.g. files in /etc/cron.d
, /etc/cron.hourly
, /etc/cron.daily
, etc) are automatically enabled when the files are installed as part of the package. For systemd, the LCFG component completely manages the contents of the /etc/systemd
directory which means that timer service files installed as part of the package will be removed at some later time if they are not also registered through the component resources, for example:
!systemd.wanted_units_timerstarget mADD(sysstat-summary.timer)
Recent comments