Ubuntu Desktop ubiquity documentation is lacking

Bug #1783047 reported by Woodrow Shen
24
This bug affects 5 people
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Now that we are starting to look at creating an 18.04 desktop image, we'd like to get some answers for https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1654696

Most of this will be copy/paste from that bug, as they still seem to be issues in 18.04.

#2 and #3 we've figured out. #8 I haven't tried on 18.04, so I'm not sure if it's still an issue.

++++++++++++++++++++++++++++++++++++++++++++++++++
There is no good or up-to-date documentation regarding how to modify and debug the Ubuntu 16.04 Desktop preseed file. The wikis, such as wiki.ubuntu.com/Ubiquity and all the wikis that link to/from it, do not give much help.

For example, some questions I have are:
1. What are the mappings of d-i keys used in the Ubuntu Server to ubiquity keys in the Ubuntu Desktop?

2. If I have both a ubiquity/failure_command and ubiquity/success_command, and neither run, how do I debug this?

3. For OEM installs (oem-config/enable=true), how do I directly call oem-config-prepare so that I do not have to manually double click on the "Prepare for shipping to end user" icon? If your answer is "use the ubiquity/success_command", see question #2.

4. Is it possible to use d-i directly instead of ubiquity for Ubuntu Desktop installs?

5. Please provide documentation for installing additional packages from the /cdrom/pool during install time. I don't want to have to unsquash the casper/filesystem.squashfs, chroot into it and add packages that way. I would like to be able to run "apt-get install <.deb file in pool>" in the ubiquity/success_command.

6. During oem-config, I see a "Error opening file..." error pop up after oem-config has finished asking questions, and starts installing. However, I can't tell what it failed to open from the oem-config.log (attached).

7. I am unable to disable the automatic upgrades during install time.

For instance, the kernel included with the 16.04.1 Desktop ISO is 4.4.0-31, while the latest in the Canonical repos (as of writing this comment) is 4.4.0-64. I've tried adding the following into my preseed file to try to prevent automatically upgrading the kernel during ubiquity install time:

 d-i netcfg/enable boolean false
 d-i pkgsel/update-policy select none
 d-i pkgsel/upgrade select none
 d-i base-installer/kernel/image string none
 d-i base-installer/install-recommends boolean false
 d-i mirror/http/proxy string
 d-i apt-setup/use_mirror boolean false
 d-i mirror/protocol string
 d-i ubiquity/download_updates boolean false
 ubiquity ubiquity/download_updates boolean false

If there is a network connection, then ubiquity will automatically go and update the kernel to the latest version. Worse yet, if there is a network connection, but to one that can't reach the Canonical repos, it will take an awful amount of time trying to download packages and timing out. This is the case in the factory, where systems will be connected only to a private network for PXE.

I want the initial state of a freshly installed system, whether it is installed with or without a network connection, to be deterministic.

8) A PXE install where the PXE server and client are on a private network with no external internet access will fail with a "The 'grub-efi-amd64-signed' package failed to install into /target/. Without GRUB boot loader, the installed system will not boot." error.

The PXE server initiates the install with the following grub boot menu entry:

title Software Install
        set gfxpayload=keep
        kernel (nd)/DevBoxSW/vmlinuz.efi nouveau.modeset=0 boot=casper ip=enp2s0f0 netboot=nfs username=root nfsroot=10.20.187.10:/nvidia/content/DevBoxSW file=/cdrom/preseed/nvpxefactory.seed boot=casper debug-ubiquity automatic-ubiquity toram quiet splash --debug debug-oem-config --
        initrd (nd)/DevBoxSW/initrd.lz

Where "(nd)/DevBoxSW/" is where the PXE server's TFTP server keeps a copy of the vmlinuz and initrd of the ISO I'm trying to install, "10.20.187.10" is the PXE server's NFS server, and "nvidia/content/DevBoxSW" is the directory it exports that contains the contents of the ISO file I want to install.

However, using the exact same ISO will work fine if I create a bootable USB stick with it, and directly install on the client system where its network cable is both plugged in and unplugged.

summary: - [NV DGX] Ubuntu Desktop ubiquity documentation is lacking
+ Ubuntu Desktop ubiquity documentation is lacking
Revision history for this message
Woodrow Shen (woodrow-shen) wrote :

listed all the ubiquity wikis and a link to the 18.04 d-i page (https://help.ubuntu.com/18.04/installation-guide/amd64/apb.html).

For instance, if you look at the apb.html to find d-i commands to disable the network, then you'll see there is a netcfg component to disable the network. However, the UbiquityAutomation wiki clearly says that the netcfg component is not used by ubiquity. This led to the hack in our 16.04 preseed file where we point the apt update server to a bogus address to prevent auto-upgrades from occurring at install time.

Revision history for this message
Oliver Grawert (ogra) wrote :

ubiquity specific debconf options are listed at the bottom of https://wiki.ubuntu.com/UbiquityAutomation (likely a bit outdated but it clearly says that netcfg can not be configured in ubiquity) ...

Revision history for this message
q2dg (q2dg) wrote :

Resolving this issue is a MUST.
Please

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubiquity (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.