1. 19 Sep, 2014 1 commit
  2. 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
  3. 17 Dec, 2012 1 commit
  4. 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
  5. 25 Apr, 2012 1 commit
  6. 09 Apr, 2012 1 commit
    • Michael Shigorin's avatar
      stage2: tunable squashfs compression · fe58c46e
      Michael Shigorin authored
      The existing implementation would handle kernel differences
      just fine but a bit too automatically: if it sees xz support,
      that's what will end up being used (and if there's -Xbcj binary
      compression filter available for the target platform, it will
      be applied unequivocally either).
      
      It's perfectly suitabe for getting fine-tuned release images
      but is also a bit too resource-consuming while developing the
      image configuration which has no business with its compression.
      
      The one and only knob is SQUASHFS (see doc/variables.txt);
      to give an idea of the differences, here are some numbers
      for a mostly-binary (43% as per 99-elf-stats) webkiosk livecd
      and a rather less so (18%) flightgear one on a dual quad-core
      X5570 node (each mksquashfs run used up all the cores):
      
      SQUASHFS | live-webkiosk.iso | live-flightgear.iso
      ---------+-------------------+---------------------
      fast     | 3:30 / 130M       | 5:11 / 852M
      normal * | 3:37 / 100M       | 5:35 / 688M
      tight    | 3:50 / 98M        | 6:47 / 683M
      
      Thus if the knob isn't fiddled with, the defaults will allow
      for a reasonably fast build of a pretty slim image; if one is
      building a release or if a particular image is very sensitive
      being close to the media capacity then just add SQUASHFS=tight
      and see it a percent or two down on size.
      
      Please note that lzo/gzip-compressed images are also quicker
      to uncompress thus further helping with test iterations.
      
      Thanks to led@ and glebfm@ for helpful hints and questions.
      fe58c46e
  7. 11 Jan, 2012 1 commit
  8. 04 Jan, 2012 1 commit
  9. 21 Dec, 2011 1 commit
    • Michael Shigorin's avatar
      "if test ..." replaced by "if [ ... ]" · 180ed535
      Michael Shigorin authored
      Fixed up the remnants of the early style mix
      to correspond to the proposed doc/style.txt;
      the rationale being that
      
      	if [ ... ]; then
      		...
      		...
      	fi
      
      is the more readable construct among itself,
      
      	if test ...; then
      		...
      		...
      	fi
      
      and
      
      	[ ... ] && {
      		...
      		...
      	}
      
      due to the condition being more distinguishable
      when bracketed and the body more apparent as the
      one inside "if" and not any other block; the less
      obvious difference is that the final construct of
      the latter form is prone to the whole script exit
      status being non-zero if the condition isn't met.
      180ed535
  10. 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
  11. 04 Nov, 2011 15 commits
    • 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
      don't override targets for no reason · 2b90dffa
      Michael Shigorin authored
      2b90dffa
    • Michael Shigorin's avatar
      fixed stage1 for syslinux.iso · 2b47da98
      Michael Shigorin authored
      squashcfk.mk is not to be attempted to copy unconditionally,
      if we've got no kernel for stage2 there's no data (and hook)
      to create it there
      2b47da98
    • 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
      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
      moved stage1 scripts into feature.in/installer · 1a8d74e8
      Michael Shigorin authored
      All the three scripts depend on installer kernel presence in fact.
      When live/rescue are in place, these should be adjusted correspondingly,
      probably by moving them to some commonly used intermediate place.
      
      Changed stage1 banner too.
      1a8d74e8
    • 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
      stage1/Makefile: serialize prereqs · 71c59a45
      Michael Shigorin authored
      The problem rarely manifested itself on 8-way server
      in the form of attempt to copy ./syslinux while it
      wasn't there yet.  The proper fix should include
      interdependencies but this kluge works either;
      didn't observe this with other subprofiles.
      71c59a45
    • 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
  12. 03 Nov, 2011 4 commits
    • Michael Shigorin's avatar
      gfxboot brought to reasonable shape · a9e161b4
      Michael Shigorin authored
      Also included:
      - reworked syslinux feature inclusion
      - syslinux: s/textprompt/prompt/
      - README++
      a9e161b4
    • Michael Shigorin's avatar
      features' day · c8b578dd
      Michael Shigorin authored
      - get rid of $dest
      - work on features.in/syslinux
      - README++
      c8b578dd
    • Michael Shigorin's avatar
      distro.mk: functionalization · 9a8f8ef7
      Michael Shigorin authored
      - set(), add(), log()
        + special thanks to rider@ for log format feedback
      - simple debug facility
      - builds, installs and runs... again
      9a8f8ef7
    • 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