In a Cubic Project - what folders should go into a version control system?

Asked by Dave Hanson on 2019-01-25

I need to be able to version control a custom build for future updates. What folders/artifacts should go into a version control system?

Question information

English Edit question
Cubic Edit question
No assignee Edit question
Last query:
Last reply:
Cubic PPA (cubic-wizard) said : #1


You need the project folder (i.e. /home/user/Custom/) and these three items below it...

├── cubic.conf [1]
├── custom-live-iso [2]
└── squashfs-root [3]

cubic.conf is the configuration file that describes your Cubic project, so it is important.

The custom-live-iso folder contains the file structure and boot files for your custom live cd.
Everything in this folder is necessary except:
This is the compressed version of your customized Linux file system, and Cubic will recreate it during the "Create customized disk image" step.

The squashfs-root folder contains your customizations (for example, if you have installed new packages using apt). Everything in this folder is necessary. Eventually, this folder is compressed as filesystem.squashfs before the new *.iso file is created. Note that the squashfs-root folder is typically pretty large, since it contains the entire Linux file system, so you may end up with a lot of files under version control; make sure you have enough space (5GB-10GB is my estimate for this folder).


Other files or folders under your Cubic project folder (i.e. /home/user/Custom/) are transient and do not need to be version controlled. The generated *.iso or *.md5 files may be here, but you can always regenerate these using Cubic, as long as you have the three files or folders listed above.


Here is a summary of what you need and don't need under version control.

├── cubic.conf [NEEDED]
├── custom-live-iso [NEEDED]
│   ├── casper [NEEDED]
│   │   ├── filesystem.squashfs [NOT NEEDED]
│   │   └── Everything else in this directory [NEEDED]
│ └── Everything else in this directory [NEEDED]
├── original-iso-mount [NOT NEEDED]
├── squashfs-root [NEEDED]
├── ubuntu-XX.XX.X-2019.XX.XX-desktop-amd64.iso [NOT NEEDED]
└── ubuntu-XX.XX.X-2019.XX.XX-desktop-amd64.md5 [NOT NEEDED]


Remember that the path to the original *.iso must remain unchanged (as specified in the cubic.conf file) for Cubic to work. In other words, you don't need to version control the original *.iso, but make sure it is available to Cubic.

Can you help with this problem?

Provide an answer of your own, or ask Dave Hanson for more information if necessary.

To post a message you must log in.