Commit Graph

36 Commits

Author SHA1 Message Date
Michael Hudson-Doyle af508aec56 do not use net.ifnames=0 in geninstaller 2017-03-17 14:04:26 +13:00
Michael Hudson-Doyle 31d270c6c1 remove that silly grub splash image 2017-03-16 14:37:26 +13:00
Michael Hudson-Doyle a06b86380d disable cloud-init's network configuration in the installer and use netplan instead.
Addresses https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/1654381, at
least for images made with geninstaller.
2017-03-16 14:03:38 +13:00
Michael Hudson-Doyle fe39d3ec9d remove lots of garbage from installer cloud image config 2017-01-27 09:58:25 +13:00
Michael Hudson-Doyle ee0ff4a583 prevent cloud-init creating the default user
both in the installer image and target system

for https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/1659170
2017-01-25 16:14:57 +13:00
Mathieu Trudel-Lapierre ca9a99ef5d More tweaks to iamge build. 2016-11-24 16:23:31 -05:00
Ryan Harper 7042fd93f9 Filter out lxcbr0 from network autostart
Wily images and newer now contain a lxcbr0 by default.
Ignore this interface and don't attempt to dhcp autostart it.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-10-27 10:12:28 -05:00
Ryan Harper d048b58811 Fix install when using raid devices
RAID devices require special handling since they cannot be partitioned.
Adjust the blockdev model to accomodate this.
Fix sorting of our actions to handle proper ordering when using RAID devices
Implement whole-disk formatting view and controller
Update cloud-init configuration to ensure repeated runs of installer work

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-10-27 10:12:28 -05:00
Ryan Harper a5e14bcad9 Always make subiquity-tui available in /usr/local/bin
The subiquity service always expects subiquity-tui to be in
/usr/local/bin.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-30 12:48:21 -05:00
Ryan Harper aef1858e69 Unbreak make and installer script with subiquity-tui rename
After renaming bin/subiquity to bin/subiquity-tui we broke a
few things that invoked subiquity via bin/subiquity which is
now bin/subiquity-tui

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-29 16:17:00 -05:00
Ryan Harper 23d644037a Switch to single overlay dir
Instead of tracking many directories, we'll use only one
overlay directory to hold any scripts or change we want to
see applied over the base image.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-28 09:01:46 -05:00
Ryan Harper d85bb52a63 Finish enabling EFI boot mode
- Fix up issues with efi mode grub serial configuration
- Modify blockdev model to order storage configuration output
- Handle when we're running in uefi mode

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-22 22:19:54 -05:00
Ryan Harper df2c3c6aca Update grub2 configuration for UEFI
Update grub2 configuration for UEFI booting with fallback to bios mode.
Include new detection scheme so we don't list existing partitions of the
installer.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-22 13:21:14 -05:00
Ryan Harper acab44c1ec Update dhclient apparmor profile under overlayroot
With updated kernels, overlayroot programs will fail with
a disconnected_path error.  Resolve our use of dhclient by
adding the allow_disconnected flag to the profile.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-21 16:40:35 -05:00
Ryan Harper 2cf528d6d3 Fix serial mode
We can't use curses_display with an external event loop (tornado).  The good
news is that we don't have to.  Instead we switch to using agetty to bypass
login, specify the installer and options to execture.  This also handles
respawning the installer and works both on serial and without.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-09-14 16:40:28 -05:00
Ryan Harper 9836dd0cf2 Fix psuedo-random hangs on make run
Non-virtio nics get persistent names which require a 2 minute timeout
which slows the installer down.  Use net.ifnames=0 in grub config to
handle non virtio nics getting persistent names until a fix arrives.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-08-21 14:56:30 -05:00
Wesley Wiedenmeier 20a2870d32 Finished offline mode setup
- Removed package list from installer-user-data, and added a placemarker
   instead
 - geninstaller inserts the package list INSTALLER_DEPS into
   installer-user-data if OFFLINE is set to no, if OFFLINE is set to yes,
   geninstaller chroots into rootfs and does apt-get install for everything in
   INSTALLER_DEPS
2015-07-22 15:59:23 -05:00
Wesley Wiedenmeier bd2f6014e5 Cleaned up boot appearance
- Use 'quiet splash' for graphical, but display boot output when booting over
   serial
2015-07-20 10:27:20 -05:00
Wesley Wiedenmeier 117042f2b4 Fixed grub2 config to work without a vga card
- Try to set up both gfxterm and serial term, but if either fails,
   continue with the other.
2015-07-20 09:59:42 -05:00
Wesley Wiedenmeier a347eea9eb De-interlaced splash.png
- Grub2 does not support interlaced png
2015-07-18 21:25:43 -05:00
Wesley Wiedenmeier 7b374a1af7 Merge branch 'master' of github.com:CanonicalLtd/subiquity into grub2 2015-07-18 20:51:38 -05:00
Wesley Wiedenmeier 31af65f9cb Added support for serial consoles in grub2 menu 2015-07-18 20:47:36 -05:00
Wesley Wiedenmeier 5861890397 Added options to boot using serial or graphical tty 2015-07-09 15:43:34 -05:00
Wesley Wiedenmeier fbfebeb8ed Added loading part_msdos and part_gpt modules 2015-07-09 10:26:28 -05:00
Wesley Wiedenmeier a520cd897d Added default and timeout 2015-07-08 16:41:09 -05:00
Wesley Wiedenmeier d786eb2e86 Fixed font issue by manually loading unicode.pf2 2015-07-08 15:09:31 -05:00
Wesley Wiedenmeier 2cfe2ffe71 Added support for more advanced booting with grub2
- installer/geninstaller: when -b grub2 flag is given, installs grub2 using
   grub-install, copies installer/resources/grub/grub.cfg onto target
 - installer/resources/grub/grub.cfg: grub configuration that in addition to
   having a menuentry for the installer, scans all partitions on the system
   other than the one it is running from for linux installations and creates
   menuentries for the other installations as well, to deal with potential
   situations where the user reboots the system after installing but does not
   remove the installation disk
2015-07-08 14:21:42 -05:00
Ryan Harper 269af56576 Updated bootsplash
Less flashy for now.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-07-06 14:01:48 -05:00
Ryan Harper cd52672fd7 Hide floppy error output
Not clear how else to resolve this, possibly patch to upstream kernel
but unlikely. so let's disable the floppy disk in our VM.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-07-06 13:55:42 -05:00
Ryan Harper 2b06bdc1da Call curtin to complete install
- Use updated probert *Info class for accessing object data
- Add --dry-run parameter to prevent invoking curtin when testing
- Add new make target to run ui-view by default with --dry-run
- Use a template to write out curtin config file for installation
- Use virtio disks and multiple nics to test probing.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-07-06 12:34:24 -05:00
Ryan Harper fa80b0cabe Add probert to subiquity
Update subiquity welcome controller to call probert to extract
host information and present it to the user briefly before
invokin the curtin installer.

Add the install_src to git clone probert.  Pack this as a tarball
in the user-data like subiquity.

Update user-data package installs for new probert deps.

Modify boot parameters to handle systemd persistent nic naming;
we may not always have eth0 as a nic.  Subsequently update
user-data to use bootcmd to automatically attempt to bring up
nics during the boot before the installer.

Finally fix commandline parsing/output in geninstaller.
Implement version parameter and better caching of previous
maas ephemeral images.

Fix issue with removing cache after unpacking rootfs which is
now owned by root (add sudo to rm of cache).

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-06-25 21:12:42 -05:00
Ryan Harper 29c2d3301e Add new menu choices (text vs serial)
Controls whether we launch subiquity over serial or on the tty.
Add installer resource files as dependencies to force image
regen when modified.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-06-17 15:47:28 -05:00
Ryan Harper d3c0b55dbe Call curtin installer from subiquity
Hacky method, but in welcome controller, use subprocess to
call a script which invokes curtin at a known location with
a specific set of parameters.

Modify the installer configuration and start-up scripts to
ensure Subiquity runs on tty1 and keeps the service running.

Upon hitting 'Confirm' Subiquity will exec curtin_wrap.sh
which calls the *real* curtin.  Cloud-init user-data has been
modified to unpack the curtin archive embedded.

When complete, the target.img file is bootable.

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-06-17 15:47:23 -05:00
Adam Stokes b9807ed5b9 Fix timeout and stopping of systemd when chvt is run.
Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
2015-06-17 16:04:45 -04:00
Ryan Harper fc269dff06 Use subiquity inside the install image
- Tar up the subiquity code and inject that into the user-data
 - Add support for encoding when adding binary files
 - Until we have a way to detect serial presence, run installer on tty1
 - Add power_state hook to shut machine off after subiquity exits
 - git status ignore image file in installer dir

Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-06-16 14:45:05 -05:00
Ryan Harper a2ad7bf8ed Initial import of installer image building
Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
2015-06-15 14:38:51 -05:00