forked from Mirror/pmbootstrap
At the moment, pmbootstrap updates the kernel and the initfs whenever using the flasher or export. This is useful, but sometimes you just want to boot exactly the same kernel several times. In that case, having to wait several seconds for the (redundant) update to complete is quite annoying. Add a --no-install option that allows skipping the kernel/initfs update.
33 lines
1 KiB
Python
33 lines
1 KiB
Python
import glob
|
|
import logging
|
|
import os
|
|
|
|
import pmb.helpers.run
|
|
import pmb.helpers.frontend
|
|
import pmb.chroot.initfs
|
|
import pmb.export
|
|
|
|
|
|
def frontend(args):
|
|
# Create the export folder
|
|
target = args.export_folder
|
|
if not os.path.exists(target):
|
|
pmb.helpers.run.user(args, ["mkdir", "-p", target])
|
|
|
|
# Rootfs image note
|
|
chroot = args.work + "/chroot_native"
|
|
pattern = chroot + "/home/pmos/rootfs/" + args.device + "*.img"
|
|
if not glob.glob(pattern):
|
|
logging.info("NOTE: To export the rootfs image, run 'pmbootstrap"
|
|
" install' first (without the 'sdcard' parameter).")
|
|
|
|
# Rebuild the initramfs, just to make sure (see #69)
|
|
flavor = pmb.helpers.frontend._parse_flavor(args, args.autoinstall)
|
|
if args.autoinstall:
|
|
pmb.chroot.initfs.build(args, flavor, "rootfs_" + args.device)
|
|
|
|
# Do the export, print all files
|
|
logging.info("Export symlinks to: " + target)
|
|
if args.odin_flashable_tar:
|
|
pmb.export.odin(args, flavor, target)
|
|
pmb.export.symlinks(args, flavor, target)
|