Subiquity in 24.04 noble desktop installer is almost impossible to debug
https://askubuntu.com/questions/1567079/subiquity-in-24-04-noble-desktop-installer-is-almost-impossible-to-debugI just wanna share my experience of 2 weeks trying to install an autoinstaller image of noble onto a special workstation.
We have an autoinstaller image that works well for hundreds of computers and it deploys a heavily customized version of Ubuntu, where corporate login work and so forth. So far so good. I wanted to install that on a Dual AMD Epyc workstation, which proved to be impossible.
What is the main issue? the mainboard has an internal ASMB10-iKVM module, so you can access the device remotely because that thing is quite loud and is located in a dedicated room. That KVM module also provides an virtual USB LAN adapter, so that the host-system can talk to the KVM over that virtual LAN interface. That interface uses the cdc_ether module and is enumerated as enx[MAC-ADDR].
It took me a long time and many image-rebuilds to figure out, that the installer initializes the network like 3 times in a row. First in initramfs, then during the installer pre-phase and then when the actual installer launches it resets the network config again.
My first solution was to convince the network manager to assign a static IP to that interface or disable it, but rebuilding the minimal.squasfs is not the easiest task tbh and I think I have still messed something up here, because even after 10-20 rebuilds in different configurations the setup was not able to continue (either network issue or I think an issue with the checksums). I gave up after while, when i figured out I could just disable the cdc_ether module in grub. That helped to remove the enx interface and solved my network issue entirely.
But for some reason, even though I just blacklisted the module in grub, the installer was not able to perform apt-get update anymore, even though the entire image was unchanged. There is no explanation whatsoever, why this simple change can trigger apt-get update to fail, network is 100% functional at this point. I guess its just my luck. No technical explanation, just random chance.
I have tried to fix apt, but it failed with so many errors... first its not possible to set it back to cdrom anymore, even though the entire main and restricted packages are in the image. The when trying to set cdrom in the sources, it cant find the packages and release-info because all filenames are lowercase in the ISO image but apt expects capitalized names. Fixing that leads to signature errors, trying to disable the requirement for signed repos still lets the apt-get update fail. After two weeks and like 50 image rebuilds or so and hundreds of Copilot and GPT sessions I just did the simplest thing... install on a different machine and just copy the SSD to the big workstation. Now Ubuntu works and I wasted a lot of time for nothing. Im not even sure if its possible to get the installer running on that particular workstation. But at least its working and I have learned... something: Dont mess with Subiquity.
The complexity of Subiquity and the entire installer-process is quite too big TBH. If any issues occur, it feels impossible to debug even for someone like me, who installs all kinds of Linux distros since over 20 years on an almost daily basis. The layered filesystem, the multiple network inits, the apt-complexity... not even ChatGPT and Copilot were able to handle that.

