-
Notifications
You must be signed in to change notification settings - Fork 69
squash tool usage
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.
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.
This mode creates a tarball that can then be used to create images, install to devices or update existing installs.
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.
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").
Mostly for internal purposos, this creates a minimal initramfs that bootstraps the boot process.
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.
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.