1. 31 Jul, 2017 1 commit
    • Yann E. MORIN's avatar
      package/skeleton: drop dependency on host-mkpasswd · 7c1692df
      Yann E. MORIN authored
      
      
      Setting the root pasword is done in a target-finalize hook, so we do not
      need to enforce a dependency from the skeleton onto host-mkpasswd.
      
      Dropping that dependency will simplify making skeleton a virtual
      package (in up-coming changes).
      
      Instead, it is now selected as any other package. As such, it is
      guaranteed to be built before target-finalize.
      
      This however introduces a slight change in behaviour: previously,
      host-mkpasswd would only be built if we needed to hash the root password
      from its plain-text value. Now, host-mkpasswd is always built as soon as
      the root password is non-empty, even if already pre-hashed.
      
      Since host-mkpasswd is a really tiny weeny package bundled in Buildroot,
      with only two C files, built as a single unit with a single gcc call,
      the overhead is really minimal. Compared to the simplifications this
      will allow in the skeleton packages (plural: common, sysv, systemd,
      custom) to come, this overhead is acceptable.
      
      Yet another simplification, even if small, to ease providing multiple
      skeletons.
      
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      7c1692df
  2. 25 Jul, 2017 1 commit
    • Yann E. MORIN's avatar
      package/skeleton: remove legacy mkdir · dd8298a7
      Yann E. MORIN authored
      
      
      We've had this mkdir, in various forms, for aeons. It dates back to
      the inception of Buildroot, at the dawn of ages, when the toolchain
      support was still nascent. Evolution had it morph from /include, to
      a tuple-prefixed directory and a symlink there-to, then back to the
      /include directory, to the final /usr/include directory we've had
      for the last 9 years.
      
      Anything that wants to install headers is supposed to be creating
      that directory beforehand; we don't need this legacy mkdir now.
      
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Signed-off-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
      dd8298a7
  3. 22 Jul, 2017 6 commits
  4. 04 Jul, 2017 1 commit
    • Yann E. MORIN's avatar
      package/ifupdown-scripts: new package · 5fb1b867
      Yann E. MORIN authored
      
      
      The ifupdown scripts can be used independently of the init system, be it
      sysv, busybox or systemd; they could even be used when there is no init
      system (i.e. the user is providing his own).
      
      Currently, those ifupdown scripts are bundled in the skeleton.
      
      But we soon will have a skeleton specific to systemd, so we would be
      missing those scripts (when systemd-networkd is not enabled).
      
      So, move those scripts to their own package.
      
      To keep the current behaviour (before it is changed in future commits),
      we make that package default to y, but depend on the default skeleton.
      
      Instead of being a target-finalize hook, the scripts are installed as
      any other package are, with a package install-target command.
      
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Arnout Vandecappelle <arnout@mind.be>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
      Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
      [Thomas: drop empty IFUPDOWN_SCRIPTS_SOURCE]
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      5fb1b867
  5. 22 Apr, 2017 1 commit
  6. 29 Mar, 2017 1 commit
  7. 18 Jul, 2016 3 commits
  8. 05 Jul, 2016 1 commit
    • Yann E. MORIN's avatar
      package/skeleton: respect variables namespace · faece0a4
      Yann E. MORIN authored
      
      
      In makefiles, variables have global scope. We traditionally ensure that
      we get no name clashing by prefixing all variables with the package
      name.
      
      Currently, this is not the case in the skeleton package, for historical
      reasons (code snippets copied over from the common Makefiles). We
      currently have a mix of naming for the variables:
        - some are indeed prefixed with SKELETON_
        - some are prefixed with SYSTEM_
        - some are prefixed with both
        - some are not prefixed
      
      Clean up these discrepancies, and prefix all variables with just
      SKELETON_ and drop the SYSTEM_ prefix.
      
      Also include SET_ in all variables that do set something (getty) for
      consistency across all the variables.
      
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Reviewed-by: default avatarRomain Naour <romain.naour@gmail.com>
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      faece0a4
  9. 03 Jul, 2016 1 commit
  10. 24 May, 2016 1 commit
  11. 20 Jan, 2016 1 commit
  12. 11 Jan, 2016 1 commit
  13. 31 Dec, 2015 1 commit
  14. 28 Nov, 2015 2 commits
  15. 18 Nov, 2015 1 commit
    • Trent Piepho's avatar
      system: Fix for NFS booting with interface config via DHCP · 71c75a5e
      Trent Piepho authored
      
      
      Configuring the network interface with DHCP via
      /etc/network/interfaces generally does not work when NFS booting.  The
      DHCP configuration will initially bring the interface down and system
      then hangs at that point as the root filesystem is no longer
      accessable.
      
      This adds a script to be run via a pre-up line in
      /etc/network/interfaces.  It checks for a NFS root filesystem and if
      the interface to be configured is used for access to the NFS server.
      If this is the case, then it returns a failure code so that ifup will
      not configure the interface.  This works for DHCP and another config
      methods (static, bootp, etc.).  This system does detect if the
      interface to be configured isn't the one used for NFS and doesn't skip
      it when that is the case.
      
      NFS filesystems that aren't the root fs aren't considered.
      
      Fixes bug #4790.
      
      Signed-off-by: default avatarTrent Piepho <tpiepho@kymetacorp.com>
      Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      71c75a5e
  16. 10 Nov, 2015 3 commits
  17. 02 Nov, 2015 1 commit
  18. 14 Oct, 2015 1 commit
    • Yann E. MORIN's avatar
      system: add options for /bin /sbin and /lib to be symlinks into /usr · c5bd8af6
      Yann E. MORIN authored
      systemd is increasingly expecting things to live in /usr/bin, /usr/sbin
      or /usr/lib nad not in /bin, /sbin or /lib. It has inherited those
      expectations from a Fedora change:
          https://fedoraproject.org/wiki/Features/UsrMove
      
      
      
      Note however, that systemd does support /usr being on a separate
      filesystem; it just expects an initramfs to mount it before the final
      switchroot over to the actual rootfs.
      
      But the traditional use-case for Buildroot is not to boot with an
      initramfs; although that is totally feasible, that's probably not what
      is commonly done in the vast majority of cases.
      
      However, a lot of packages still install stuff directly into /bin,
      /sbin or /lib, which systemd may need early-on in the boot process,
      even before it may have a chance to mount /usr. Even though we can
      tell systemd, at configure-time, where it should expect programs to
      be at runtime, it does not make sense to go head-first against an
      upstream wa^Hill.
      
      Add an option so that /bin, /sbin and /lib be symlinks to /usr/bin
      and /usr/sbin. That option is forcibly enabled when the init system
      is systemd.
      
      Note: we need not handle /lib32 or /lib64, as they already are symlinks
      to /lib, which means they will automatically be redirected to /usr/lib,
      as /usr/lib32 and /usr/lib64 already are.
      
      Furthermore, this means we're no longer supporting a split-usr setup, so
      the corresponding configure options have been removed as well for
      systemd and, when using a merged /usr, for eudev as well.
      
      In Buildroot, we decided (with this patch) not to support a split-usr
      when systemd is used as an init system. This is a design decision, not
      a systemd issue. Thus the select is with BR2_INIT_SYSTEMD rather than
      with BR2_PACKAGE_SYSTEMD.
      
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Arnout Vandecappelle <arnout@mind.be>
      Cc: Mike Williams <mike@mikebwilliams.com>
      Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
      Cc: Baruch Siach <baruch@tkos.co.il>
      Tested-by: default avatarMike Williams <mike@mikebwilliams.com>
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      c5bd8af6
  19. 14 Jul, 2015 2 commits
    • Arnout Vandecappelle's avatar
      skeleton: use backtick instead of $(shell ...) make function · 0291f7c2
      Arnout Vandecappelle authored
      
      
      Only the instance for setting the root password is changed. The
      instance in SYSTEM_GETTY is harmless since it just uses echo and tail.
      
      If SKELETON_TARGET_GENERIC_ROOT_PASSWD is passed as a hashed password
      by the user, it contains $, so the '-quotes are needed. If it is not,
      we need the backtick to be expanded so "-quotes are needed. Therefore,
      the quoting is moved to the definition of SYSTEM_ROOT_PASSWORD.
      
      Signed-off-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      0291f7c2
    • Maxime Hadjinlian's avatar
      skeleton: New package · 7a6b83a2
      Maxime Hadjinlian authored
      
      
      Create a proper package for the skeleton.
      
      The main Makefile is modified to remove the skeleton support.
      The 'dirs' target, will create the $(TARGET_DIR).
      The file 'output/target/.root' doesn't exists anymore, as there's no
      Make rule to statisfy.
      
      The infrastructure are modified to filter host-skeleton.
      It's needed becauses the host-dependencies are derived from the
      dependencies of the target package where 'host-' is preprended to the
      depedency name.
      
      In the pkg-generic we add skeleton as a dependency to every package.
      
      The whole system/system.mk is now removed at the profit of
      package/skeleton/skeleton.mk
      
      [Thomas:
        - rebase on top of master and fix some minor conflicts
        - remove the 'select BR2_PACKAGE_SKELETON' in
          BR2_ROOTFS_SKELETON_DEFAULT and BR2_ROOTFS_SKELETON_CUSTOM, since
          anyway the skeleton package is always enabled.
        - fixup a few mistakes in the getty handling due to misnamed
          variables.]
      
      Signed-off-by: default avatarMaxime Hadjinlian <maxime.hadjinlian@gmail.com>
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      7a6b83a2