1. 09 Feb, 2024 1 commit
  2. 03 Jul, 2023 1 commit
  3. 30 Dec, 2022 1 commit
  4. 21 Feb, 2022 1 commit
  5. 30 Aug, 2021 1 commit
  6. 18 Jun, 2021 1 commit
  7. 20 May, 2021 1 commit
  8. 30 Apr, 2021 1 commit
  9. 28 Apr, 2021 1 commit
  10. 26 Nov, 2020 1 commit
  11. 22 May, 2020 1 commit
  12. 07 Apr, 2020 1 commit
  13. 16 Sep, 2019 1 commit
    • Ivan Melnikov's avatar
      build-vm, main.mk, pack: add recovery.tar · dc598719
      Ivan Melnikov authored
      recovery.tar needed for tavolga (mipsel).
      This commit is the result of transferring the required functionality
      from build-mr (mipsel rootfs).
      This change uses external tool to build Tavolga-compatible
      recovery.tar. This simplifies the logic and avoids having
      recovery workdir in the profile.
      After this change, m-p will require tavolga-image-tools >= 3.0.
      dc598719
  14. 19 Aug, 2019 3 commits
    • Ivan A. Melnikov's avatar
      build-vm: Don't copy in .host/qemu* if tar2fs won't be called · 2e70a8f8
      Ivan A. Melnikov authored
      (gkebfm@ thinks it was a terrible idea in the first place
      and mike@ agrees; this is a rework TODO item)
      2e70a8f8
    • Anton Midyukov's avatar
      build-vm, pack: implement tar, tar.gz, tar.xz support for vm/* target · 1ef77caf
      Anton Midyukov authored
      build-vm ceases to be a target for building only virtual machine images.
      Now it can be used to build tarballs designed for installation on real
      machines.
      
      This commit is the result of transferring the required functionality from
      build-mr (mipsel rootfs) by Ivan Melnikov <iv@altlinux.org>.
      
      NB: mike@ strongly objected to this dilution but gave up eventually;
          the whole kernel/build-vm/tar2fs/pack mess should be split into
          distinct layers busy with their own responsibilities:
      
          1) a tarball with kernel is done without tar2fs at all
             (and no build-vm bits should be needed either, maybe
             it's worth splitting and renaming as "vm" meaning
             disk image for some armh board is grossly misleading);
      
          2) a tarball with kernel can be further (multi-)packed
             as, well, (compressed) tarball and a disk image
             (only the latter one should employ build-vm/tar2fs);
      
          3) compression should be done in pack feature style,
             preferably described once and not duplicated all over
             the profile for every single new kind of its output.
      
          In the mean time, running into this and moving no further
          starts to hurt more than it could help.
      1ef77caf
    • Anton Midyukov's avatar
      build-vm, kernel, tar2fs: make-initrd happens now in build-vm · 27674e29
      Anton Midyukov authored
      NB: 07-kernel change breaks multi-kernel setup!
      
      Breaks: 650e92bf
      27674e29
  15. 04 Mar, 2019 2 commits
  16. 25 Dec, 2018 1 commit
    • Ivan A. Melnikov's avatar
      Use correct path for system tar2fs · 98a9c1f3
      Ivan A. Melnikov authored
      tar2fs comes from m-p, not from mkimage. Also, we should
      use $TOPDIR from shell, not $(TOPDIR) from make, when
      calling it.
      
      Note: this is a security fix for environments relying
      on packaged mkimage-profiles with sudo enabled for the
      builder user.
      
      Fixes: f293239d
      98a9c1f3
  17. 15 Feb, 2018 1 commit
  18. 14 Feb, 2018 1 commit
  19. 04 Dec, 2017 2 commits
  20. 21 Aug, 2017 2 commits
  21. 14 Jan, 2017 1 commit
    • Michael Shigorin's avatar
      90-build-vm.mk: better error reference · d28950ca
      Michael Shigorin authored
      In this case it's rather worth it to examine build.log
      than read documentation again (as vm.txt should have been
      read or at least skimmed through to get sudo setup ready,
      and the problem might be either an environment one or a bug).
      d28950ca
  22. 07 Nov, 2016 1 commit
    • Michael Shigorin's avatar
      build-vm: try system tar2fs first · f293239d
      Michael Shigorin authored
      It's at least removing the very obvious user->root
      attack through (maliciously) modifying bin/tar2fs
      and waiting for it to be run; if mkimage-profiles
      is installed system-wide as a package, the script
      from /usr/share/mkimage-profiles will be tried so
      those willing to allow vm/* build to themselves
      can provide for a passwordless sudo (as described
      in doc/vm.txt) to run a root-only writable script,
      not user-writable.
      
      Still not perfect but a step away from the abyss.
      f293239d
  23. 20 Feb, 2015 1 commit
  24. 17 Jun, 2013 3 commits
    • Michael Shigorin's avatar
      tar2vm: rewrote as tar2fs · d7689f30
      Michael Shigorin authored
      Overview of the changes:
      - ARM support: separate ext2 /boot, no LILO
      - avoid race condition with devmapper
      - trap ERR so that -e in shebang doesn't result in extra cleanup hassle
      - configurable root filesystem type (ext4 by default)
      - jumps through parted hoops
      
      Details:
      
      1. LILO is x86-specific while the rest of the script can be used
         to prepare e.g. Marvell ArmadaXP or CuBox images; we can generally
         count on uboot supporting ext2 for relatively sane platforms but
         not ext4 that would be a better root filesystem performance-wise.
      
      2. Apparently /dev/mapper/loopXpY can be still missing at the time
         when kpartx returns and pop up a bit later... sit there, wait
         and check for it.
      
      3. If something went wrong with any command of the script it would bail out
         due to -e in shebang; it is now better to clean up the loopback device
         and its mappings in this situation either.
      
      4. One size doesn't fit all, really.
      
      5. The parted sizing was sloppy as in broken, now it's just half insane.
         Someone's decision to stick units and auto-alignment knobs into
         a single one was apparently hilarious...
      
         http://www.gnu.org/software/parted/manual/parted.html#unit
      
      Manual loop/dm cleanup is described in documentation just in case.
      
      /boot size meter is suboptimal in terms of additional I/O incurred,
      will be most likely rewritten to make use of advance "du -s".
      d7689f30
    • Michael Shigorin's avatar
      initial deflogin feature (security sensitive!) · d22c793e
      Michael Shigorin authored
      The feature officially introduces the "engineering passwords"
      including empty ones which have been around since forever but
      weren't properly managed (and still are not, at least until
      there are no stray passwd/chpasswd/usermod calls in both the
      profile, installer-features and all the other related parts).
      
      It is based on an m-p-d init3-users script by stanv@ but was
      cleaned up and restructured in a pretty severe manner; thanks
      glebfm@ for additional discussion.
      
      This also cleans up the kludge previously stuck into build-vm.
      
      Note that vm/icewm sports graphical autologin now as well as
      the default root password (which can be overridden by passing
      ROOTPW=... to make but it is a change from the previous state
      of affairs indeed).
      d22c793e
    • Michael Shigorin's avatar
      build-{ve,vm}: handle THE_* and DOT_BASE too · ee5dd31a
      Michael Shigorin authored
      Classic VEs don't carry any kernel since these are running
      under a single OpenVZ (or potentially LXC) kernel image;
      ARM Multiboot (TWRP in this particular case) allows to boot
      off a chroot via kexec, and we need a kernel in it for that,
      obviously.
      
      No bootloader required inside such VE though.
      ee5dd31a
  25. 16 Jul, 2012 1 commit
  26. 02 Jul, 2012 1 commit
    • Michael Shigorin's avatar
      proxy CLEANUP_PACKAGES down · fcf41f22
      Michael Shigorin authored
      mkimage implementation requires that the variables
      to be passed to the scripts are to be prefixed with
      GLOBAL_ or INFO_ tags as appropriate; in this case
      the upstream makefile didn't care to.
      fcf41f22
  27. 30 Jun, 2012 1 commit
    • Michael Shigorin's avatar
      build-vm: avoid dummy raw2raw conversion · 0e9a8736
      Michael Shigorin authored
      It's better to rather just move the raw image instead
      of specifically converting it into the same, and there's
      no need for qemu-img altogether then.
      
      Let's drop the intermediate raw image after successful
      conversion as well.
      0e9a8736
  28. 25 Jun, 2012 2 commits
    • Michael Shigorin's avatar
      initial vm-{net,ssh} features · 09be84be
      Michael Shigorin authored
      A virtual machine isn't very useful if there are no means
      to access it; let's bring up the basic networking and provide
      root SSH access via pre-existing public key.
      
      As the remote access with known default credentials is roughly
      equivalent to just lending one's VMs to anyone with network
      access to it, the fallback root password is now exterminated;
      you have to provide one (or a long enough random string
      if you plan to use keys only, see e.g. apg utility).
      09be84be
    • Michael Shigorin's avatar
      initial specific VM formats support · 8a04d9b6
      Michael Shigorin authored
      Raw disk images are convenient and universal
      but there are custom formats like Qemu's qcow2
      providing additional features, e.g. copy-on-write
      or space savings.  All of this ultimately belongs
      to mkimage but in the mean time has been implemented
      here as well.
      8a04d9b6
  29. 18 Jun, 2012 1 commit
    • Michael Shigorin's avatar
      initial build-vm feature · 75f7c62b
      Michael Shigorin authored
      Yes, mkimage-profiles is now able to build VM disk images.
      So far the support is pretty basic:
      
      - a single hard drive image with a single partition/FS
      - only stock root password is configurable
      - LILO is hardwired as a bootloader
      
      The resulting images tend to boot under qemu/kvm though.
      
      Please see doc/vm.txt for the warning regarding additional
      privileges and setup required.  This was started back in
      February but I still hoped to avoid sudo/privileged helper
      (and libguestfs is almost as undistributable as can be)...
      
      Thanks:
      
      - http://blog.quinthar.com/2008/07/building-1gb-bootable-qemu-image-using.html
      - Alexey Morarash who reworked that as https://github.com/tuxofil/linsygen
      - led@, legion@, vitty@, aen@ for providing advice and inspiration
      75f7c62b