Cubic hangs while creating a custom iso

Bug #1821263 reported by Miguel Boura
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cubic
Invalid
Undecided
Cubic PPA

Bug Description

The cubic iso generator hangs on the step 'Generating the customized disk image' when you're trying to create a disk image from a custom iso. The custom iso has been created to boot Ubuntu up with a custom splash screen, but the iso creation hangs on the last screen. "Generate thye custom iso image" does not progress beyond 0%

This issue persists even if the custom iso has a preseed.cfg file or no preseed file.

Console output is attached.

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

Looking at your output, the error is happening in here:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Set a new process for thread id........ 139652034447104
    The new process id is.................. 20853
    • The start time is.................... 09:15:53.017537
    • Status............................... xorriso 1.4.8 : RockRidge filesystem
                                            manipulator, libburnia project.
                                            Drive current: -outdev 'stdi
    • Completed............................ 0%
    • The end time is...................... 09:15:53.145748

You can see that xorriso starts at 9:15:53 and immediately stops (crashes?), after completing 0%.
As a result, there is no "/isotest6/live-cd-2.0.1.iso" file created.

I've seen this happen with other users when there is not enough disk space, but you seem to have more than enough, so there may be another reason.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

See if you can execute xorriso manually. There might be additional error information that does not show up in the Cubic log...

$ cd /isotest6/custom-live-iso

$ sudo xorriso -as mkisofs -r -V "ISOIMAGE 2.0.1" -cache-inodes -J -l -iso- level 3 -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o "/isotest6/live-cd-2.0.1.iso" .

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

When you execute the above command, make sure you include the " ." a the end!

Revision history for this message
Miguel Boura (miguelb) wrote :

Alright, entering the command I get this error:

xorriso 1.4.8 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:/isotest6/live-cd-2.0.1.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 41.6g free
xorriso : WARNING : -volid text problematic as automatic mount point name
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
xorriso : NOTE : -as mkisofs: Ignored option '-cache-inodes'
xorriso : FAILURE : -as mkisofs: Unrecognized option '-iso-'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE'

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

Oops... I accidentally put a space in the "-iso-level" parameter name.

Here is the corrected command...

$ sudo xorriso -as mkisofs -r -V "ISOIMAGE 2.0.1" -cache-inodes -J -l -iso-level 3 -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o "/isotest6/live-cd-2.0.1.iso" .

Changed in cubic:
assignee: nobody → Cubic PPA (cubic-wizard)
Revision history for this message
Miguel Boura (miguelb) wrote :

Okay, it comes back with this now:

xorriso 1.4.8 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:/isotest6/live-cd-2.0.1.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 41.6g free
xorriso : WARNING : -volid text problematic as automatic mount point name
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
xorriso : NOTE : -as mkisofs: Ignored option '-cache-inodes'
Added to ISO image: directory '/'='/isotest6/custom-live-iso'
xorriso : UPDATE : 300 files added in 1 seconds
xorriso : UPDATE : 300 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 432 bytes from file '/usr/lib/ISOLINUX/isohdpfx.bin'
xorriso : FAILURE : Cannot find in ISO image: -boot_image ... bin_path='/isolinux/isolinux.bin'
xorriso : NOTE : -return_with SORRY 32 triggered by problem severity FAILURE

Revision history for this message
Cubic PPA (cubic-wizard) wrote :
Download full text (3.8 KiB)

I think the structure of your manually customized ISO is not quite right.

Fortunately, Cubic has a feature to repair this.

WHAT YOU NEED
-------------

(1)
The latest version of Cubic.

    $ sudo apt update
    $ sudo apt install cubic
    $ dpkg -l cubic

You should have version 2019.03-51-release.

(2)
Download an official *.iso from the Ubuntu website. Since you mentioned that you had customized 18.04 you may want to get http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso. (The exact version doesn't matter, so it's a good idea to get the most recent "point" release for your Ubuntu version).

(3)
Copies of all of your custom preseed files (ex. preseed.cfg) and all of your custom boot configuration files (ex. grub.cfg).

BACKUP
------
Just in case something goes wrong, make a backup of your original files.

    $ cp -r /isotest6 /isotest6.backup

Be sure to follow the next steps using the original directory ("/isotest6"), not the backup directory ("/isotest6.backup").

STEPS
-----

(1)
Launch Cubic.

On the Project Directory page, select your project directory (ex. /isotest6).
Click Next.

(2)
You will see the Existing Project page.
Make sure the "Create a disk image from the existing project" radio button is selected.
In the original ISO section, in the Filename field, you will see your original ISO (ex. /isofile/live-cd.iso).
Click the Select button next to this file.
In the File Chooser dialog, pick the official *.iso you had downloaded earlier (ex. ubuntu-18.04.2-desktop-amd64.iso) and click Select.
Don't worry, Cubic knows you had made customizations (ex. /isofile/live-cd.iso), and these will be retained.
This step will allow Cubic to "rebuild" the correct file structure based on an official *.iso file.
Click Next.

You will briefly see a progress bar with the heading "Copy ISO files from the new original disk image."

(3)
Then you will see the Options page.

Click the Package Manifest tab.
Select every package that should be removed for a typical install.
(Note that packages removed for a typical install are also automatically removed for a minimal install).
Also, select every additional package that should be removed for a minimal install.

Click the ISO Boot Kernel tab.
The kernel that you had used for your previous ISO image (ex. live-cd.iso), may not be listed, but that's OK.
Select the radio button for the kernel that should be used to bootstrap your new customized ISO. The suggested default is fine to use.

Click the Preseeed Files tab.
Create new preseed files that are not listed.
Delete any preseed files that you do not need.
For each preseed file, copy (CTRL-C) and paste (CTRL-V) the contents from your original preseed files that you had made copies of.

Click the ISO Boot Configurations tab.
For each boot configuration file, copy (CTRL-C) and paste (CTRL-V) the contents from your original boot configuration files that you had made copies of.
You should be able to leave unused boot configuration files blank, if you don't need them (ex. loopback.cfg, txt.cfg).

(4)
Click the Generate button.

Note: Any changes you make on this page are only saved wen you click the Generate button. If you click the Back or Quit ...

Read more...

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

Just in case its not clear in the above instructions, the customization you have made inside the chroot environment will *not* be lost, even though you are selecting a new original *.iso file (ubuntu-18.04.2-desktop-amd64.iso) for the existing project. Instead, Cubic uses the file structure from the original *.iso to repair the file structure of your customized *.iso.

Revision history for this message
Miguel Boura (miguelb) wrote :

Right, well, the Cubic does not hang any longer, so this bug has been fixed! I have booted the iso in a VM, and it does appear that the custom changes I have made do not appear to be apparent at first. The Ubuntu boot screen is still the same, even though I can see the changes made in the plymouth files.

My assumption was that the changes would show after the installation on VM, but the iso crashes when I try to install it.

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

When you say "crashes when I try to install it" do you mean the installer crashes during installation, or the ISO won't boot up at all?

Revision history for this message
Miguel Boura (miguelb) wrote :

I mean the installer crashes during installation. I can access the image by trying it out, but it will just crash during an install.

Revision history for this message
Miguel Boura (miguelb) wrote :

Should also mention that this happens on the official *.iso after I generate a new image through cubic.

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

I'm going to close this bug report.

If you would like me to help a little more, post a Question in the Answers section.

If ubiquity is crashing during installation, make sure it has all the files it needs and there are no issues with preseed files.

Changed in cubic:
status: New → Invalid
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.