185 lines
6.1 KiB
Markdown
185 lines
6.1 KiB
Markdown
# Bubbles
|
||
|
||
Bubbles is an ISO builder for debian based operating systems, written in
|
||
python.
|
||
|
||
Why does bubbles exist?
|
||
The Peppermint OS team builds multiple ISOs. for example the folllowing
|
||
ISOs are currently able to be built.
|
||
|
||
Flagship:
|
||
|
||
These builds are designed for users who prefer a clean, system without
|
||
unnecessary bloat. At the same time, they come with just enough
|
||
essential packages to provide a functional, ready-to-use setup.
|
||
From there, users can customize the system to better suit their
|
||
specific needs without the hassle of undoing pre-installed settings or
|
||
removing unwanted packages, saving valuable time. It's entirely up to
|
||
the user to install the packages that best align with their preferences
|
||
and requirements.
|
||
|
||
- XFCE 64 bit Debian / Devuan
|
||
- XFCE 32 bit Debian / Devuan
|
||
- XFCE ARM Debian / Devuan
|
||
|
||
|
||
Loaded:
|
||
|
||
These builds come with a significantly larger selection of pre-installed
|
||
software, catering to users who expect a more comprehensive,
|
||
out-of-the-box experience. Compared to the flagship build, they include
|
||
far more packages, providing a ready-to-use system with enhanced
|
||
functionality right from the start.
|
||
- XFCE 64 bit Debian / Devuan
|
||
- XFCE 32 bit Debian / Devuan
|
||
|
||
Mini:
|
||
|
||
A minimum installation, or "mini install," refers to an operating system
|
||
installation process where no software is pre-installed on the system.
|
||
Instead, the user determines how to configure and customize the system
|
||
during the installation process. This method provides flexibility,
|
||
allowing users to tailor the setup to their specific needs without
|
||
unnecessary preloaded software, ensuring a clean and efficient system
|
||
configuration from the start
|
||
|
||
- 64 bit Debian / Devuan
|
||
|
||
Server:
|
||
|
||
Similar to the mini ISO the diffennce this has some addtion sever admin
|
||
related tools shipped with it.
|
||
|
||
- 64 bit Debian / Devuan
|
||
|
||
Community builds:
|
||
|
||
These builds are ISOs maintained by dedicated community members who have
|
||
taken the initiative to support and develop them. Essentially, someone
|
||
in the community has decided to create and maintain a specific desktop
|
||
environment, tailoring it to align with the unique "Pepperminty" style.
|
||
They’ve carefully identified the configurations and settings that embody
|
||
the essence of PeppermintOS, ensuring each ISO delivers a consistent and
|
||
cohesive experience.
|
||
|
||
- Gnome Flashback 64 bit Debian / Devuan
|
||
- KDE 64 bit Debian / Devuan
|
||
- OpenBox 64 bit Debian / Devuan
|
||
- Mate Debian 64 bit / Devuan
|
||
|
||
|
||
It does use the debian live build tools to build and create the ISO.
|
||
for the Debian and Devuanbased ISO
|
||
|
||
Requirements needed to use Bubbles:
|
||
- debian live-build tools
|
||
- python3
|
||
|
||
|
||
**Usage** - The Peppermint ISO collection consists of:
|
||
- 32/64 bit
|
||
- ARM
|
||
- Systemd/NonSystemd
|
||
- That would be
|
||
- SysVinit
|
||
- Runit
|
||
- OpenRC
|
||
|
||
## Understand the folder structure
|
||
|
||
The ISO is organized into a modular folder structure, as seen in the
|
||
iso_configs directory. Some folders contain shared files that are used
|
||
across all ISOs, while others are specific to certain architectures.
|
||
This modular design makes it easier to manage, update, and scale the
|
||
system as changes are introduced over time.
|
||
|
||
Here is a grouping break-down of the folders
|
||
|
||
### Shared Folders
|
||
|
||
- aliases - for use of custom bash aliases
|
||
- application - the location for custom application .desktop files
|
||
- auto start - launches the welcome screen and other auto start apps
|
||
- browser_profiles - Used for different web browser profile settings
|
||
- database - a place to puts any custom sqlite database files
|
||
- build_type - used to help identifiy the kind of build to compile
|
||
- desktop_base - used to put custom, custom base themes
|
||
- face - set the login thumbnail
|
||
- font - any fonts that need to be installed
|
||
- gnome-flashback - gnomeflashback configurations
|
||
- hooks - configurations that are used during the build process.
|
||
- id_files - used for build identification
|
||
- icons - put icons here to share them wil all builds.
|
||
- issue - version files for the syste, change to your build name /version
|
||
- kde - kde configurations
|
||
- lightdm - used for the light dm login manager
|
||
- loaded - loaded configurations
|
||
- logs - This will stor ethe logs create dureing bubbles compilations
|
||
- menu - default menu settings
|
||
- PepProPixMaps - the peptools icons
|
||
- PepProTools - the Peppemrint tools executables
|
||
- plymouth - update the plymouth boot screens
|
||
- pmostools - these are the peppermint tools
|
||
- polkit - manage the policy kits settings
|
||
- profile - setup the default profile configuration
|
||
- pylibraries - python libraries that are not inluded as standard
|
||
- server - server configurations
|
||
- theme - this will apply the themes to all your builds
|
||
- user_config - Default live user configuration
|
||
- wallpaper - stanard wallpaper location
|
||
- xfce - xfce configurations
|
||
- gnome-flashback - gnome flashback configurations
|
||
- openbox - open box configurations
|
||
|
||
|
||
|
||
### Architecture Specific
|
||
|
||
- calamares_settings - Calamares installer configurations
|
||
- grub - Manage the grub settings pers build.
|
||
- info - Mirror and info settings
|
||
- installer - configurations for the debain installer
|
||
- multimedia - keys and repo settings
|
||
- os-release - OS version and tesgging settings
|
||
- sources - defaults repo sources list
|
||
- splash - Grub bood splash configurations
|
||
|
||
|
||
Each folder in this area has subfolders broken down by:
|
||
- Debian 32/64/arm
|
||
- Devuan 32/64/arm
|
||
|
||
As you have a need to maintain separate configuration files for each build
|
||
this is where you place your files.
|
||
|
||
*For example:*
|
||
If you have Calamares Settings configuration files ONLY for the Devuan
|
||
ISO, then you put those files in the /calamares_settings/dev/ directory.
|
||
|
||
Make any modifications to the fole in the configurations above.
|
||
When you have done that make sure you are in the bubbles directory.
|
||
|
||
### How to use bubbles
|
||
|
||
- Clone the bubbles repo to /Your_Home_folder/
|
||
- In terminal ```cd``` into bubbles
|
||
|
||
To see the options available use
|
||
|
||
```python3 -m python_modules.build_iso help```
|
||
|
||
From there you can use those arguments to compile the ISO that best
|
||
fits your needs.
|
||
|
||
Once ths files are ready they will be stored in the follwoing location
|
||
|
||
```/var/www/html/nightly/```
|
||
|
||
From there you can see the kind of build you are looking for.
|
||
|
||
|
||
|
||
|
||
|
||
|