1. 30 Dec, 2022 1 commit
  2. 12 Apr, 2021 1 commit
  3. 26 Sep, 2020 1 commit
    • Michael Shigorin's avatar
      stage2: include targets.mk once · 31f280c0
      Michael Shigorin authored
      Partially reverts commit e8f63357
      which has added an overlooked second `include targets.mk' which
      began spamming build.log immediately:
      
        /usr/share/mkimage/targets.mk:23: warning:
          overriding recipe for target `__profile_internal_rule'
        /usr/share/mkimage/targets.mk:23: warning:
          ignoring old recipe for target `__profile_internal_rule'
      
      *sigh*
      31f280c0
  4. 17 Aug, 2020 1 commit
  5. 22 May, 2020 1 commit
  6. 23 May, 2016 1 commit
    • Konstantin A. Lepikhov's avatar
      sub.in/stage2: Added copy-tree to stage2 · e8f63357
      Konstantin A. Lepikhov authored
      stage2 only allows to run certain scripts and install packages, but
      sometimes one need just to copy something to stage2 (like stage1 does).
      
      How to use:
      
      put files under ./files directory with the same structure as on
      resulting image.
      e8f63357
  7. 19 Sep, 2014 1 commit
    • Michael Shigorin's avatar
      fix kpackages() API · 6f452182
      Michael Shigorin authored
      This function's got its argument order chosen for "aesthetical"
      reason of $(2) following $(1) in the macros but the logical order
      is exactly the opposite: we care for kernel flavour much more than
      for module set (which is dependent upon it).
      
      So while silent dropout of kernel-image if KFLAVOURS is set
      but KMODULES is empty could be fixed by testing for $(2) only,
      it looks like a good time to fix this discrepancy altogether.
      6f452182
  8. 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
  9. 10 Oct, 2012 1 commit
    • Michael Shigorin's avatar
      make-3.82 adaptation · 6f5be918
      Michael Shigorin authored
      The issue actually hit image.in/Makefile: "metadata" target
      in features.in/metadata/lib/50-metadata.mk wasn't reached
      even if features.in/build-distro/lib/90-build-distro.mk
      would ACK that the "whatever" actions included "metadata";
      thus Metadata/pkg-groups.tar wasn't created and the installer
      silently failed to install the .base system.
      
      Let's armour the rest of the cases where the order of inclusion
      might be important as well.
      6f5be918
  10. 14 Jun, 2012 1 commit
    • Michael Shigorin's avatar
      added plymouth feature · 8989fc27
      Michael Shigorin authored
      An initial draft of it was done half a year ago but several tricky
      thingies had kept the code from showing up as it was rather brittle
      and incomplete.
      
      This implementation involves quite a few changes all over the place
      but finally works good enough for live and installer images.
      
      Please pay attention to the versions of these packages:
      - installer-feature-setup-plymouth (0.3.2-alt1+)
      - branding-altlinux-sisyphus (20110706-alt2+ if used)
      - plymouth (0.8.3-alt20.git20110406+)
      
      See also:
      - http://www.altlinux.org/Branding
      - http://www.altlinux.org/Plymouth
      8989fc27
  11. 25 Apr, 2012 1 commit
  12. 10 Apr, 2012 1 commit
    • Michael Shigorin's avatar
      implemented {THE,BASE,LIVE}_PACKAGES_REGEXP · 86c42e2d
      Michael Shigorin authored
      There were STAGE1_PACKAGES_REGEXP and MAIN_PACKAGES_REGEXP
      but adding more of those was postponed to avoid bloat and
      bitrot; THE_PACKAGES_REGEXP is needed for use/firmware now
      and looks like BASE_PACKAGES_REGEXP and LIVE_PACKAGES_REGEXP
      will be useful before too long either.
      
      Docs updated to include stage-specific package related vatiables.
      86c42e2d
  13. 09 Apr, 2012 1 commit
    • Michael Shigorin's avatar
      stage2: 99-elf-stats for squashfs tuning · c2996cc4
      Michael Shigorin authored
      This kind of test was proposed by led@ to gather statistics
      on chroot's contents going to become squashfs (the script
      optimizations lowering added overhead from ~10 sec down
      to a subsecond range were also proposed by him).
      
      Intentionally not documented in doc/variables.txt due to
      the rather lowlevel nature of the probe (at least so far).
      
      The knobs involved are SQUASHFS (the additional effort kicks
      in only for "tight" case) and GLOBAL_SQUASHFS_SORT (must be
      non-empty for this extra overhead to occur).
      
      Additional experimentation is needed to find out whether
      the difference in squashfs size and performance is worth
      the trouble (seems the impact is non-zero but pretty minor).
      c2996cc4
  14. 19 Dec, 2011 1 commit
    • Michael Shigorin's avatar
      introduced THE_{KMODULES,PACKAGES,LISTS,GROUPS} · d6972a39
      Michael Shigorin authored
      As too many things started duplicating between distros proper
      and (e.g. corresponding) LiveCDs, it became apparent that a class
      of entities which end up working for THE_USER (not a sysadmin,
      and not a developer, just a Linux user) is in need.
      
      So THE_KMODULES will power installed basesystem and live image,
      while THE_PACKAGES, THE_LISTS and THE_GROUPS will participate
      in building those.
      d6972a39
  15. 04 Nov, 2011 16 commits
    • Michael Shigorin's avatar
      stage2-based debug fixup · 6a280d75
      Michael Shigorin authored
      Employed double colon targets to eliminate
        warning: ignoring old commands for target `debug'
      6a280d75
    • Michael Shigorin's avatar
      official {distro,ve}/* support · d5a5941f
      Michael Shigorin authored
      This is quite a large-scale change since mkimage-profiles got used to
      baking distributions over the last year, and virtual environments are
      quite different, so e.g. image.in/Makefile had to be split in two with
      the main part of it moved into features.in/iso/lib/.
      
      Short overview:
      
      - features.in/Makefile: lib/ support
        (supporting VE images requires dynamic modifications
        to image.in/Makefile before starting the build;
        the most natural way to achieve that seems to use
        features mechanism along with makefile include dir)
      
      - packaging format related part moved into features.in/pack
        (should be better prepared for diversity either)
      - features.in/iso renamed to features.in/build-distro
      - features.in/ve  renamed to features.in/build-ve
        + NB: these could not be merged as e.g. features.in/build
          due to completely different script hooks
      
      - lib/image.mk renamed to lib/build.mk
      - image, config, log postprocessing moved downstream
      - added a sort of a topping in the form of lib/sugar.mk
      - assorted style fixups (like ifeq usage)
      
      - clean.mk: reliability fix (the problem was observed by Oleg Ivanov
        and me too but finally it did get the attention quantum)
      
      - reviewed, updated and extended docs
        + QUICKSTART: should be[come] a step-by-step guide
          (thanks Leo-sp50 for prodiving feedback)
      d5a5941f
    • Michael Shigorin's avatar
      initial features.in/cleanup · c5bf0529
      Michael Shigorin authored
      This is a sort of anti-feature which removes and not builds;
      still with mkimage-profiles' approach we can at least build
      up the removal procedures as well.
      
      It's what triggered the tagged scripts, BTW.
      c5bf0529
    • Michael Shigorin's avatar
      COMMON_PACKAGES and SYSTEM_PACKAGES · 774169c6
      Michael Shigorin authored
      It was clear that "common" isn't very apt for packages that
      will get *everywhere*, and became apparent when the need for
      a "base+live packages" variable arrived with powerbutton feature.
      
      So:
      - the former COMMON_PACKAGES are now SYSTEM_PACKAGES;
      - COMMON_PACKAGES act as "BASE+LIVE_PACKAGES".
      
      Note that SYSTEM_PACKAGES also got factored out from stage2 based
      features into stage2 subprofile itself; cleanups were due as well.
      774169c6
    • Michael Shigorin's avatar
      stage2 based live subprofiles, updated docs · f5a8b893
      Michael Shigorin authored
      - introduced generic stage2 subprofile (non-standalone)
      - ported installer and rescue over to stage2/{install2,rescue}
      - initial stage2/live (needs more work for sure)
      - use make-initrd-propagator
      - updated and somewhat extended doc/
      
      NB: mind #26133, #26134
      f5a8b893
    • Michael Shigorin's avatar
      initial rescue image · 0e57149d
      Michael Shigorin authored
      NB: this implementation is awfully cut-n-paste one,
      there are lots of common code with install2
      which are subject to careful surgery
      0e57149d
    • Michael Shigorin's avatar
      prepare for multiple live images · 5569b4fc
      Michael Shigorin authored
      s,INSTALLER_KFLAVOUR,STAGE1_KFLAVOUR,g
      s,INSTALLER_KMODULES,STAGE1_KMODULES,g
      
      install2 isn't the only livecd around;
      so far all of these share the same kernel
      in m-p-d, and we'd rather need two+ kernels
      with dual-arch media or so; let's not complicate
      things too much at this point
      5569b4fc
    • Michael Shigorin's avatar
      clean.mk and friends: introduced CLEAN control variable · 878abab5
      Michael Shigorin authored
      make CLEAN=1 will prune workdirs after packing their results,
      so disk (or preferably tmpfs) usage will be lower
      878abab5
    • Michael Shigorin's avatar
      sub.in/install2/Makefile: enforce a kernel · 50e0779f
      Michael Shigorin authored
      A bit earlier the situation where there was a stage1 fallback
      for INSTALLER_KFLAVOUR as the last of KFLAVOURS, so we'd have
      an installer kernel or build would break; now the situration
      got somewhat twisted: there could be a vmlinuz in stage1 but
      no corresponding modules in install2 -- which can lead to
      different surprises but at least alterator-vm would complain
      about "Operation not permitted" on partition layout commit.
      
      The fallback is a copypaste from sub.in/stage1/Makefile though
      and should be redone properly somewhere.  The question so far
      is, where exactly?
      50e0779f
    • Michael Shigorin's avatar
      pass squashfs options from stage1 test to install2 · 5c571b9a
      Michael Shigorin authored
      This looks a bit weird (two subprofiles become a bit more
      tightly coupled) but in fact install2 does depend on stage1,
      and if stage1 doesn't create squashcfg.mk then install2 is
      just fine with defaults (provided they fit the installer kernel
      used).  A proper mkimage test infrastructure might be handy though.
      
      Also there:
      - 01-initfs: partial cleanup (bootsplash is obsolete anyways)
      - regarding 03-test-kernel's errorlevel test:
        if 0, 1 and 2 need to be distinguished, "!" MUST NOT be used
        as it negates so that 0 becomes 1 and the rest becomes 0
      5c571b9a
    • Michael Shigorin's avatar
      installer firmware support · e53b6acb
      Michael Shigorin authored
      Thanks go to lakostis@ (see #18047) for all the aic94xx reminders
      and the final testing of the proposed image.
      e53b6acb
    • Michael Shigorin's avatar
      kernel and BUILDDIR fixes · c2f70e5c
      Michael Shigorin authored
      - image.in/functions.mk: rework kpackage()
        + it takes two arguments explicitly now: this adds some noise
          for "generic" invocations but is rather less messy with recently
          introduced STAGE1_KFLAVOUR (which in its turn is rather cleaner
          than messing with KFLAVOURS, especially since soemthing changed
          in presumably apt and we can't rely on kernel packages being
          installed in the order formed).
      - BUILDDIR/DEBUG related fixes
        + Makefile: BUILDDIR initialization moved to distro.mk
      - build.log += git info
      c2f70e5c
    • Michael Shigorin's avatar
      server-ovz; KDEFAULT; syslinux features reworked · 3f012958
      Michael Shigorin authored
      Renamed server-light.iso into server-ovz.iso to avoid brand dilution
      and confusion (rider@'s server-light rather favours kvm, anyways).
      
      Introduced KDEFAULT: a reliable default kernel chooser knob
      since apt's regex ordering proved pretty unreliable.
      Spelling things explicitly is better anyways.
      
      SYSLINUX related features undergone pretty major rewrite
      (that includes syslinux, hdt and memtest).
      
      The problem to tackle was features.in/syslinux/generate.mk
      assuming syslinux and pciids available in build *host* system;
      this well might not be the case (or worse yet, those can be
      just different).  So now we're a bit less elegant and a bit
      more enterprise, stuffing things into chroot and working there.
      
      Bunch of other fixes along the road, including ; to name a few:
      - fixed memtest entry (overlooked while renaming SYSLINUX_ITEMS)
      - new and shiny doc/CodingStyle
      - gfxboot, stage1 target chain, hdt tweaks
      - distro.mk rehashed
      - README++
      - TODO: dropped (integer overflow anyways)
        + actually moved off-tree to reduce commit spam
      - s,\.config\.mk,distcfg.mk,g
      - doc/profiles.mk.sample: sample ~/.mkimage/profiles.mk
      - ...and assorted fixups/additions
      
      Sorry for convoluted commit, this would have been pretty hard to
      rework into some really readable shape (and you might be interested
      in the original repo's history horrors then, anyways).
      3f012958
    • Michael Shigorin's avatar
      assorted fixups · ace5cb0f
      Michael Shigorin authored
      - more thorough build stages inline doc
      - quieter BUILDDIR instantiation
      - branding-altlinux-sisyphus by default
      - prettify installer selection somewhat
      - mkimage #24669 fixed upstream
      - sub.in/stage1/modules: +drm (as in m-p-d, for KMS)
      - tags2lists: generalize a bit
      ace5cb0f
    • Michael Shigorin's avatar
      kernel day · 16e763e9
      Michael Shigorin authored
      - drop hardwired kernel flavour from pkglists
      - today's std-ng lacks aufs, let's switch to un-def
      - second assault at KERNEL_PACKAGES_REGEXP
      - re-introduced kpackages (builds ok)
      
      PS: base lists: switch to grub, add udev, cleanup
      16e763e9
    • Michael Shigorin's avatar
      drop autoconf, a few vars in .mk suffice · d77e1d8d
      Michael Shigorin authored
      A major change in approach largely thanks to discussions
      with Alexey Cheusov but also well aligned with my own findings:
      autoconf doesn't let the variables to form an inheritance.
      
      And data flow described at http://www.altlinux.org/WhiteLabel
      (which in its turn was born thanks to Gavin Henrick of Diva Telecom
      and to Alexander Bokovoy of SaM-Solutions) is really dependent on
      the existence of such an inheritance.
      
      Also:
      - distro.mk += try()
      - "hide" special targets
      - fixed wrt distro/.{base,init,metaconf}, thx gns@
      - README updates
        + added metaconf.mk
        + clarifications
      - updated pci.ids location for hdt
      d77e1d8d
  16. 03 Nov, 2011 3 commits
    • Michael Shigorin's avatar
      syslinux and features · c91a2a09
      Michael Shigorin authored
      - syslinux: menu.c32 works
      - features: initial draft
        + memtest
      - mv pkg/ pkg.in/
        + server-base: include openssh-blacklist by default
      - mv isodata/ copy/
      - README: changed to utf8, added an URL
      c91a2a09
    • Michael Shigorin's avatar
      --as-needed for pkg/lists · d920c990
      Michael Shigorin authored
      As not every package list is useful for every distro,
      only the needed lists should be copied for a particular one.
      d920c990
    • Michael Shigorin's avatar
      working installer iso image · d91a3564
      Michael Shigorin authored
      - s/stage2/install2/g
      - added pkg/lists
      - initial README (ru_RU.KOI8-R)
      - mkimage topdir is in image.in/, really (off-tree build)
        + initial bin/mktmpdir
        + BUILDDIR (works)
      - s/cd/iso/
      - drop --with-distro (considered harmful)
      d91a3564