Yes — you can absolutely do most of this inside a **Debian-based container** (or even on Linux Mint, which is Ubuntu-based), with some caveats: --- ### 1️⃣ What works in a container * **Debootstrap / building the ISO filesystem** – you can create the `chroot` and populate it inside a Debian container. * **Copying your tools** (`asl-auth-host`, `asl-rescue`, helpers) into the ISO root. * **Overlay scripts and directory structure** – fully container-compatible. * **Generating the ISO** using `genisoimage` or `xorriso` – works fine in a container. --- ### 2️⃣ What **won’t fully work** in a container * **ZFS pool creation** (`zpool create`) – you need **kernel support** for ZFS, and containers usually don’t have full access to `/dev` to create loopback-backed pools. * Workarounds: * Use a **loopback file inside the container** and mount ZFS on the host after building. * Or skip actual pool creation, just **pre-create the dataset folder structure**, and mount ZFS later on the real machine. * **Boot testing** – you can build the ISO in a container, but to actually boot and test, you’ll need a VM or real hardware. --- ### 3️⃣ Suggested container workflow ```text [Host Linux Mint] | v [Debian container] --> run build_asl_auth_host_iso.sh | v [Output ISO] --> copy to VM or USB to test boot ``` Steps: 1. Run a Debian container: ```bash docker run -it --name asl-build -v $PWD/work:/work debian:bullseye bash ``` 2. Inside the container, install required packages: ```bash apt update apt install -y debootstrap genisoimage squashfs-tools xorriso ``` 3. Copy your scripts and binaries into the container (`/work` folder). 4. Run the ISO build script (`build_asl_auth_host_iso.sh`). 5. Copy the generated ISO back to your host for boot testing. --- ✅ **Bottom line:** * You **can** build the ISO entirely in a container. * For **ZFS pools or boot testing**, you need either host privileges or a VM for full functionality. * On Linux Mint, the container approach keeps your host clean and reproducible. --- If you want, I can **rewrite the build script specifically for container-friendly execution**, skipping ZFS creation but keeping the dataset folders so it’s ready to mount ZFS later. This is the smoothest workflow for Linux Mint. Do you want me to do that?