[PATCH] Hardlinked linux-user-chroot
by Joe Burmeister
Repository: ssh://git@roadtrain.codethink.co.uk/baserock/morph
Branch: joeburmeister/linux-user-chroot
Sha1: c4246955485a32798902f2536728442e84589931
The patch gives two things.
Improves morph build time by reusing decompressed files of
chunks/stage-fillers with hardlinks from the chroot. Rather than
decompressing each time into each chroot.
Original: real 5h 17m 47s
Hardlink: real 2h 52m 27s
It uses linux-user-chroot to create the chroot and make all but
the basics readonly.
Joe Burmeister (1):
Hardlinked chroot done with linux-user-chroot
morphlib/builder2.py | 41 +++++++++-------------------------
morphlib/stagingarea.py | 57 ++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 64 insertions(+), 34 deletions(-)
--
1.7.9.5
10 years, 9 months
[PATCH] assemble-stratum Improvements
by Ben Brewer
From: Ben Brewer <benbrewer(a)codethink.co.uk>
HASH: 05f4e2e5bbfdcb41a400ae3acb3ad44f4a93730f
REPO: ssh://git@trove.baserock.org/baserock/baserock/morph
BRANCH: benbrewer/assemble-stratum-improvement
This is a small set of basic improvements to the assemble-stratum script:
1. Errors cleanly when less than 2 arguments are provided.
2. Tar formats are now just gz or bz2 without the colon.
3. The third meta argument is now optional with a sane default.
Ben Brewer (1):
Define valid tar formats as gz/bz2. Error clearly when there
aren't enough arguments Make metafile argument optional and
default to args[0]+ '.meta'
scripts/assemble-stratum | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
--
1.7.9.5
10 years, 9 months
[PATCH] Make cache keys ignore unimportant fields
by Jonathan Maw
head: 36100edc77e8245b080343e12f59c26e35d66f2e
branch: jonathanmaw/cache-keys-less-rigorous
repo: ssh://git@trove.baserock.org/baserock/baserock/morph
This patch solves the problem where building with different branches,
or petrifying a morphology, causes everything that depends on a stratum
to rebuild.
Note: Because this patch changes cache key generation, it will
invalidate everything in the artifact cache.
Jonathan Maw (1):
Avoid rebuilds when unimportant morphology contents change
morphlib/cachekeycomputer.py | 8 +++++
...hology-contents-do-not-change-cache-keys.script | 41 ++++++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100755 tests.as-root/unimportant-morphology-contents-do-not-change-cache-keys.script
--
1.7.11.7
10 years, 9 months
[PATCH] Add a find-artifacts script that get every file needed
by Jonathan Maw
head: fa2282489f19507e3791437323e6f41bca2b6cde
branch: jonathanmaw/find-artifacts-rebase
repo: ssh://git@trove.baserock.org/baserock/baserock/morph
The previous patch submitted did not list everything required to rebuild
I.e. it only listed the artifact archive file, not any of the
accompanying files that contain metadata. This patch globs everything
that starts with the cache-key.
Since the last patch, the following changes were also made:
* The settings strings are more helpful.
* It only reads the files in the built image that end in .meta
* It uses self.output.write instead of print
Jonathan Maw (1):
Add find-artifacts script
scripts/find-artifacts | 123 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 123 insertions(+)
create mode 100755 scripts/find-artifacts
--
1.7.11.7
10 years, 9 months
[PATCH 0/2] Make ifup and ntpd start before network.target
by Richard Maw
Repo: git://git.baserock.org/delta/busybox
Ref: baserock/richardmaw/S5892/boot-sequencing
Sha1: 1f68cf95779d1ab018053dfd8a62a7e943919bd3
Merge-to: baserock/morph
This is required for being able to start services after the network
is ready.
ifup is definitely required to start network.target
ntpd is more debatable, since units may need the network, but
not the correct time, but it is a common assumption that the
time is correct, so starting it early in the process is useful,
and network.target is a good sequencing point.
Richard Maw (2):
Make network.target wait until after ifup@.service
Make ntpd.service finish after setting the time
scripts/ntpd-set.sh | 27 +++++++++++----------------
systemd-units/ifup@.service.in | 3 ++-
systemd-units/ntpd.service.in | 4 +++-
3 files changed, 16 insertions(+), 18 deletions(-)
--
1.7.5.4
10 years, 10 months
[PATCH] Add a find-artifacts script
by Jonathan Maw
head: 9df2e1044e7fc48ecf8c974ac21ef5ef36311db6
branch: jonathanmaw/find-artifacts-rebase
repo: ssh://git@git.codethink.co.uk/people/jonathanmaw/morph
This script takes a rootfs tarball of a system image, and looks in the
user's artifact-cache to find every artifact that was required to build
that image.
Jonathan Maw (1):
Add find-artifacts script
scripts/find-artifacts | 118 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 118 insertions(+)
create mode 100755 scripts/find-artifacts
--
1.7.11.7
10 years, 10 months
[PATCH] Hardlink chroot for morph, post review changes
by Joe Burmeister
Repository: ssh://git@trove.baserock.org/baserock/baserock/morph
Branch: joeburmeister/hardlink-chroots
Sha1: 4f3d88adbce702542add50acbf8adcd9969e4211
Hardlinked chroot for morph
Patch to improve morph build time by reusing decompressed files of
chunks/stage-fillers with hardlinks from the chroot. Rather than
decompressing each time into each chroot.
Original: real 5h 17m 47s
Hardlink: real 2h 52m 27s
Intergrated Richard Maw suggestions.
Joe Burmeister (1):
Hardlinked chroot for morph
morphlib/stagingarea.py | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
--
1.7.9.5
10 years, 10 months
[PATCH] Hardlinked chroot for morph
by Joe Burmeister
Patch to improve morph build time by reusing decompressed files of
chunks/stage-fillers with hardlinks from the chroot. Rather than
decompressing each time into each chroot.
Original: real 5h 17m 47s
Hardlink: real 2h 52m 27s
Joe Burmeister (1):
Hardlinked chroot for morph
morphlib/stagingarea.py | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
--
1.7.9.5
10 years, 10 months
[PATCH] Hardlinked chroot for morph (plus missing info)
by Joe Burmeister
Repository: ssh://git@trove.baserock.org/baserock/baserock/morph
Branch: joeburmeister/hardlink-chroots
Sha1: d712d5d5948829c6870a60a057cd3601d74489a7
Patch to improve morph build time by reusing decompressed files of
chunks/stage-fillers with hardlinks from the chroot. Rather than
decompressing each time into each chroot.
Original: real 5h 17m 47s
Hardlink: real 2h 52m 27s
Joe Burmeister (1):
Hardlinked chroot for morph
morphlib/stagingarea.py | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
--
1.7.9.5
10 years, 10 months
morph hardlink chroots
by Joe Burmeister
Hi guys,
Here's my patch to give morph hardlink chroots.
My branch is "joeburmeister/hardlink-chroots"
Here's the time results of building a complete devel-system image on my
virtual machine, with and without.
original: real 5h 17m 47s
Hardlink: real 2h 52m 27s
Unionfs-fuse: real 3h 18m 51s
I think we should look at in-kernel unionfs chroots still because it
would be less disk writes, good for SSDs. But for the time being
hardlinks are less writes then we are doing now, and much faster.
Joe
10 years, 10 months