Skip to content
soul9 edited this page Nov 23, 2014 · 6 revisions

squash-tool is an alternate installer for sabotage. It can create install or live system, bootable with either MBR or uEFI.

squashfs is a read-only filesystem for linux, this means that you will need to adapt your filesystem before installation.

squash-tool can additionally configure an rw partition using ext4 or btrfs.

Modes

squash-tool install

Will install a squash-based sabotage system to a device or image file.

warning: this will clobber a whole device

usage is: squash-tool install path fat_size (n|rw_type image_size)

If path is not a block device, it is assumed to be an image file. In this case the total image size has to be given along with the boot fat partition. If path is a block device, whole-device install is assumed and the image_size argument is not needed (it is ignored)

rw_type is the read-write filesystem. for this to work you will need to mount it in /etc/fstab (there are comments in that file that should help.

sizes can be given as for dd (they are passed directly to dd), with suffxes M G and T for Megabyte, Gigabyte and Terabyte respectively.

squash-tool tarball

This mode creates a tarball that can then be used to create images, install to devices or update existing installs.

squash-tool chroot

To use the tool from a tarball, you should extract it and then use "./squash-tool chroot .", from in here you can customize your install (using bind mounts) and then install to a device or image (or even create a new tarball). To have files persist after exiting the chroot, you should use the /tmp/boot directory which is the directory the tarball was extrated to.

squash-tool srctar

usage is: squash-tool srctar dst.tar.xz do_tar_build

This makes a tarball of /src, optionally including the build and tarballs directory (if do_tar_build is "yes").

squash-tool mkinitramfs

Mostly for internal purposos, this creates a minimal initramfs that bootstraps the boot process.

squash-tool update

usage is: squash-tool update src dst bootdev

src and dst should be directories like the one extracted from a tarball that was made using "squash-tool tarball".

bootdev should be the boot partition

This will move the kernel, initramfs, squashfs and src tarball in dst to be named old, and moves the ones from src to be the default boot. it will also update the bootloader configuration. After this, you will have two boot options: one to boot your old root+initramfs+kernel, and the default to boot the new one.

interactive mode

if install is called without arguments, it should start to ask questions interactively. This is highly experimental and will prbably launch a nuke. Or something.