From 6c27a98c6a5207a29bffaeeb486479a2c24cd26c Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 10 Nov 2017 11:25:31 +0000 Subject: Add minimal-system-image-x86_64 This element produces a disk image that boots in QEMU. It has a kernel, BusyBox, and little else; but should be suitable as a basis for more grand endeavours. This disk image we produce is 53MB. I spent a while trying to get this as small as possible and this is as far as I got: * The boot partition seems to have a minimum size just over 32MB; lower than that and SYSLINUX fails to write the boot sector. The combined size of the initramfs and kernel is about 32MB, so I imagine that's what limits us. * The main partition is limited in size only by the amount of binaries that we put there. * We have a useless 40KB swap partition, which the x86image plugin insists on creating for us. Again 40KB is the minimum size that `mkswap` will allow. It's possible to override or modify the x86image plugin to avoid swap altogether but I'm not sure of the best way to proceed. There are a few dependency cleanups in the bsp-generic stack; previously we'd build the whole 'foundation' stack which took ages and wasn't needed at all. --- elements/deploy-tools/mtools.bst | 11 +++++++++++ elements/deploy-tools/parted.bst | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 elements/deploy-tools/mtools.bst create mode 100644 elements/deploy-tools/parted.bst (limited to 'elements/deploy-tools') diff --git a/elements/deploy-tools/mtools.bst b/elements/deploy-tools/mtools.bst new file mode 100644 index 00000000..354a1cfa --- /dev/null +++ b/elements/deploy-tools/mtools.bst @@ -0,0 +1,11 @@ +kind: autotools +depends: +- gnu-toolchain.bst +sources: +- kind: git + url: upstream:mtools + track: mtools-4.0.18 + ref: af0c3edb9706e470b45a9c8dd6debcc9e2d543c2 +config: + configure-commands: + - ./configure --prefix="%{prefix}" diff --git a/elements/deploy-tools/parted.bst b/elements/deploy-tools/parted.bst new file mode 100644 index 00000000..e1024f90 --- /dev/null +++ b/elements/deploy-tools/parted.bst @@ -0,0 +1,19 @@ +kind: autotools +depends: +- core.bst +sources: +- kind: git + url: upstream:parted + track: baserock/v3.2 + ref: 387e96e6eac59d84e9a688422b4b321ae9beaa20 + submodules: + gnulib: + url: upstream:gnulib +config: + configure-commands: + - sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf + - sed -i -e '/^buildreq="/,/^"/{/perl/d}' bootstrap.conf + - ./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib + - ./configure --prefix="%{prefix}" --disable-device-mapper + build-commands: + - make WERROR_CFLAGS="" -- cgit v1.2.1