29 Commits

Author SHA1 Message Date
Balint Reczey
7cc9576845 Depend on packages instead of installing them at run time 2017-12-05 22:40:35 +01:00
Steve Langasek
6c56522961 divert /usr/bin/systemd-detect-virt as part of the grub diversions, so
that the grub kernel postinst hook is operational when we're building
in a container.  LP: #1729034.
2017-10-31 10:05:39 -07:00
Dimitri John Ledkov
22a8f817ca Now that grub-related diversions have been factored out in 2.466
instead of having bogus root=stuff arg generated in grub.cfg, it is
actually empty. Therefore update the sed command to make the arg in
the root= token optional. This should resolve non-booting livecd cpc
images.
2017-10-10 13:49:46 +01:00
Steve Langasek
b2fba90356 Fix the force-partuuid handling to create the file under
/etc/default/grub.d/ with a .cfg extension as grub expects; it's unclear
how this ever worked without.
2017-10-05 16:02:26 +02:00
Steve Langasek
b66cc28507 Factor out grub-related diversions and use them consistently, so we
don't end up with wrong os-probe output in our grub.cfg.
2017-10-05 16:01:04 +02:00
Balint Reczey
86ed851b5a Force partuuid in /etc/default/grub.d/* instead of in /etc/default/grub
This prevents ucf questions upon installation of changed /etc/default/grub
2017-09-28 09:38:23 -04:00
Steve Langasek
cd15b730f7 In a cloud environment, we can rely on the kernel being able to boot the
root filesystem directly, without an initramfs; enable this when
building minimized.
2017-09-28 09:38:21 -04:00
Steve Langasek
9c9e8c4e4f Mount using --make-rslave to ensure safe unmounts for rbind mounts 2017-09-26 01:10:15 -04:00
Steve Langasek
f16611774f * Improve teardown_mountpoint to recursively find all submounts and
unmount them, instead of working from a hard-coded list.  This makes
  the code resilient against other submounts being added later, including
  downstream.
* Also nuke the sleep / udevadm settle calls in the process, which should
  never be required and slow down the builds.
2017-09-19 13:45:37 -07:00
Robert C Jennings
a623618e2c Install udev before calls to udevadm 2017-09-13 21:05:22 -05:00
Robert C Jennings
0acda846dd live-build/ubuntu-cpc/functions: Add teardown_mountpoint to reverse setup_mountpoint
* live-build/ubuntu-cpc/functions: Add a function, teardown_mountpoint,
  to reverse the work done in setup_mountpoint.  Lack of this function
  has forced users of setup_mountpoint to implement this separately
  and the implementations have diverged. (LP: #1716992)
* live-build/ubuntu-cpc/functions: Remove umount_settle function.
  The was only used where teardown_mountpoint was lacking.
2017-09-13 13:18:03 -05:00
Steve Langasek
11a92795fe live-build/ubuntu-cpc/functions: call apt-get update in the chroot
after mounting a blank /var/lib/apt, so that further operations work
as expected.
2017-09-12 13:25:55 -07:00
Steve Langasek
3fdf3933ed Fix suppression of kpartx error. LP: #1684090. 2017-09-11 14:34:09 -07:00
Steve Langasek
314a6b95a3 Mount and unmount /dev recursively, to cope with setups where there are
interesting bind-mounts under /dev (e.g. loop devices bind-mounted by
LXD).  LP: #1716465.
2017-09-11 14:33:23 -07:00
Steve Langasek
95aabdf668 live-build/ubuntu-cpc/functions: mount tmpfs on /var/cache/apt and
/var/lib/apt, so we don't have to leave empty space in our derivative
images for packages that have been downloaded/installed/removed.  This
normally isn't relevant for the installed system, since the root
filesystem will auto-expand in place on the target disk, but lets us
ship smaller images.
2017-08-25 15:30:05 -07:00
Balint Reczey
2569995de8 Work around kpartx's nonzero exit due to "Device or resource busy" errors
which still permit kpartx to finally remove loop device (LP: #1684090).
Also sync before calling kpartx to let writing to loop devices finish.
2017-05-12 21:20:22 +02:00
Daniel Watkins
ececc9789d Add replace_grub_root_with_label function
When update-grub is run, it will detect the disks in the build system.
Currently, we sed the grub configuration in places where this happens;
replace_grub_root_with_label moves that seddery in to a single callable
location to avoid ending up with multiple versions of it.

(It's worth noting that we also do this in 999-cpc-fixes.chroot, but as our
functions file isn't available within the chroot we don't use it there.)
2017-03-17 13:35:37 -05:00
Steve Langasek
e51a8f8aef Make sure we still mount the kernel filesystems in the disk setup
We skip the previous unmount/remount behavior because that makes things
unwieldly when there are multiple partitions; but we still have setup to do,
so that /dev is available for grub, etc.
2016-02-06 21:26:04 -08:00
Steve Langasek
e9d31ea96a Fix some thinkos in the loop device name handling 2016-02-06 18:21:49 -08:00
Steve Langasek
99cdaafd61 Refactor ubuntu-cpc hooks to allow us to handle images where the root
partition should not be partition 1.
2016-02-06 00:34:16 -08:00
Ben Howard
ca800e778b * ubuntu-cpc:
- fixed loop setup due to change of kpartx output
  - only use grub-install logic for Intel architectures
2016-02-02 13:10:06 -07:00
Ben Howard
7853f8b318 ubuntu-cpc:
- added ability to create derivative images
- added function to convert images to qcow2
- cleaned up the loop clean up logic
- added function to umount and settle devices
2015-12-07 11:42:49 -07:00
Michael Vogt
c97c00d749 manually merge upload of 2.359 2015-12-07 11:20:57 +01:00
Ben Howard
1855130ecc Pre-merge commit 2015-11-13 08:09:26 -07:00
Ben Howard
48a08042ed Fix 2015-11-12 18:52:33 -07:00
Ben Howard
4a752e14c0 Use standard tools for resize 2015-11-12 17:52:05 -07:00
Ben Howard
9a87b066cf Comment fixup 2015-11-12 17:33:47 -07:00
Ben Howard
e931fbeaa5 ubuntu-cpc: move vmdk creation code into common funtion to support Vagrant Box builds 2015-11-12 17:21:33 -07:00
Daniel Watkins
216762748b Move building of all architecture-specific CPC artifacts in to
Launchpad.
2015-11-06 09:54:59 +00:00