Can not customize Ubuntu Server 21.10 using Cubic.

Bug #1949237 reported by Dustin Chapman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cubic
Fix Released
Low
Cubic PPA

Bug Description

Cubic searches explicitly for "filesystem.squashfs" to extract as the root filesystem. This specific squashfs is no longer included in the latest Ubuntu Server ISO.

There are multiple squashfs files, still in the casper directory.

```
dustin@bob:~/cubic/test$ find . -iname '*.squashfs'
./source-disk/casper/ubuntu-server-minimal.squashfs
./source-disk/casper/ubuntu-server-minimal.ubuntu-server.installer.generic.squashfs
./source-disk/casper/ubuntu-server-minimal.ubuntu-server.installer.squashfs
./source-disk/casper/ubuntu-server-minimal.ubuntu-server.squashfs
```

Cubic PPA (cubic-wizard)
Changed in cubic:
assignee: nobody → Cubic PPA (cubic-wizard)
Cubic PPA (cubic-wizard)
Changed in cubic:
importance: Undecided → Low
status: New → In Progress
Revision history for this message
Cubic PPA (cubic-wizard) wrote :

It looks like there are two different squash file systems that can be installed (or customized):

1. ubuntu-server-minimal - This version has been customized to have a small runtime footprint in environments where humans are not expected to log in.

2. ubuntu-server - The default install contains a curated set of packages that provide a comfortable experience for operating your server.

We could modify Cubic to:

1. Allow the user to select which one they want to customize
2. Allow the user to modify both simultaneously
3. Make an assumption that the user only wants to modify one of these (probably #2, the default)

Option 1 would require additional pages for the user to select the squash file system they want to modify. It will require the user to run Cubic twice if they want to modify both, and it will require some complex logic changes on other pages (such as the Kernels tab on the Options page).

Option 2 will require two different Terminal pages (one for each squash file system) and additional possibly complex logic changes on other pages (such as the Kernels tab on the Options page).

Option 3 will probably be the easiest.

Revision history for this message
Dustin Chapman (dchapman) wrote :

I feel Option 3 would be completely sufficient (with #2 squashfs). The user still has ample opportunity to uninstall packages during other Cubic pages to minimize the file system footprint. Thanks for looking into this.

Revision history for this message
Cubic PPA (cubic-wizard) wrote :

Dustin,

I appreciate your feedback.

I'll implement Option 3.

Revision history for this message
Cubic PPA (cubic-wizard) wrote :

Notes:

There are four squashfs files on the 20.10 iso...

1. ubuntu-server-minimal.squashfs
2. ubuntu-server-minimal.ubuntu-server.installer.generic.squashfs
3. ubuntu-server-minimal.ubuntu-server.installer.squashfs
4. ubuntu-server-minimal.ubuntu-server.squashfs

File #2 and file #3 are obviously for the installer.

Nevertheless, I tested creating a container using all of these file systems.

Only File #1 (ubuntu-server-minimal.squashfs) works and can be customized.

Revision history for this message
Cubic PPA (cubic-wizard) wrote :

Notes:

Surprising, there are five manifest files...

0. filesystem.manifest
1. ubuntu-server-minimal.manifest
2. ubuntu-server-minimal.ubuntu-server.installer.generic.manifest
3. ubuntu-server-minimal.ubuntu-server.installer.manifest
4. ubuntu-server-minimal.ubuntu-server.manifest

Files #1, #2, #3, and #4 are all diff files, but it is not clear what they are diffs against?

File #0 is the only manifest file that has the correct format.

Examining the general naming convention for the files in the casper directory, I expected "ubuntu-server-minimal.manifest" to be the name of the full manifest (so that it would match the name of the customizable suashfs file, ubuntu-server-minimal.squashfs).

However, filesystem.manifest may correspond to the packages installed in ubuntu-server-minimal.squashfs ?

Revision history for this message
Cubic PPA (cubic-wizard) wrote (last edit ):

The file...

    ubuntu-server-minimal.manifest

...lists exactly the same packages that are installed in...

    ubuntu-server-minimal.squashfs.

However, ubuntu-server-minimal.manifest has an unusual structure. Here are the first six lines:

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    --- /build/livecd.ubuntu-server..manifest.full 1970-01-01 00:00:00.000000000 +0000
    +++ /build/livecd.ubuntu-server.ubuntu-server-minimal.manifest.full 2021-10-13 14:00:31.389289535 +0000
    +adduser 3.118ubuntu5
    +apparmor 3.0.3-0ubuntu1
    +apport 2.20.11-0ubuntu70
    +apport-symptoms 0.24
    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

I will assume the "diff symbols" such as the "+" are not relevant for the server installer. (Therere are no "-" diff symbols in this file). Cubic will simply create a normal manifest with the name ubuntu-server-minimal.manifest.

The first few lines will look like this:

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    adduser 3.118ubuntu5
    apparmor 3.0.3-0ubuntu1
    apport 2.20.11-0ubuntu70
    apport-symptoms 0.24
    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

The other manifest files...

    0. filesystem.manifest
    2. ubuntu-server-minimal.ubuntu-server.installer.generic.manifest
    3. ubuntu-server-minimal.ubuntu-server.installer.manifest
    4. ubuntu-server-minimal.ubuntu-server.manifest

...will remain unaltered by Cubic and will simply be copied from the source disk.

Cubic PPA (cubic-wizard)
summary: - Ubuntu Server 21.10 ISO Uses Multiple squashfs Files
+ Can not customize Ubuntu Server 21.10 using Cubic.
Cubic PPA (cubic-wizard)
Changed in cubic:
status: In Progress → Fix Committed
Revision history for this message
Cubic PPA (cubic-wizard) wrote (last edit ):

Fix released in version 2021.11-62.

Revision history for this message
Cubic PPA (cubic-wizard) wrote (last edit ):

Dustin,

Please test Cubic version 2021.11-62 and let me know if it works for you.

    $ sudo apt-add-repository ppa:cubic-wizard/release
    $ sudo apt update
    $ sudo apt install --no-install-recommends cubic

Changed in cubic:
status: Fix Committed → Fix Released
Revision history for this message
Dustin Chapman (dchapman) wrote :

Tested and it works well. Many thanks!

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.