Commit Graph

12 Commits

Author SHA1 Message Date
Albert Hopkins be9f75a457 scripts: replace kernel.sh with build-kernel
This newer script is Python-based and smarter than the bash script.
2016-07-24 15:08:27 +00:00
Albert Hopkins 5d1b56c692 scripts: replace sync-stage3.sh with fetch-stage3
This new script is smarter and more powerful.  The only drawback is that
instead of rsync it uses HTTP.
2016-07-23 21:11:49 +00:00
Albert Hopkins 8494820fb3 scripts/kernel.sh: be smarter about kernel building
Also install the kernel as a "--oneshot" so it doesn't take up space in
the image.
2016-07-23 11:34:37 +00:00
Albert Hopkins 7bde1c5ab0 scripts/echo: don't use ANSI escapes if stdout is not a terminal 2015-12-17 21:26:47 +00:00
Albert Hopkins 05544efe41 kernel.sh: use long option names when calling emerge
idem.
2015-03-13 13:49:22 +00:00
Albert Hopkins c9a81d2806 The great systemd commit.
This change converts the appliances from openrc to systemd.  In addition,
systemd needs to at least be be installed on the build machine as we now
use systemd-nspawn instead of chroot/bind mounts do to the fact that
systemd-nspawn is much more robust and lese prone to errors.  In addition:

* All stage4 tarballs and images are now stored in the images/ directory by
  default.

* A package dir is now required and is set up in the packages/ directory by
  default.

* The portage directory is not unpacked in the chroot every time anymore
  and is instead bind-mounted from a directory by systemd-nspawn.  This is
  the portage/ directory by default.

* In addition there is a distfiles/ directory (by default) which is
  bind-mounted in the chroot.  It does what you'd probably expect.

* The Makefile learned new target, eclean, which will run eclean-dist and
  eclean-pkg to clean out obsolete distfiles and binary packages.

* The REMOVE_PORTAGE_TREE option is removed as portage is no longer
  installed.

* The unused/untested PRUNE_CRITICAL functionality has been removed.  I
  have no idea if it worked and if it didn't I didn't want to fix it.

* As appliances are always using systemd, UDEV is no longer optional.

* Timezones and hostnames are now handled by systemd (systemd-firstboot).

* Stage4 tarballs are now directly importable as systemd containers (and
  probably docker too though I haven't tested that yet).

* A number of packages (for example dhcpd, acpid) have been removed from the
  appliances when systemd provides equivalent functionality.

* We no longer override etc-update.conf.  There's no reason.

* A number of Makefile targets, checkpoints, temp files, etc have been
  removed as they are no longer needed.
2015-02-22 15:32:16 +00:00
Albert Hopkins 6050e549a0 scripts/sync-stage3.sh: Make work with x86
... until one of these days when I give up on 32-bit altogether.
2015-02-16 18:39:52 +00:00
Albert Hopkins f61e01f1dd sync_stage3: Use a helper script
The Makefile logic was lousy and broken.  Add a more robust helper script.
2015-02-16 18:03:44 +00:00
Albert Hopkins 4d066f719b scripts/kernel.sh: copy kernel .config before making mrproper.
Else it don't work :P
2014-06-14 21:52:04 +00:00
Albert Hopkins cf3dbf1dda scripts/kernel.sh: Run "make mrproper" after kernel install.
This allows "emerge --depclean" to completely clean out the kernel source
directory.
2014-06-13 11:18:26 +00:00
Albert Hopkins 2ecdbeae49 scripts/kernel.sh: Don't re-install kernel package that's already installed. 2014-06-13 11:16:25 +00:00
Albert Hopkins f79cc8a353 Move appliances/configs/scripts to seperate directories.
Instead of having everything in the root directory, split them in seperate
directories (appliances, scripts, & configs).  This makes things a little
tidier.

Also added a now Makefile target, appliance-list, that prints a list of the
available appliances.  The split directory change made this easier.
2014-06-09 02:26:17 +00:00