Install from USB
Outcome: Create a bootable development stick without modifying internal disks. All data on the selected destination USB device is erased. Unplug any other removable drives before selecting a destination.
Prepare and verify
- From the download page
(newest image,
5db82d6), from huggingface.co/Wa1k3r/LexiSuite (images up to3db31f8) or the newest release on the Releases page, downloadLexiSuite-<id>-secureboot-dev.img.xzand its matching.img.xz.sha256file into one folder (<id>is the commit the image was built from; the newest release has the newest image). Choose an 8 GB or larger USB stick. The image includes no model weights. - Identify the entire removable device, not a partition. Writing the wrong target destroys whatever is on it.
Open the stick without booting
Newly assembled distribution images expose a separate LEXISUITE FAT32 volume next to the boot partition. The EFI system partition is for firmware, not for copying the installer to a desktop computer.
| Computer | What appears when the stick is inserted | What to open |
|---|---|---|
| Windows 10 (1703 or later) / Windows 11 | LEXISUITE removable volume in File Explorer |
README.html, then
windows/LexiSuite-Setup.exe when supplied in the
release |
| macOS | LEXISUITE volume in Finder |
README.html, then
macos/Install LexiSuite.command when supplied |
| Linux | LEXISUITE FAT32 volume in the file manager or mount
list |
README.html, then linux/lexisuite-install
when supplied |
The image builder does not create native installer
executables: they and the portable program files must already
exist in the release's staging directory. The volume contains
windows/, macos/, linux/,
suite/ and docs/ only when those folders were
supplied. The builder creates README.html,
MANIFEST.json (build identity, optional pinned source
commit, version, relative paths, sizes and SHA-256 digests) and
SHA256SUMS. Paths with invalid FAT32 names, symlinks and
files of 4 GiB or more are rejected. Large model files belong on
LEXIDATA, not FAT32.
From a terminal in the volume's root, run
sha256sum -c SHA256SUMS on Linux, or
shasum -a 256 -c SHA256SUMS on macOS. On Windows,
PowerShell's Get-FileHash -Algorithm SHA256 computes a file
digest for comparison with SHA256SUMS or
MANIFEST.json. SHA256SUMS covers the manifest
and all payload files except itself, since a checksum file cannot
contain its own hash. An installer must not be trusted merely because it
has a plausible filename; verify the release signature and checksums
first.
The USB image also contains a separate, read-only
LEXIOS_INSTALL SquashFS partition with the installer source
for a live-system install to an internal disk. This is
not the same thing as the desktop installers on
LEXISUITE. LEXIDATA remains the last partition on disk and
is eligible for first-boot growth on the documented single- and
dual-kernel layouts.
For image integrators, the development assembly entry point now requires both sources:
lexios-image usb image --kernel KERNEL.EFI --initrd INITRD.CPIO \
--media-tree ./media-staging --install-tree ./install-staging \
--out ./lexisuite.img --size 16G --development-only yes
The authenticated A/B release builder accepts the same two source
directories and includes both volumes in its partition plan and release
receipt, which still needs external signing. Its
build-offline.sh wrapper accepts the two directories as its
final arguments (or through LEXISUITE_MEDIA_TREE and
LEXIOS_INSTALL_TREE). Release publication still requires
independent signing and qualification; staging files are not a
substitute for a release signature. Set
LEXISUITE_BUILD_COMMIT to the pinned 40-character lowercase
commit digest for the manifest; when it is absent,
build_commit is null rather than an invented commit. The
desktop Panel's automatic media-verification interface is separate from
the image-builder work and must be integrated before it can
automatically report a changed or missing file.
Recommended on Linux —
install-to-usb.sh
When the release includes install-to-usb.sh, put it in
the same folder and run:
bash install-to-usb.sh --dry-run # every check, nothing written, no root needed
sudo bash install-to-usb.sh # writes the newest image in the folder
It verifies the image against its .sha256 file, offers
only USB disks, refuses a disk that holds a mounted system folder or is
too small, asks you to type the disk's name, writes the image, clears
the old backup partition table at the end of the stick, reads the whole
image back and compares it, then ejects. You can also name the image and
the disk: sudo bash install-to-usb.sh IMAGE /dev/sdX.
Option A — balenaEtcher
- Select Flash from file and choose the verified
.img.xzarchive; the application handles decompression. - Select the intended USB device, verifying its capacity and identity.
- Select Flash, approve the disk write and wait until the application finishes its verification/ejection procedure.
- Safely remove the stick. Do not copy the
.xzfile onto a normal filesystem expecting it to boot.
Option B — Raspberry Pi Imager
- Choose the custom image option and open the
verified
.img.xzarchive. - Select Storage and verify the intended USB drive.
- Select Write, confirm the destructive action and allow the operation to finish. The application accepts the compressed image directly.
- Eject the stick. Do not select unrelated operating system presets.
Option C — Linux command line
(dd)
Verify the archive first with
sha256sum -c LexiSuite-<id>-secureboot-dev.img.xz.sha256,
then identify the device:
lsblk -o NAME,SIZE,MODEL,TRAN,RM,MOUNTPOINTS
Replace /dev/sdX only after independently
verifying its model, capacity and removable status.
/dev/sdX is a descriptive placeholder, not
a real drive to copy literally. Unmount partitions of the selected stick
if they were automounted, and check the selected whole-disk destination
again. Then run:
xz -dc LexiSuite-<id>-secureboot-dev.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress
sync
Because this is a pipe, dd can finish after
xz fails. For a safer script, enable
set -o pipefail in a Bash shell, and treat
any nonzero exit as failure:
set -o pipefail
xz -dc LexiSuite-<id>-secureboot-dev.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress
For extra integrity assurance, compare the SHA-256 of the
decompressed .img stream with the release's
.img.sha256 file before flashing. Do not confuse
it with the archive's .img.xz.sha256 digest.
Boot and verify
- Reboot into the machine's UEFI boot-device menu and choose the USB entry, not the internal system disk.
- With Secure Boot enabled, the development certificate must first be
appended to the trusted
db. A refusal before enrollment is expected and protects against unknown signing keys. - Choose 1 LexiKernel or 2 LexiOS on Linux 7.4. Start with 2 on a new machine.
- On first boot the
LEXIDATApartition and filesystem grow to fill the stick; this behavior was verified on a physical stick and in a virtual machine. - Continue to First Boot and create the administrator account immediately. Enter the setup code if the machine's screen shows one.
Write and boot controls
| Control | Meaning |
|---|---|
| Flash from file / custom image | Picks the downloaded compressed disk image; must match the checksum. |
| Select target / Storage | Picks the device to erase; recheck model and size before confirmation. |
| Flash / Write | Destroys the selected device's existing data and installs the disk image. |
| UEFI boot menu | Starts the USB's loader rather than the installed internal operating system. |
| 1 LexiKernel / 2 LexiOS on Linux 7.4 | Selects the experimental or Linux-backed runtime. |
If a device is not detected, fails to boot, or will not enroll a key, see Troubleshooting, Hardware and Secure Boot.