3

I have a very specific and fairly unusual need. I'm trying to set up a customized version of Ubuntu Studio to run a preconfigured version of Jamulus. This is similar to the JamulusOS project on SourceForge except I want to set up the connection parameters for a specific audience. (I also want to use more recent versions of software than what's available in JamulusOS). I have downloaded the ISO for Ubuntu Studio 18.04, installed it to USB and booted it, but of course any modifications I make to the running OS are lost when the system is rebooted. Likewise if I boot a VM from the ISO and install software there. I can also mount the ISO on my production system and copy the contents into a folder, but then I can't boot it or install software on it.

When I search for this topic, all I get is sites that tell me how to install an ISO onto a flash drive, nothing about how to create the ISO in the first place. Any advice on this?

  • 1
    You can add a Guest session to a persistent install. This will allow the admin to modify the install but will not allow the guest to modify it. https://askubuntu.com/questions/1120448/disable-persistence-on-hdd-install-public-pc An image file can be made of the final product and can be cloned to USB drives as required. See also https://askubuntu.com/questions/946919/add-guest-user-to-persistent-flash-drive/947175#947175 – C.S.Cameron Oct 08 '20 at 03:38
  • This method still works: https://askubuntu.com/questions/48535/how-to-customize-the-ubuntu-live-cd/49679#49679 – Nmath Oct 09 '20 at 20:40

3 Answers3

4

Cubic did the job, thanks for the reference. I was able to do most of what I needed. I put icons on the desktop by generating them on the host system using ubuntu-tweaks and then copying them over to the Cubic VM. I was not able to configure qjackctl, but I covered that by putting a readme on the desktop explaining how everything had to be set up. I never did figure out the problem that kept me from doing apt update, but I will try building a system from the Ubuntu distribution instead of Ubuntu Studio and see if that fixes it. I've got a nice shiny test system to distribute to a few select people. Thanks again.

3

You can use systemback https://sourceforge.net/projects/systemback-source-1-9-4/, that allows you to make a live system, system copy, system install and the possibility to prepare if you want a personalized ISO. Personally I use it to copy my system to a different backup pendrive.

enter image description here

How to install

from sourceforge:

$ cd Downloads/
$ tar xvf systemback-install_pack-1.9.4.tar.gz 
$ cd systemback-install_pack-1.9.4/ 
$ chmod +x install.sh
$ sudo ./install.sh 

from Github:

$ git clone https://github.com/fconidi/systemback-install_pack-1.9.4.git
$ cd systemback-install_pack-1.9.4/
$ chmod +x install.sh
$ sudo ./install.sh

How to use

Create an ISO from your Linux System (*)

You can learn here how to create a live, fully bootable and installable image from your current system and convert it to ISO.

At the end you can create your modified linux distribution customizing installed SW and its configuration as you prefer and distribute the package as you like.

Backup/Restore your Linux System (*)

Systemback makes it easy to create backups of the system and the users configuration files. In case of problems you can easily restore the previous state of the system. There are extra features like system copying, system installation and Live system creation.

NOTE (*):

I 've tested only installation by file as indicated from sourgeforce. Installation from PPAs are often referred to old ubuntu releases and can give you problems and waste of time.

pat
  • 429
  • I was able to install systemback according to your instructions, but now I can't figure out how to run it. There's nothing called "systemback" either in my application menu or in the CLI. No instructions on the sourceforge page to explain what to do after the application is installed. From the menu you show above it looks like it could be exactly what I need, but I need to be able to start it first. – mobilityguy Oct 08 '20 at 22:42
  • it should be present in your app menu, but anyway you can launch it from terminal typing sudo systemback – pat Oct 09 '20 at 12:35
  • I found the problem. There are multiple dependencies that are not installed and that I can't find through apt install. I also added the repository as described in the wikihow article mentioned above, and it specifically says systemback only supports Ubuntu versions 14.04 through 16.10. Doesn't look like my solution. – mobilityguy Oct 09 '20 at 20:01
  • For the installation please consider only the 2 ways specified in "How to install" from git and sourceforge because other ways specified in the following web articles mentioned in " how to use" are not working with last Ubuntu releases. As far as I know PPAs are not updated anymore. Personally I 've installed systemback 1.9.4 from downloaded file and not from PPA. – pat Oct 09 '20 at 20:21
  • I tried the git method, had the same problem. Everything up to install seems to work, but systemback is missing dependencies and doesn't actually install. – mobilityguy Oct 11 '20 at 21:58
  • Dont' you have the possibility so install the missing dependecies ? Are you working on un ubuntu 18.04 or I've missed something ? – pat Oct 12 '20 at 15:35
3

You can use Cubic.

Cubic (Custom Ubuntu ISO Creator) is a GUI wizard to create a customized Ubuntu Live ISO image.

See How to use Cubic to create a custom Ubuntu live CD image? for general instructions.

To install Cubic use PPA...

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

To use Cubic...

  1. Create a new customization project directory.

    Cubic Start Page

  2. Accept defaults for some important parameters, or enter your own values (like file name, release name, etc.)

    Cubic Project Page

  3. Make your customizations using the command line.

    This is where you will need to be familiar with certain commands. Use apt to install packages, use nano to edit files, and configure defaults such as background and theme (see Cubic Answer 681051 or Cubic Answer 692588 for examples).

    Cubic Terminal Page

  4. Automatically generate a new custom ISO.

    Cubic Generate Page

N0rbert
  • 99,918
Enterprise
  • 12,352
  • Success, sort of. Cubic actually gives me a bootable USB stick, but it has several problems. The biggest is that it doesn't provide a way to modify the user's desktop, necessary for me to make Jamulus and associated utilities visible for the user. There's probably a way to do that with CLI editors but that's above my pay grade. Also, there seems to be some problem with the configuration of apt, so I can't bring any packages up to date. Finally, the USB partition is 100% full when created, so I can't do anything that requires writing files. – mobilityguy Oct 11 '20 at 22:01
  • I'm getting closer to understanding what I need, though. I've built a Virtualbox VM configured just the way I want it, and I'd like to be able to convert that to an ISO. VBoxManage utilities that convert formats don't produce usable ISOs, and none of the purported converts that go from VDI or VMDK to ISO produce anything that boots. – mobilityguy Oct 11 '20 at 22:04
  • Modifying the desktop isn't that hard... What do you want to do? (For example, if you want certain files to appear on user's desktops, note that the /etc/skel folder is used as a template whenever new users are created). – Enterprise Oct 11 '20 at 23:48
  • I'm trying to put some program icons (.desktop files) on the desktop. I also need to set parameters inside some programs (qjackctl) that have no CLI. I think I can do that by editing the parameter file on another system and then copying it into the image. Still, it would be easier and much less time-consuming to develop and test if I could configure in a running VM and then write the ISO, instead of writing an ISO, burning a USB, and then booting and testing. – mobilityguy Oct 12 '20 at 01:20
  • I also can't apt upgrade to get newer versions of programs that are out of date on the distribution media - Cubic doesn't allow it, and once the USB is written there's no space left for new versions, or anything else. I think the VDI --> ISO process is my best bet, if that's even possible. – mobilityguy Oct 12 '20 at 01:21
  • If you are able to find a solution that lets you make a copy of your running OS in a VM, then use that. Regardless of what solution you use, you will not be able to ~update~ programs on the USB, unless you create a Persistent Live USB (but they become slow and unstable with too many updates). The benefit with Cubic is, you can always open your project, update whatever you need, and simply re-generate a new ISO. (By the way, if you wanted to put .desktop files on the Desktop, simply create a folder called /etc/skel/Desktop, and drop your *.desktop files in there). – Enterprise Oct 12 '20 at 04:53
  • Based on some of your comments, I think you will be interested in mkusb. See the instructions at https://help.ubuntu.com/community/mkusb#Persistent_live_systems. Personally, I would create a custom ISO using Cubic, and than use that as the *.iso source file to create a Persistent Live USB, so I could update some of the software directly on the USB over time. – Enterprise Oct 12 '20 at 04:58
  • Thanks. That makes sense. I'm aware that I can't make permanent changes to the ISO image once booted, and that any changes I make will be removed the next time I boot the system. But it appears that I can't update software in the Cubic VM either - every repository returns "Target is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/dvd.list:2" and refuses to update. Any attempt to modify or remove either of those list files breaks apt completely, so I'm stuck building a distribution with the software versions that were current at the time the ISO was built. – mobilityguy Oct 12 '20 at 12:59
  • The error, "Target is configured multiple times" simply means you have multiple copies of a PPA in /etc/apt/sources.list and/or in /etc/apt/sources.list.d. You can only list a repository (i.e. PPA) once. Use nano /etc/apt/sources.list to edit and carefully find these duplicates and remove them. Also, cd /etc/apt/sources.list.d and use the rm command to delete any redundant PPAs. Since this is a general Ubuntu error, you can search askubuntu for more info about this error. – Enterprise Oct 12 '20 at 15:30
  • Thanks again. You're being very helpful. Both files list the same three repositories, and when I comment them out of either one, apt update gives me permission errors. I'll check askubuntu for references to this error. – mobilityguy Oct 12 '20 at 18:01