1. 22 May, 2020 3 commits
  2. 01 May, 2020 1 commit
  3. 07 Apr, 2020 3 commits
  4. 30 Sep, 2019 1 commit
    • Anton Midyukov's avatar
      build-vm: drop 04-inittab · 8d4c0940
      Anton Midyukov authored
      Not used by systemd and looks obsolete generally
      as sysvinit-based disk images aren't really targeting
      low-resource systems these days _by default_ but rather
      _can_ target those as well; feel free to reconstruct
      these "RAM saving" bits as a part of e.g. lowmem patch.
      8d4c0940
  5. 16 Sep, 2019 2 commits
    • Anton Midyukov's avatar
      build-vm: 07-kernel: all initrd modules are optional · 0fe6b1ee
      Anton Midyukov authored
      The problem at hand is that different kernels can have
      varying module sets, and it makes sense to put four of
      those at once sometimes; so avoid silly build breakage.
      0fe6b1ee
    • 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
  6. 30 Aug, 2019 1 commit
  7. 19 Aug, 2019 5 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
      8e1dd12f
    • Anton Midyukov's avatar
      05d62831
    • 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
  8. 04 Mar, 2019 2 commits
  9. 14 Jan, 2019 1 commit
  10. 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
  11. 21 May, 2018 1 commit
  12. 04 Apr, 2018 1 commit
  13. 15 Feb, 2018 1 commit
  14. 14 Feb, 2018 1 commit
  15. 04 Dec, 2017 2 commits
  16. 21 Aug, 2017 2 commits
  17. 02 Aug, 2017 1 commit
    • Michael Shigorin's avatar
      build-vm, tar2fs: unify kver handling · 3d7a0c5c
      Michael Shigorin authored
      No need to deduce kernel version again,
      just save it in a temporary file.
      
      The main reason to change what worked is
      that e2k kernel-image package has Linux bits
      named as image-$kver and not vmlinuz-$kver;
      the guessing logic taking all of this into
      account resulted in non-aesthetic patch.
      
      NB: there's a duplicating script within
          kernel feature; it wasn't easy to avoid
          this and it might differ when handling
          multiple kernels, I didn't think much
          about this now as vm images tend to ship
          with the sole one.
      3d7a0c5c
  18. 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
  19. 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
  20. 20 Feb, 2015 1 commit
  21. 05 Jan, 2015 1 commit
  22. 28 Apr, 2014 1 commit
  23. 05 Mar, 2014 1 commit
    • Michael Shigorin's avatar
      documentation: use paths relative to toplevel dir · 3f547e25
      Michael Shigorin authored
      This change is done to reduce ambiguity in some cases;
      the previous intention has been to ease navigation when
      staying in a particular directory, now it's been changed
      in favour of convenient toplevel `git grep' in fact.
      
      Both variants have their pros and cons, I just find myself
      leaning to this one by now hence the commit.  Feel free to
      provide constructive criticism :)
      
      Some path-related bitrot has also been fixed while at that.
      3f547e25
  24. 17 Jun, 2013 4 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
    • Michael Shigorin's avatar
      initial rootfs subprofile and services feature · 67adab49
      Michael Shigorin authored
      This subprofile is akin to THE_* variables family: the configuration
      bits and script hooks sitting there influence whatever chroot is
      declared to be the user facing one in the end, whether it comes
      from vm image or live subprofile.
      
      The services feature ought to be a changeset of its own which would
      be based on rootfs and become the base for ve/vm changes but I chose
      to just do it atomically; some pre-existing duplicates are pruned now.
      67adab49
  25. 06 Jan, 2013 1 commit