pmbootstrap chroot --install-blockdev: new option

Create /dev/install inside the chroot from a block device, just like
done during the installation. This is useful for testing the Calamares
installer.
This commit is contained in:
Oliver Smith 2020-06-04 11:19:44 +02:00
parent ac7d66fade
commit 9da12415b8
No known key found for this signature in database
GPG Key ID: 5AE7F5513E0885CB
2 changed files with 12 additions and 0 deletions

View File

@ -25,6 +25,7 @@ import pmb.helpers.run
import pmb.helpers.aportupgrade
import pmb.helpers.status
import pmb.install
import pmb.install.blockdevice
import pmb.parse
import pmb.qemu
@ -132,6 +133,13 @@ def chroot(args):
env["DISPLAY"] = os.environ.get("DISPLAY")
env["XAUTHORITY"] = "/home/pmos/.Xauthority"
# Install blockdevice
if args.install_blockdev:
size_boot = 128 * 1024 * 1024 # 128 MB
size_root = 4096 * 1024 * 1024 # 4 GB
pmb.install.blockdevice.create_and_mount_image(args, size_boot,
size_root)
# Run the command as user/root
if args.user:
logging.info("(" + suffix + ") % su pmos -c '" +

View File

@ -497,6 +497,10 @@ def arguments():
help="Copy .Xauthority and set environment variables,"
" so X11 applications can be started (native"
" chroot only)")
chroot.add_argument("-i", "--install-blockdev", action="store_true",
help="Create a sparse image file and mount it as"
" /dev/install, just like during the"
" installation process.")
for action in [build_init, chroot]:
suffix = action.add_mutually_exclusive_group()
if action == chroot: